]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub-fstest.c: Remove variable length arrays.
[grub2.git] / ChangeLog
1 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-fstest.c: Remove variable length arrays.
4
5 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/osdep/linux/ofpath.c: Check return value of read.
8
9 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
12 computing crc32 rather than handling with md fundtions directly.
13
14 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
17 checking fwstart.img rather than md fundtions directly.
18
19 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * util/grub-mkrescue.c (main): Check that fread succeeded.
22
23 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * conf/Makefile.common: Remove -mexplicit-relocs and
26 -DUSE_ASCII_FALLBACK on yeeloong.
27
28 -DUSE_ASCII_FALLBACK is already added by font snippets.
29 -mexplicit-relocs isn't needed is compiler/assemblera are
30 configured properly.
31 If they're not we shouldn't attempt to fix it by ourselves.
32 Binary compare between before and after shows no difference.
33
34 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
37 sources in dependencies directly.
38
39 This was the only instance of "library" in core config. A bug was
40 reported that -fno-stack-protector wasn't passed to it. Instead of
41 figuring out why it failed just remove this construction used
42 needlessly.
43
44 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/osdep/unix/password.c (grub_password_get): Check that
47 fgets succeeded.
48
49 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
50
51 * docs/grub.texi (ls): Fix command description in case of a device name
52 passed as argument.
53
54 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
55
56 Eliminate variable length arrays in grub_vsnprintf_real.
57
58 A bit tricky because this function has to continue to work without
59 heap for short strings. Fixing prealloc to 32 arguments is reasonable
60 but make all stack references use 32-bit offset rather than 8-bit one.
61 So split va_args preparsing to separate function and put the prealloc
62 into the caller.
63
64 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
67 Fixes build for windows.
68
69 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * gentpl.py: Don't generate platform-dependent conditionals for
72 platform-independent targets.
73
74 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
75
76 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
77 references to mdadm from otherwise generic code.
78 (grub_util_exec_pipe): Likewise.
79 (grub_util_exec_pipe_stderr): Likewise.
80 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
81 This function calls vgs, not mdadm; adjust variable names
82 accordingly.
83
84 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
85
86 Generate Makefile.*.am directly from gentpl.py, eliminating the use
87 of Autogen. The Autogen definitions files remain intact as they
88 offer a useful abstraction.
89
90 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
91
92 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
93 into no-ops, and use it in programs that copy files but do not need
94 to take special care to sync writes (grub-mknetdir, grub-rescue,
95 grub-mkstandalone).
96
97 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
98
99 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
100 than hardcoding /usr/local/bin/xorriso.
101
102 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Add PCI command activation to all PCI drivers as required for coreboot
105 and maybe some other firmwares.
106
107 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
110 and non-Apple variants of efiemu compile.
111
112 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
113
114 * configure.ac: Add explicit check for linking format of
115 efiemu64; save it as EFIEMU64_LINK_FORMAT.
116 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
117 hardcoding linking format.
118
119 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
122 and not pkgdatadir.
123
124 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
125 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Add a --locale-directory option to grub-install and related tools.
128
129 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
130 --locale-directory option.
131 (enum grub_install_options): Add
132 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
133 * util/grub-install-common.c (grub_install_help_filter): Handle
134 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
135 (grub_install_parse): Likewise.
136 (get_localedir): New function to check for a user-provided option
137 before trying grub_util_get_localedir.
138 (copy_locales): Use get_localedir rather than
139 grub_util_get_localedir. Handle differing locale directory layouts.
140 (grub_install_copy_files): Likewise.
141
142 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
145 Don't rely on PATH_MAX.
146
147 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/genmoddep.awk: Use more portable && rather than and.
150
151 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
154 an object after data. While it doesn't seem right solution, it
155 works well enough and OSX isn't main compilation platform.
156
157 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
160 While it doesn't seem right solution, it works well enough and
161 OSX isn't main compilation platform.
162
163 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * configure.ac: Add -static to LDFLAGS when using apple linker to
166 prevent it from pulling in dynamic linker.
167
168 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
169
170 Apple assembly doesn't handle symbol arithmetic well. So define an
171 offset symbol in boot.S and use it.
172
173 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Apple assembly doesn't handle symbol arithmetic well. So instead
176 of getting addres of kernel_sector + 4 define kernel_sector_high.
177 It also makes code more readable.
178
179 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
180
181 With Apple assembly in .macro environvemnt you have to use $$ instead
182 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
183 to $$x on Apple and to $x on everything else.
184
185 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
188 OBJCONV.
189
190 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
193 and non-Apple. This instruction is shorter and faster,
194 so no reason not to use it on both.
195
196 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
199 .text when compiling for Apple.
200
201 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/term/arc/console.c: Add missing cast to silence warning.
204
205 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
208 %dx restore the probe worked on non-existant drive. Reorganize the
209 code a little bit to free 2 bytes necessary for push/pop.
210
211 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
214 Add missing cast to silence warning.
215
216 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
217
218 * util/grub-install.c (update_nvram): Support --no-nvram flag
219 for EFI targets.
220
221 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
224
225 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * util/garbage-gen.c: Add missing include of sys/time.h.
228
229 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
230
231 Don't add -mflush-func if it's not supported by compiler.
232
233 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Move common BIOS/coreboot memory map declarations to
236 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
237
238 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
239
240 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
241
242 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * INSTALL: Document why older clang versions aren't appropriate.
245
246 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * INSTALL: Document about clang for mips.
249
250 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
253 clang.
254
255 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
256
257 Add *-xen to the list of grub-install-common platforms.
258
259 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
262 3 last commits.
263
264 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
267
268 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
271 with -mcmodel=large.
272
273 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
276 range-checking for 32-bit quantities.
277
278 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * configure.ac: Compile with -fPIC when compiling with clang on
281 mips.
282
283 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
286 when compiling with clang.
287
288 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
289
290 clang emits calls to abort () under some unknown conditions.
291 Export abort () when compiling with clang.
292
293 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * docs/grub-dev.texi: Document stack and heap sizes.
296
297 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * include/grub/i386/pc/memory.h: Decrease
300 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
301 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
302 The binary doesn't change (checked). It's more to better reflect actual
303 usage.
304
305 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
308 at compile time that enough of scratch size is available.
309
310 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
313 Previously we misaligned stack by 8 in startup.S and compensated
314 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
315 right behaviour is to align stack in startup.S and keep it aligned
316 in callwrap.S. startup.S part was committed few commits before. This
317 takes care of callwrap.S.
318 Reported by: Gary Lin.
319
320 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
323 .data and .bss. May happen if compiler and assembly use different
324 alignment.
325
326 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
327
328 On MIPS handle got16 relocations to local symbols in an ABI-compliant
329 way.
330
331 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
332
333 Add support for a new magic symbol _gp_disp on mips to handle PIC
334 binaries.
335
336 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Use $t9 for indirect calls from asm to C as PIC ABI requires.
339
340 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
343 when rest of GRUB is compiled for hisher stepping. Instead use
344 .set mips3/.set mips1 around cache and sync opcodes.
345
346 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
347
348 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
349 do essentially the same thing, do it in similar way.
350
351 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
352
353 * util/grub-mkrescue.c (main): If a source directory is not
354 specified, read platform-specific files from subdirectories of
355 pkglibdir, not pkgdatadir.
356
357 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
358
359 * grub-core/normal/progress.c: Remove unused file.
360
361 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
364 array.
365
366 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
369 than grub.cfg.
370
371 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * coreboot.cfg: Add missing file.
374
375 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * Makefile.am: Allow STRIP to be empty when creating windowszip.
378
379 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
380
381 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
382 selectively skipping systems.
383
384 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
385
386 * Makefile.util.def (grub-mkimage): Add
387 grub-core/osdep/aros/config.c to extra_dist.
388 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
389 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
390 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
391 grub-core/gnulib-no-gets.diff.
392
393 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
394
395 Add automated filesystem checking based on scripts I've used now for
396 quite some time locally. Most of the test require root so they are
397 skipped when run without necessarry privelegies.
398
399 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
400
401 * util/grub-install.c (main): Adjust info messages to match
402 installed paths of grub-bios-setup and grub-sparc64-setup.
403
404 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
405
406 * util/grub-install-common.c (copy_locales): Consistently use
407 grub_util_get_localedir () rather than LOCALEDIR.
408 (grub_install_copy_files): Likewise.
409
410 2013-11-19 Josh Triplett <josh@joshtriplett.org>
411
412 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
413 16-byte boundary, as required by the x86-64 ABI, before calling
414 grub_main. In some cases, GCC emits code that assumes this
415 alignment, which crashes if not aligned. The EFI firmware is also
416 entitled to assume that stack alignment without checking.
417
418 2013-11-18 Josh Triplett <josh@joshtriplett.org>
419
420 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
421 4k page boundaries as expected by firmware rather than 1k
422 boundaries.
423 (grub_mmap_malign_and_register): Likewise.
424
425 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
428 fragmentation 512M is enough.
429
430 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
433 pointer to 32K. This is the size of cache element which is the most
434 common allocation >1K. This way the pointer is always around blocks
435 of 32K and so we keep performance while decreasing fragmentation.
436
437 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
440 current memory when allocating large chunks. This significantly
441 decreases memory fragmentation.
442
443 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
444
445 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
446 but for symmetry).
447 * tests/lzocompress_test.in: Skip if lzop is not installed.
448 * tests/xzcompress_test.in: Skip if xz is not installed.
449
450 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
451
452 * util/grub-mkrescue.c (main): Fix typo.
453
454 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
457 clock frequency to 200 MHz,
458
459 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * tests/util/grub-shell.in: Increase console size to 1024x1024.
462
463 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * Makefile.am (default_payload.elf): Add pata to loaded modules.
466 Load config file from (cbfsdisk)/etc/grub.cfg.
467
468 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * util/grub-install-common.c (grub_install_copy_files): Fix module
471 destination directory.
472
473 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
474
475 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
476 files have not been built.
477
478 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
479
480 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
481 Handle errors from mkstemp.
482 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
483
484 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
487 on primary master on pseries.
488
489 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
492 already loaded. This saves memory needed for tests,
493
494 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
497 work again.
498
499 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
502 work again.
503
504 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
507 master since with some combinations of qemu and firmware only primary
508 IDE channel is available.
509
510 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
513 low-memory platforms where we don't have enough memory for them.
514 * grub-core/tests/videotest_checksum.c: Likewise.
515
516 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
519 already loaded. This saves memory needed for tests,
520
521 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Fix handling of install lists.
524
525 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
528
529 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
530
531 On i386-ieee1275 we run in paged mode. So we need to explicitly map
532 the devices before accessing them.
533
534 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
537 as file argument.
538
539 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
542
543 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
546 (grub_file_close): Free file->name.
547
548 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/commands/verify.c (free_pk): Plug memory leak.
551 (grub_load_public_key): Likewise.
552 (grub_verify_signature_real): Likewise.
553 (grub_cmd_verify_signature): Likewise.
554
555 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
558 memory leak.
559
560 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
563 (grub_longjmp): Restore r31.
564 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
565
566 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
569 modules to be in line with make_image_abs.
570
571 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
574
575 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
576
577 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
578
579 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
580
581 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
584 to leave some memory to firmware.
585
586 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
589 of loading gfxterm as gfxterm is embed in kernel on some platforms.
590 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
591 Load gfxmenu.
592
593 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
596 now needs full arguments.
597
598 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * util/grub-mkrescue.c (main): Add trailing \n in
601 .disk_label.contentDetails to be in line with previous shell script.
602
603 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
606
607 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-install-common.c (grub_install_parse): Recognize
610 --compress=none like shell script did.
611
612 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * include/grub/misc.h: Replace check for __sparc64__ with one for
615 __sparc__ as __sparc64__ isn't actually defined.
616
617 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
620 counterpart of fixing the naming of escc ports.
621
622 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * util/grub-install-common.c (platforms): Fix the order of entries and
625 remove useless field val.
626
627 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub-install.c: Add new option --no-bootsector to skip
630 installing of bootsector. Accept --grub-setup=/bin/true as
631 backwards-compatible synonym.
632
633 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
634
635 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
636 order of qsort arguments (number of elements vs. element size).
637
638 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
639
640 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
641 the function of these files exceeds what can be sanely handled in shell
642 in posix-comaptible way. Also writing it in C extends the functionality
643 to non-UNIX-like OS and minimal environments.
644
645 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
648 compiling to thumb2.
649 * grub-core/kern/arm/cache_armv7.S: Likewise.
650 * grub-core/lib/arm/setjmp.S: Likewise.
651
652 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
653
654 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
655 in grub_uboot_syscall
656
657 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Decrease stack usage in lexer.
660
661 We have only 92K of stack and using over 4K per frame is wasteful
662
663 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
664 as macros so that compiler would remove useless structure on stack.
665 Better solution would be to fix flex not to put this structure on
666 the stack but flex is external program.
667
668 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Decrease stack usage in signature verification.
671
672 We have only 92K of stack and using over 4K per frame is wasteful
673
674 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
675 rather than stack.
676 (grub_verify_signature_real): Likewise.
677
678 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Decrease stack usage in mdraid 0.9x.
681
682 We have only 92K of stack and using over 4K per frame is wasteful
683
684 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
685 rather than stack.
686
687 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Decrease stack usage in BtrFS.
690
691 We have only 92K of stack and using over 4K per frame is wasteful
692
693 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
694 rather than stack.
695
696 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
697
698 Decrease stack usage in JFS.
699
700 We have only 92K of stack and using over 4K per frame is wasteful
701
702 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
703 stack. Note: this function is recursive.
704 (grub_jfs_read_inode): Read only part we care about.
705
706 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
707
708 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
709 handling
710
711 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
712
713 * configure.ac: Restore -nostdlib for libgcc symbols tests.
714
715 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
716
717 * docs/grub.texi (Environment): Document cmdpath.
718
719 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
720
721 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
722 Remove "unused" attribute from arguments, they are used.
723
724 2013-11-15 Colin Watson <cjwatson@debian.org>
725
726 * .gitignore: Only ignore grub-mk* at the top level.
727
728 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
729
730 * util/grub-reboot.in (usage): Fix a typo.
731
732 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
733
734 Replace libgcc version of ctz with our own.
735
736 On upcoming arm64 port libgcc ctz* are not usable in standalone
737 environment. Since we need ctz* for this case and implementation is
738 in C we may as well use it on all concerned platforms.
739
740 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * configure.ac: Probe for linking format rather than guessing it based
743 on target_os.
744
745 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
748 "1" prior to handoff.
749
750 Reported by: M A Young.
751
752 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
755 \0 to all files.
756
757 Reported by: M A Young.
758
759 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
762 compilation on NetBSD.
763
764 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * acinclude.m4: Don't add -P on initial nm test.
767
768 Note: even though this patch postdates Andrey's it bears 14 Nov as
769 date due to timezone difference.
770
771 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
772
773 * grub-core/Makefile.core.def (signature_test): Add missing
774 tests/signatures.h.
775
776 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
777
778 * util/grub-install_header: Set localedir here, since this file is
779 where it's used.
780 * util/grub-install.in: Remove setting of localedir.
781 * util/grub-mkrescue.in: Likewise.
782
783 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
786
787 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * configure.ac: Move nm checks to the end.
790 Call grub_PROG_NM_WORKS.
791 * acinclude.m4: New check grub_PROG_NM_WORKS.
792 Use $TARGET_CFLAGS -c when compiling test binary.
793
794 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
795
796 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
797 unused variables.
798
799 2013-11-14 Matthew Garrett <mjg@redhat.com>
800
801 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
802 cmdpath to firmware directory.
803
804 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
807 at the start of second iteration.
808
809 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
812
813 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * Makefile.am (default_payload.elf): New target for easier coreboot
816 build.
817
818 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
821 clang (not necessarry with -no-integrated-as).
822 * include/grub/symbol.h [__arm__]: Likewise.
823
824 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * configure.ac: Use -no-integrated-as on arm with clang.
827 * INSTALL: Mention ARM compilation with clang.
828
829 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
832 -mthumb-interwork.
833
834 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
835
836 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
837 code for indirect block handling.
838
839 Saves 185 bytes on compressed image.
840
841 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
842
843 Fix make clean.
844
845 * Makefile.am: Remove build-grub-* in make clean.
846
847 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
848
849 New files to gitignore.
850
851 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
852 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
853
854 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
855
856 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
857
858 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
859
860 * .gitignore: fix rules for .dep* and add *.a post git migration
861
862 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
863
864 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
865 to match INSTALL.
866
867 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
868
869 * grub-core/kern/misc.c: Don't redirect divisions in the
870 GRUB_UTIL case.
871 * include/grub/misc.h: Likewise.
872
873 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
874
875 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
876 systems that require checking the return value of write.
877
878 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
879
880 * util/grub-install.in (efi_quiet): Fix inverted logic: make
881 efibootmgr quiet when --debug is not used, rather than when it is.
882
883 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
884
885 * gentpl.py (define_macro_for_platform_dependencies): Remove
886 first (and thus unused) of two definitions for this function.
887 (platform_dependencies): Likewise.
888
889 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
890
891 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
892 functions, we only need to check this for the target, not the host.
893 * configure.ac (grub_apple_cc): Likewise.
894
895 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
898 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
899 asm to stay in arm even if surrounding is thumb.
900
901 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
904 helper functions are needed for thumb.
905
906 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
909 level / 3 division explicitly unsigned. Saves few bytes.
910
911 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
914
915 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
918 division.
919
920 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
923 grub_uboot_boot_data to asm part.
924
925 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
928 literal load.
929 (grub_uboot_syscall): Save/restore r9 and align stack.
930
931 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
934
935 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
938 occurencies with END.
939
940 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
941
942 * util/grub-editenv.c (help_filter, argp): Document how to delete
943 the whole environment block.
944 Reported by Dan Jacobson. Fixes Debian bug #726265.
945
946 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
947
948 * docs/grub.texi (Internationalisation, Supported kernels): Fix
949 sectioning.
950
951 2013-11-13 Josh Triplett <josh@joshtriplett.org>
952
953 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
954 increment/decrement.
955
956 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
959 compiling with clang.
960
961 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
964 ".".
965
966 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
967
968 Redirect all divisions to grub_divmod64.
969
970 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
973
974 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Add missing includes of loader.h.
977
978 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * configure.ac: Allow disabling themes.
981
982 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
983
984 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
985
986 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
989 until it becomes operational.
990
991 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * grub-core/Makefile.core.def (legacy_password_test): Disable
994 on platforms where no legacycfg is compiled.
995 * grub-core/tests/lib/functional_test.c: Tolerate failure to
996 load legacy_password_test.
997
998 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1001
1002 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1005
1006 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1009 strict-aliasing warning.
1010 (fsync): Silence cast warning.
1011
1012 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/commands/verify.c: Remove variable length arrays.
1015 Load gcry_dsa/gcry_rsa automatically.
1016
1017 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/tests/signature_test.c: New test.
1020
1021 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1024 API.
1025
1026 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1029 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1030
1031 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1034
1035 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/fs/proc.c: Allow \0 in proc files.
1038
1039 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1042
1043 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1046
1047 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/fs/ext2.c: Remove variable length arrays.
1050
1051 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1054 length arrays.
1055
1056 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1059 * grub-core/disk/cryptodisk.c: Likewise.
1060 * grub-core/disk/geli.c: Likewise.
1061 * grub-core/disk/luks.c: Likewise.
1062
1063 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/tests/legacy_password_test.c: New test.
1066 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1067
1068 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1071
1072 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/tests/pbkdf2_test.c: New test.
1075
1076 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1079
1080 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/io/lzopio.c: Remove variable length arrays.
1083
1084 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * include/grub/crypto.h: Add maximums on hash size and cipher block
1087 size.
1088
1089 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1092
1093 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/tests/xnu_uuid_test.c: New test.
1096
1097 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1100 covers it).
1101
1102 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/commands/hashsum.c: Remove variable length arrays.
1105
1106 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1109 condition.
1110 * tests/grub_func_test.in: Increase memory allocation.
1111
1112 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1115 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1116 sys/mount.h.
1117
1118 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1121 (grub_util_get_fd_size_os): ...this.
1122 (grub_hostdisk_flush_initial_buffer): New empty function.
1123
1124 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1127 without --defined-only.
1128
1129 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1132 rip-relative addressing in prologue.
1133
1134 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1137 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1138
1139 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1142 Add missing semicolon.
1143
1144 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1147
1148 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * configure.ac: Check for lzma.h for enabling liblzma and allow
1151 manual disabling.
1152
1153 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 Add missing includes of loader.h.
1156
1157 2013-11-11 Fam Zheng <famcool@gmail.com>
1158
1159 * util/grub.d/30_os-prober.in: Add minix entry.
1160
1161 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1164 right buffer for temporary load.
1165
1166 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1169
1170 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1173 payload.
1174
1175 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1178 not Types.h.
1179 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1180 environment.
1181 (LzmaDec_InitDicAndState): Make static.
1182
1183 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1186
1187 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1190
1191 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1192
1193 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * docs/grub-dev.texi: Replace bzr references with git ones.
1196
1197 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1198
1199 * docs/grub.texi (Simple configuration): Remove reference to
1200 grub-reboot from saved default entry description - grub-default
1201 does not use it anymore.
1202
1203 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1206 compiled with.
1207
1208 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1209
1210 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1211
1212 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 Fix grub_machine_fini bitrot.
1215
1216 Reported by: Glenn Washburn.
1217
1218 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1221
1222 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1225 -DELF.
1226 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1227 instead of ELF*.
1228
1229 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1232 Add -march=core2 when testing compile of efiemu64.
1233
1234 Thanks Andrey Borzenkov for spotting this.
1235
1236 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1239 XEN PV environment and load kernels.
1240
1241 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1244 * grub-core/loader/multiboot_mbi2.c: Likewise.
1245
1246 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1249 handling.
1250
1251 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1254
1255 Tested by: Denis 'GNUtoo' Carikli.
1256
1257 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1260
1261 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1264 Use to get rounded angle rather than truncated.
1265
1266 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * grub-core/term/serial.c: Add option for enabling/disabling
1269 RTS/CTS flow control.
1270
1271 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1274 divisions.
1275
1276 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1279 Use grub_fatal rather than divide by zero.
1280 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1281
1282 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1285 truncate.
1286 (grub_fixed_fsf_divide): Likewise.
1287
1288 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1291 division by-zero and senseless negative divisions.
1292
1293 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1296 division by-zero and senseless negative divisions.
1297 (circprog_set_property): Don't accept negative num_ticks.
1298
1299 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1302 division by-zero and senseless negative divisions.
1303
1304 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * configure.ac: Use elf_*_fbsd on kfreebsd.
1307
1308 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/tests/div_test.c: New test.
1311
1312 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1313
1314 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1315 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1316 * grub-core/gfxmenu/view.c: Likewise.
1317 * grub-core/video/fb/video_fb.c: Introduce new functions:
1318 grub_video_set_area_status, grub_video_get_area_status,
1319 grub_video_set_region, grub_video_get_region.
1320 * grub-core/video/bochs.c: Likewise.
1321 * grub-core/video/capture.c: Likewise.
1322 * grub-core/video/video.c: Likewise.
1323 * grub-core/video/cirrus.c: Likewise.
1324 * grub-core/video/efi_gop.c: Likewise.
1325 * grub-core/video/efi_uga.c: Likewise.
1326 * grub-core/video/emu/sdl.c: Likewise.
1327 * grub-core/video/radeon_fuloong2e.c: Likewise.
1328 * grub-core/video/sis315pro.c: Likewise.
1329 * grub-core/video/sm712.c: Likewise.
1330 * grub-core/video/i386/pc/vbe.c: Likewise.
1331 * grub-core/video/i386/pc/vga.c: Likewise.
1332 * grub-core/video/ieee1275.c: Likewise.
1333 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1334 * include/grub/video.h: Likewise.
1335 * include/grub/video_fb.h: Likewise.
1336 * include/grub/fbfill.h: Updated render_target structure.
1337 grub_video_rect_t viewport, region, area
1338 int area_offset_x, area_offset_y, area_enabled
1339 * include/grub/gui.h: New helper function
1340 grub_video_bounds_inside_region.
1341 * docs/grub-dev.texi: Added information about new functions.
1342
1343 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1346 for alignment.
1347
1348 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1351 missing attribute.
1352 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1353
1354 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1357 simple division on arm and ia64.
1358
1359 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1362 link with libgcc.
1363
1364 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1367
1368 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1371 prefix symbol, not @.
1372
1373 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * INSTALL: Add note about older gcc and clang.
1376
1377 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1380
1381 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1384 NULL pointer dereference.
1385
1386 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1389 clang.
1390
1391 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1394 warnings.
1395
1396 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1399 function.
1400 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1401 * grub-core/disk/geli.c (ascii2hex): Likewise.
1402
1403 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * configure.ac: Run linker tests without -Werror.
1406 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1407 Change all occurences of -static-libgcc resp -lgcc to
1408 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1409
1410 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1413
1414 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 Allow compiling with clang (not really supported though).
1417
1418 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1419 unconditionally.
1420 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1421 Add -mrtd -mregparm=3 on i386 when not using clang.
1422 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1423
1424 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1427 bindings.
1428 * grub-core/lib/reed_solomon.c: Likewise.
1429 * include/grub/i386/gdb.h: Likewise.
1430 * include/grub/i386/pc/int.h: Likewise.
1431 * include/grub/i386/pc/pxe.h: Likewise.
1432 * include/grub/ieee1275/ieee1275.h: Likewise.
1433
1434 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 Import libgcrypt 1.5.3.
1437
1438 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * configure.ac: Don't add -Wcast-align on x86.
1441
1442 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * configure.ac: Add -freg-struct-return on all platforms that
1445 support it.
1446
1447 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * acinclude.m4: Use -Werror on parameter tests.
1450 * configure.ac: Likewise.
1451
1452 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1455
1456 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * configure.ac: Check that -malign-loops works rather than assuming that
1459 either -falign-loops or -malign-loops work.
1460
1461 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1464
1465 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * configure.ac: Prevent cflags leaking to subsequent tests by always
1468 resetting cflags to target_cflags in target tests.
1469
1470 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1473 function.
1474
1475 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1478
1479 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1482
1483 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/normal/cmdline.c (grub_cmdline_get):
1486 Remove nested functions.
1487
1488 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * tests/test_sha512sum.in: Make it work on emu.
1491
1492 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1495 functions.
1496 (grub_bidi_line_logical_to_visual): Likewise.
1497
1498 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Remove vestiges of -Wunsafe-loop-optimisations.
1501
1502 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1503 -Wno-unsafe-loop-optimisations.
1504 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1505 pragma.
1506 * grub-core/io/gzio.c: Likewise.
1507 * grub-core/script/parser.y: Likewise.
1508 * grub-core/script/yylex.l: Likewise.
1509 * util/grub-mkfont.c: Likewise.
1510
1511 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * util/grub-mkfont.c (process_cursive): Remove nested function.
1514
1515 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1518 (grub_boot_time): Likewise.
1519
1520 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * include/grub/symbol.h (FUNCTION): Use @function rather than
1523 "function".
1524 (VARIABLE): Likewise.
1525
1526 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1529
1530 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1533 (parse_dhcp_vendor): Likewise.
1534
1535 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1538
1539 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1542 Define after defining type and not before.
1543
1544 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1547 type.
1548 (grub_gcm_decrypt): Likewise.
1549 (algo_decrypt): Likewise.
1550 (grub_zfs_decrypt_real): Transform error type.
1551
1552 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1555
1556 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1559 (grub_usbms_cbi_reset): Likewise.
1560 (grub_usbms_bo_reset): Likewise.
1561 (grub_usbms_reset): Likewise.
1562 (grub_usbms_attach): Likewise.
1563 (grub_usbms_transfer_cbi): Likewise.
1564
1565 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1568 "checksum = checksum;".
1569
1570 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1573 entry_type.
1574
1575 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1578 BIOS disk check.
1579
1580 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1583 type.
1584 (grub_ehci_fini_hw): Likewise.
1585 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1586
1587 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1590 return grub_usb_err_t for cosistency. All users updated.
1591
1592 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1595 assigning to itself.
1596
1597 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
1598 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1599
1600 Issue separate DNS queries for ipv4 and ipv6
1601
1602 Adding multiple questions on a single DNS query is not supportted by
1603 most DNS servers. This patch issues two separate DNS queries
1604 sequentially for ipv4 and then for ipv6.
1605
1606 Fixes: https://savannah.gnu.org/bugs/?39710
1607
1608 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1609 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1610 * (grub_net_dns_lookup): Now using separated dns packages.
1611 * (grub_cmd_nslookup): Add error condition.
1612 * (grub_cmd_list_dns): Print DNS option.
1613 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1614 --prefer-ipv4, and --prefer-ipv6.
1615 * include/grub/net.h (grub_dns_option_t): New enum.
1616 * (grub_net_network_level_address): option added.
1617
1618 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1619
1620 * grub-core/video/fb/video_fb.c: Merge two blit functions
1621 into one.
1622
1623 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/term/terminfo.c: Add sequences for home and end.
1626
1627 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1630 graphics console.
1631
1632 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1635 add mode 0x12.
1636
1637 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1640 e-mail by Per Öberg.
1641
1642 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1645 name.
1646
1647 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1648
1649 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1650 emu platforms.
1651 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1652
1653 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * docs/grub.texi: Document usage of menuentry id.
1656
1657 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1660
1661 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1662
1663 * grub-core/commands/i386/nthibr.c: New command.
1664
1665 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1668
1669 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1672 coordinate.
1673
1674 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 Support GRUB_DISABLE_SUBMENU config.
1677
1678 Inspired by patch from Prarit Bhargava.
1679
1680 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * docs/grub.texi: Mention RSA support.
1683
1684 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/commands/verify.c: Add RSA support.
1687
1688 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1691 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1692 device is known to be ATAPI.
1693
1694 2013-11-03 Mike Frysinger <vapier>
1695
1696 * configure.ac: Don't add target-prefix.
1697
1698 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1701 variables.
1702
1703 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1706 if language is English.
1707
1708 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1711
1712 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * configure.ac: Don't add -m32/-m64 on emu.
1715
1716 2013-11-02 neil
1717
1718 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1719 broken linux headers.
1720
1721 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1724
1725 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1728 Reed-Solomon recovery if more than half of redundancy info is 0.
1729
1730 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * util/grub-mount.c: Handle symlinks to directories.
1733
1734 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1737 find_file recursively for symlink.
1738
1739 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * tests/util/grub-shell.in: Copy themes.
1742
1743 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1746
1747 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * configure.ac: Use 0x8000 for address instead of 8000.
1750
1751 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1754 signature.
1755
1756 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1759 variable.
1760
1761 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1764
1765 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1768 file_progress_read_hook.
1769 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1770
1771 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1774 and double.
1775
1776 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1779
1780 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 Rewrite blocklist functions in order to get progress when
1783 reading large extents and decrease amount of blocklist hook calls.
1784
1785 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1788 of SI suffixes.
1789
1790 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Support --base-clock for serial command to handle weird cards with
1793 non-standard base clock.
1794
1795 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1798 strncpy.
1799 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1800 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1801 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1802 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1803 + strcpy rather than strncpy.
1804
1805 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1808 (check_pool_label): Likewise. Fixes overflow.
1809 (nvlist_find_value): Fix comparison.
1810
1811 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1814 more appropriate functions.
1815
1816 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1819 realloc.
1820
1821 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1824
1825 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1828 on core size.
1829
1830 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1833
1834 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1837 (initialize_tables): reset tl and td to NULL after freeing.
1838
1839 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1842
1843 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1846 of supported tags.
1847
1848 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1851
1852 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1855 quirks.
1856
1857 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1860 a page in protected space.
1861
1862 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1865 allocate space for zero-sized modules.
1866
1867 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1870
1871 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1872
1873 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1874
1875 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1878 safeguards. Fixes a crash with i386/pc/console.c.
1879
1880 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1883 and grub_hostfs_init.
1884
1885 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1888 windows method on other platforms without good stat as well.
1889
1890 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1893
1894 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 Make / in btrfs refer to real root, not the default volume.
1897 Modify mkrelpath to work even if device is mounted with subvolid option.
1898
1899 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1900
1901 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
1902 extra_dist.
1903 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1904 extra_dist.
1905
1906 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1909 fails.
1910
1911 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1912
1913 * docs/autoiso.cfg: New file.
1914
1915 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1918 COND_GRUB_PE2ELF conditions.
1919
1920 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1923 "vnd", "rd" and "fd" disks.
1924
1925 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Move grub_disk_write out of kernel into disk.mod.
1928
1929 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1932 handling.
1933
1934 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/kern/misc.c (grub_abort): Make static
1937
1938 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1941 transform invalid unicode codepoints.
1942
1943 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1946 \0 checking.
1947
1948 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1951
1952 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Consolidate cpuid code.
1955
1956 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Move cpuid code to cpuid.h and TSC code to tsc.c.
1959
1960 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1961
1962 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1963
1964 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1965
1966 * util/grub-mkconfig.in: Replace $0 with $self.
1967 * util/grub-reboot.in: Likewise.
1968 * util/grub-set-default.in: Likewise.
1969
1970 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1971
1972 * docs/osdetect.cfg: New file.
1973
1974 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1975
1976 * tests/util/grub-shell.in: Add new --debug option.
1977
1978 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1979
1980 * tests/test_unset.in: New test.
1981
1982 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1983
1984 * tests/test_sha512sum.in: New test.
1985
1986 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1989 * include/grub/misc.h: Remove strncat.
1990 * grub-core/lib/posix_wrap/string.h: Likewise.
1991
1992 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1995 Try to handle more than 0xFFFF packets.
1996 Reported by: Bernhard Übelacker <bernhardu>.
1997 He also spotted few overflows in first version of this patch.
1998
1999 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * tests/date_unit_test.c: New test.
2002
2003 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2006 of first three years after start of validity of unixtime.
2007
2008 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2011 division as the one making more sense.
2012 (update_screen): Likewise.
2013 (complete): Likewise.
2014
2015 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2018
2019 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Make char and string width grub_size_t rather than grub_ssize_t.
2022
2023 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2026 unsigned.
2027 (grub_history_replace): Likewise.
2028
2029 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2032 appropriate.
2033
2034 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2037 appropriate.
2038
2039 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2042 Use unsigned divisions rather than signed variants.
2043
2044 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2047 unsigned arithmetics.
2048 Add missing break.
2049
2050 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2053
2054 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2057 rather than signed one.
2058 (recovery): Likewise.
2059
2060 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2063
2064 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2067 than signed.
2068
2069 2013-10-25 Jon McCune <jonmccune@google.com>
2070
2071 * docs/grub.texi: Cleanup security documentation around signatures.
2072
2073 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2076
2077 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2080 than int.
2081
2082 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2085 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2086 functions when compiling for kernel.
2087
2088 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2091 unsigned long long when using %llu.
2092
2093 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2096 terminal after updating progress.
2097
2098 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2101 argument. We don't disable Gate A20 in this code.
2102
2103 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2106 Conceptually based on change in branch "vbe-on-coreboot".
2107
2108 2013-10-24 Robert Millan <rmh@gnu.org>
2109
2110 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2111 numeric constants with their symbolic equivalent.
2112 Taken from branch "vbe-on-coreboot".
2113
2114 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2117
2118 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2121 divmod64 for offset division.
2122
2123 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2124
2125 Rename .bzrignore to .gitignore. Add "*.o" rule.
2126
2127 * .bzrignore: Renamed to...
2128 * .gitignore: ...this.
2129
2130 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2131
2132 Add new progress module that displays the load progress of files.
2133
2134 * grub-core/lib/progress.c: New file.
2135 * grub-core/Makefile.core.def (progress): New module.
2136 * grub-core/kern/file.c (grub_file_open): File name added.
2137 * (grub_file_read): Progress hook added.
2138 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2139 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2140 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2141 * include/grub/file.h (struct grub_file): Add progress module members.
2142 * include/grub/term.h (struct grub_term_output): Likewise.
2143 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2144 Terminal velocity added.
2145 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2146 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2147 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2148 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2149 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2150 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2151 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2152 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2153 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2154 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2155 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2156 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2157
2158 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Verify signatures of signatures unless --skip-sig is specified.
2161
2162 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2165 \0 checking.
2166
2167 Saves 70 bytes on compressed image.
2168
2169 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2172 check.
2173
2174 Saves 10 bytes on compressed image.
2175
2176 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/kern/misc.c (grub_isprint): Move to ...
2179 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2180
2181 Saves 20 bytes on compressed image due to remving exporting.
2182
2183 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2186
2187 Saves 5 bytes on compressed image.
2188
2189 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2192 function get_utf8.
2193
2194 Saves 379 bytes on compressed image.
2195
2196 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2199
2200 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2203
2204 Saves 40 bytes on compressed image.
2205
2206 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2209 mask rather than 64-bit type.
2210
2211 Saves 20 bytes on compressed image.
2212
2213 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2216 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2217
2218 Saves 273 bytes on compressed image.
2219
2220 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2223 variable length arrays.
2224
2225 Saves 50 bytes on compressed image.
2226
2227 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2230
2231 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/fs/ufs.c: Remove variable length arrays.
2234
2235 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2238
2239 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/fs/zfs.c: Remove variable length arrays.
2242 Reduces zfs.mod by 160 bytes (208 compressed).
2243
2244 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2247
2248 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/net/arp.c: Remove variable length arrays.
2251 * grub-core/net/bootp.c: Likewise.
2252 * grub-core/net/dns.c: Likewise.
2253 * grub-core/net/icmp6.c: Likewise.
2254 * grub-core/net/net.c: Likewise.
2255
2256 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/fs/ntfs.c: Remove variable length arrays.
2259 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2260 compressed).
2261
2262 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/fs/hfs.c: Remove variable length arrays.
2265 Reduces hfs.mod by 8 bytes (52 compressed).
2266
2267 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/udf.c: Remove variable length arrays.
2270 Increases udf.mod by 128 bytes (but decreases by 13 when
2271 compressed).
2272
2273 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/fs/iso9660.c: Remove variable length arrays.
2276 Increases iso9660.mod by 200 bytes (but decreases by 79 when
2277 compressed).
2278
2279 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/fs/nilfs2.c: Remove variable length arrays.
2282 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
2283 compressed).
2284
2285 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/fs/xfs.c: Remove variable length arrays.
2288 Reduces xfs.mod by 40 bytes (43 compressed).
2289
2290 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/fs/fshelp.c: Remove variable length arrays.
2293 Reduces fshelp.mod by 116 bytes (23 compressed).
2294
2295 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/normal/completion.c: Remove variable length arrays.
2298 * grub-core/normal/menu_entry.c: Likewise.
2299
2300 Reduces normal.mod by 496 bytes.
2301
2302 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2305 by 356 bytes (158 compressed).
2306
2307 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2310 by 364 bytes (169 compressed).
2311
2312 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2315 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2316 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2317
2318 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2321 bitmasks to small structures of size chosen to fit in registers.
2322
2323 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * conf/Makefile.common: Use -freg-struct-return on i386. This
2326 decreases code size and improves performance.
2327
2328 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2331
2332 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2335 "(null)" string.
2336 Simplify expressions to save around 256 bytes in kernel.img.
2337 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2338
2339 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2342 Use GRUB_UTIL_FD_O_* rather than O_*.
2343
2344 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Add haiku-specific functions.
2347
2348 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2351
2352 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 Move stat () and device mode checking into OS-dependent files as
2355 long as performance doesn't suffer.
2356
2357 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 Split make_system_path_relative_to_its_root into separate file
2360 relpath.c from getroot.c as it's common between unix and haiku
2361 but otherwise haiku doesn't use any functions from unix getroot.c.
2362
2363 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2366 New function.
2367 (grub_util_is_special_file): Likewise.
2368
2369 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2372 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2373
2374 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2377 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2378
2379 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2382 (load_image): Likewise.
2383
2384 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * util/grub-render-label.c: Move backend part to ...
2387 * util/render-label.c: ... here.
2388
2389 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2392 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2393
2394 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2397
2398 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2401 CD-ROM in case when it's declared as having subpartitions.
2402
2403 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Don't add -lm on haiku.
2406
2407 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2408 and empty on haiku.
2409 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2410 -lm.
2411
2412 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * configure.ac: Use -melf_*_haiku as target on haiku.
2415
2416 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * Makefile.util.def: Add util/setup.c to extra_dist.
2419
2420 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2423 unknown types through.
2424
2425 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2428 (grub_util_check_char_device): Likewise.
2429 * include/grub/emu/getroot.h: Likewise.
2430
2431 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2434 memset rather than inline static function.
2435
2436 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2439 not doing embedded decompressor.
2440
2441 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2444 shadowing.
2445 * grub-core/kern/disk.c: Likewise.
2446 * grub-core/kern/misc.c: Likewise.
2447 * include/grub/parser.h: Likewise.
2448 * include/grub/script_sh.h: Likewise.
2449 * include/grub/zfs/zfs.h: Likewise.
2450
2451 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2454
2455 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2458 defined before trying to use it.
2459
2460 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2463 warning.
2464
2465 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2468 Use __unused__ rather than __used__ on gcc < 3.2.
2469
2470 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2473 gcc < 4.0.
2474 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2475
2476 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2479
2480 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2483 * include/grub/emu/misc.h: Likewise.
2484
2485 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2488 cur_color.
2489
2490 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2491
2492 * grub-core/tests/checksums.h: Regenerated due to progress bar
2493 get_minimal_size changes.
2494
2495 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2496
2497 Added `tr' command support.
2498
2499 * grub-core/commands/tr.c: New file.
2500 * grub-core/Makefile.core.def: Build rules for new module.
2501
2502 * tests/grub_cmd_tr.in: New test.
2503 * Makefile.util.def: Build rules for new test.
2504
2505 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2506
2507 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2508
2509 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2510
2511 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2512 * docs/gurb.texi: Likewise.
2513
2514 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2515
2516 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2517 Pixmap highlighted section with east and west slices was displayed
2518 incorrectly due to negative width of the central slice.
2519
2520 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2521
2522 * docs/grub.texi: Graphical options information update.
2523 Removed outdated. Updated current. Inserted missed.
2524
2525 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * docs/grub.texi: Mention few new platform-specific commands.
2528
2529 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2532 currently used so this doesn't really have any effect.
2533 Reported by: Douglas Ray <dougray>
2534
2535 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2538 compilation but prevents gcc from displaying messages in non-Latin
2539 alphabets.
2540 * conf/Makefile.common: Likewise.
2541
2542 2013-10-16 Hiroyuki YAMAMORI
2543
2544 Handle Japanese special keys.
2545 Reported by: Hiroyuki YAMAMORI.
2546 Codes supplied by: Hiroyuki YAMAMORI.
2547
2548 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2549
2550 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2551
2552 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2553
2554 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2555 * docs/grub.texi: Likewise.
2556
2557 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2560 value in case of incomplete read.
2561 (grub_util_fd_write): Likewise.
2562
2563 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2566
2567 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * util/grub-editenv.c (create_envblk_file): More from here ...
2570 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2571
2572 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2575 canonicalize file name before doing the rest.
2576
2577 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2580 mingw32.
2581
2582 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 Define grub_util_is_directory/regular/special_file and
2585 use OS-dependent versions rather than to rely on stat().
2586
2587 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * util/grub-mkimage.c: Move backend part to ...
2590 * util/mkimage.c: ... here.
2591
2592 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Allow compilation with mingw64 albeit with warnings due to lack of
2595 %llx/%llu.
2596
2597 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2598 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2599 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2600 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2601 on mingw64.
2602 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2603
2604 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 Remove leftover references to some of the system headers.
2607
2608 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2611 read.
2612
2613 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2616 of strerror.
2617
2618 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 Split out blocklist retrieving from setup.c to
2621 grub-core/osdep/blocklist.c and add windows implementation since
2622 generic version doesn't work on NTFS on Windows due to aggressive
2623 unflushable cache.
2624
2625 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2628 files.
2629
2630 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2633 Cut tailing newline. Remove arbitrary limitation. Always use
2634 grub_util_tchar_to_utf8.
2635
2636 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2639 * tests/printf_unit_test.c (printf_test): Add %% tests.
2640 Reported by: Paulo Flabiano Smorigo.
2641
2642 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2645 implement fsync.
2646
2647 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2650 use nvlist_lookup_string and don't use nvlist_print.
2651
2652 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2655 closedir to handle filename charset translation.
2656
2657 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * include/grub/emu/hostdisk.h: Move file operations to
2660 * include/grub/emu/hostfile.h: ... here.
2661
2662 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2665 unicode path.
2666
2667 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2670
2671 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2674 and remove export.h.
2675
2676 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/kern/emu/error.c: Removed.
2679 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2680 explicitly as it's already in libgnu.a.
2681
2682 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2685 config-util.h include.
2686
2687 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 Split emunet into platform-dependent and GRUB-binding parts. Keep
2690 platform-dependent part in kernel for easy access to OS functions.
2691
2692 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2695 open/read/write.
2696
2697 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * grub-core/osdep/windows/emuconsole.c: New file.
2700
2701 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2702
2703 * conf/Makefile.extra-dist: Add osdep/*/init.c
2704
2705 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2708
2709 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * util/grub-probe.c (probe): Separate different drives in hint-str
2712 by spaces and not newlines.
2713 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2714
2715 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2716
2717 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2718 Handle CD-ROMs.
2719
2720 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Pass-through unknown E820 types. It required reorganisation of mmap
2723 module.
2724
2725 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2726
2727 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2728
2729 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2732 fseeko.
2733
2734 2013-10-14 qwertial <qwertial>
2735
2736 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2737
2738 2013-10-14 Jon McCune <jonmccune@google.com>
2739
2740 * docs/grub.texi: Document new signatures possibility.
2741
2742 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2745
2746 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2749 missing prototype.
2750 (grub_util_tchar_to_utf8): Likewise.
2751
2752 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2755 * grub-core/kern/emu/main.c: Add missing include.
2756 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2757 Don't call grub_util_init_nls.
2758 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2759 Likewise.
2760
2761 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2764 stat.
2765
2766 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2769
2770 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2773
2774 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 Add a wrapper for fopen. On unix-like systems just pass-through. On
2777 windows use unicode version.
2778
2779 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 Move set_program_name and init_nls to host_init. On windows
2782 fix in this fuction console and argument charset as well.
2783
2784 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2785
2786 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2787 GRUB_ENABLE_CRYPTODISK.
2788
2789 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2790 GRUB_ENABLE_CRYPTODISK.
2791 * util/grub-mkconfig_lib.in: Likewise.
2792
2793 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2794
2795 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2796
2797 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2798
2799 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2800 error when enabling debug.
2801
2802 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2803
2804 * configure.ac: Use -melf_*_obsd on openbsd.
2805
2806 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2809
2810 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * include/grub/misc.h: Use gnu_printf rather than printf as format
2813 template since our functions are independent of libc.
2814
2815 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * util/grub-setup.c (setup): Move copying of partition table as
2818 futher up as possible to avoid possible overwrite by floppy routines.
2819
2820 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2823
2824 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2825
2826 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2827 * docs/grub.texi: Likewise.
2828
2829 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2832 it's mostly unused. Move vestiges to the callers.
2833
2834 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2837 version of salt and hash. Use grub_snprintf rather than snprintf.
2838
2839 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * docs/grub.texi: Fix problem with braces.
2842
2843 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * conf/Makefile.extra-dist: Fix extra-dist list.
2846 * grub-core/Makefile.core.def: Likewise.
2847
2848 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * docs/grub.texi: Document disk names used on Windows and AROS.
2851
2852 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2855 with AROS devs.
2856 * grub-core/osdep/aros/hostdisk.c: Likewise.
2857
2858 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 Avoid including hostfile.h when not necessarry as it pulls
2861 in OS-specific headers which may redefine generic names
2862 like "far".
2863
2864 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2865
2866 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2867 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2868 scrollbar_bottom_pad
2869 * docs/grub.texi: Likewise.
2870
2871 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2872
2873 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2874
2875 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2878
2879 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2882 Removed.
2883 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2884 Made static.
2885
2886 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2889 leftover.
2890
2891 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 Move OS-specific driver configuration to grub_util_fd_open. This
2894 moves OS-dependent parts from kern/emu/hostdisk.c to
2895 grub-core/osdep/*/hostdisk.c.
2896
2897 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * util/grub-mkimage.c (generate_image): Use size_t instead of
2900 grub_size_t.
2901 * util/grub-mkimagexx.c (locate_sections): Likewise.
2902 (load_image): Likewise.
2903
2904 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2907 size_t.
2908 (grub_util_write_image): Likewise.
2909
2910 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2913 get random when no RNG is available.
2914 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2915
2916 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * include/grub/util/lvm.h: Removed.
2919
2920 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2923 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2924
2925 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2928
2929 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2932
2933 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * grub-core/net/drivers/emu/emunet.c: Move to ..
2936 * grub-core/osdep/linux/emunet.c: ..here.
2937
2938 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * util/ieee1275/ofpath.c: Move to ...
2941 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2942 * grub-core/osdep/basic/ofpath.c: ..here.
2943
2944 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Move password-querying (util-version) routines to grub-core/osdep.
2947
2948 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 Move sleep routines to grub-core/osdep.
2951
2952 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Move OS-dependent files to grub-core/osdep and document it.
2955
2956 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2959 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2960
2961 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2964
2965 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * util/misc.c: Remove leftover inclusion of malloc.h.
2968
2969 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * include/grub/setjmp.h: Remove leftover GRUBOF.
2972
2973 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * util/raid.c: Fold into ...
2976 * util/getroot_linux.c: ... here. Make all functions static.
2977
2978 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2981 macros to GRUB ones.
2982
2983 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2984
2985 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2986 occasional bug. If there are too many boot entries or too low
2987 scrollbar height then we need to use another formula to calculate
2988 the position and size of the scrollbar thumb.
2989
2990 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
2993
2994 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2995
2996 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2997 * docs/grub.texi: Likewise.
2998
2999 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3000
3001 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3002 viewport.
3003
3004 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3005
3006 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3007 minimal width calculations.
3008
3009 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * docs/grub.texi: Update note on colors on emu console.
3012
3013 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3016 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3017 it's FS and not GRUB limitation.
3018
3019 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3022
3023 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3026
3027 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3028
3029 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3030 kernels by version order.
3031
3032 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3035
3036 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Add AROS hostdisk and getroot routines.
3039
3040 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 Make cryptodisk and diskfilter probe data retrievable programmatically
3043 and not just printable.
3044
3045 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 Split random retrieving code into separate files.
3048
3049 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3052 R_ARM_V4BX.
3053
3054 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3057 condition.
3058 * grub-core/tests/fake_input.c: Likewise.
3059 * grub-core/tests/cmdline_cat_test.c: Likewise.
3060
3061 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/video/capture.c: Do not do finalization when .fini
3064 is called as there is explicit capture_end.
3065
3066 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3069 changing windows to avoid crash.
3070
3071 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3074
3075 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * po/exclude.pot: Add several strings to exclude.
3078
3079 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3082
3083 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3086 ./util/grub-gen-asciih.c to exclude list.
3087
3088 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3091 and don't mark error strings for translation.
3092
3093 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3096 properly in case of missing block size.
3097
3098 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/lib/arm/setjmp.S: Add missing license section.
3101
3102 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * po/swiss.sed: Add replacement for key names and for term computer.
3105
3106 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3107
3108 * grub-core/gfxmenu/theme_loader.c: New global options for the
3109 theme background image handling. desktop-image-scale-method,
3110 desktop-image-h-align, desktop-image-v-align.
3111 * grub-core/gfxmenu/view.c: Likewise.
3112 * include/gfxmenu_view.h: Likewise.
3113 * include/bitmap_scale.h: Proportional scale functions introduced.
3114 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3115 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3116 cases of unexpected input variables for scale functions.
3117 * docs/grub.texi: Updated documentation for new options.
3118
3119 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3122
3123 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3124
3125 * grub-core/tests/checksums.h: Corrected due to changes in
3126 bilinear interpolation function.
3127
3128 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3129
3130 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3131 to eliminate artefacts in bilinear interpolation.
3132
3133 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/video/readers/tga.c: Support paletted tga.
3136
3137 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3140 incorrect cbcr setting when in color mode.
3141
3142 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/video/readers/png.c: Support paletted images and clean up
3145 greyscale support.
3146
3147 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3150 usage of wrong table which resulted in mishandling of 4-byte
3151 sequences.
3152
3153 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/term/terminfo.c: Add Home and End key sequences.
3156
3157 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3160 Fix formula for computing total number of bytes.
3161
3162 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3165 image processing, fix big-endian and support grayscale.
3166
3167 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3170 Correctly will with maximum transparency when using index color.
3171
3172 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/video/readers/png.c: Support grayscale
3175
3176 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/video/readers/jpeg.c: Support grayscale.
3179
3180 2013-09-26 Jon McCune <jonmccune@google.com>
3181
3182 * grub-core/commands/loadenv.c: Support skipping signature check
3183 and variable names filtering.
3184
3185 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3188 * grub-core/kern/emu/hostfs.c: Likewise.
3189 * util/getroot_unix.c: Likewise.
3190
3191 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3194 Migrate all explicit defines to this new one.
3195
3196 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3199 grub_util_fd_strerror when using grub_util_fd_*.
3200 (grub_util_fd_open_device): Likewise.
3201 (grub_util_biosdisk_read): Likewise.
3202 (grub_util_biosdisk_write): Likewise.
3203 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3204 (grub_util_fd_strerror): Likewise.
3205 (grub_util_fd_sync): Likewise.
3206 (grub_util_fd_close): Likewise.
3207 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3208 (grub_util_fd_close): Likewise.
3209 (grub_util_fd_strerror): Likewise.
3210 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3211 function proto rather than macro.
3212 (grub_util_fd_sync): Likewise.
3213 (grub_util_fd_open): Likewise.
3214 (grub_util_fd_strerror): New proto.
3215
3216 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3219 platforms on which it doesn't work.
3220
3221 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3224 stat immediately to where it's used.
3225
3226 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * util/getroot.c (grub_util_check_block_device): Move to ...
3229 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3230 * util/getroot.c (grub_util_check_char_device): Move to ...
3231 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3232
3233 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3236 disk closing logic.
3237
3238 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3239
3240 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3241
3242 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3243
3244 * docs/grub.texi (File name syntax): Document ZFS filenames
3245 (/volume@snapshot/...).
3246
3247 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3250 Always return full path. Fixes a problem with mkrelpath.
3251
3252 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3253
3254 * util/grub-install.in: Add GPT PReP support.
3255 * util/grub-probe.c (probe): Support GPT partition type.
3256 (main): Support -t gpt_parttype.
3257
3258 2013-09-23 Aleš Nesrsta <starous@volny.cz>
3259
3260 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3261
3262 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3263
3264 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3265
3266 2013-09-23 Tim Hardeck <thardeck>
3267
3268 * util/grub.d/10_hurd.in: Filter out character for the class.
3269 * util/grub.d/10_kfreebsd.in: Likewise.
3270 * util/grub.d/10_linux.in: Likewise.
3271 * util/grub.d/20_linux_xen.in: Likewise.
3272
3273 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3274
3275 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3276 "changed".
3277
3278 2013-09-23 Josh Triplett <josh@joshtriplett.org>
3279
3280 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3281 boot partition.
3282
3283 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3286 doesn't use posix_wrap. Keep literal -fno-builtin however.
3287
3288 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3291
3292 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3293 2013-09-23 neil
3294
3295 * configure.ac: Do not enable -Wmissing-noreturn as its
3296 usefulness is limited and creates problems on some OS notably with
3297 code generated by bison.
3298
3299 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3300 2013-09-23 neil
3301
3302 * configure.ac: Do not explicitly enable -Waddress as it's not
3303 supported by all gcc and when it is, it's already enabled by -Wall.
3304
3305 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3308 desactivated use of EDID at all.
3309
3310 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3311 2013-09-23 neil
3312
3313 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3314 video if no text is available.
3315
3316 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3317 2013-09-23 neil
3318
3319 * configure.ac: Substitute TARGET_RANLIB.
3320
3321 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3322 2013-09-23 neil
3323
3324 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3325
3326 Based on patches from AROS.
3327
3328 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3329 2013-09-23 neil
3330
3331 * grub-core/Makefile.am: Override STRIP and RANLIB.
3332 * configure.ac: compute TARGET_RANLIB.
3333 * INSTALL: Document TARGET_RANLIB
3334
3335 Based on patches from AROS.
3336
3337 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3340 that floppies are unpartitioned.
3341
3342 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3345 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3346
3347 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3350 less nice but more portable.
3351 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3352
3353 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3356 for cheat_fd.
3357 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3358 functions.
3359 (grub_cryptodisk_cheat_insert): Likewise.
3360 (grub_cryptodisk_close): Likewise.
3361
3362 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3365 Use windows path for DEFAULT_DIRECTORY.
3366
3367 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3370 difference was likely just gcc version, not anything mingw-related.
3371
3372 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Use Winapi on both cygwin and mingw32 to share more code between both.
3375
3376 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3377
3378 * util/grub-install.in: Add --grub-editenv option.
3379 * util/grub-install_header (grub_compress_file): Explicitly check for
3380 plain file to avoid cp error.
3381
3382 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3383
3384 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3385 names; fix LVM driver name (lvm, not lv).
3386 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3387 names.
3388
3389 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3392 files rather than one file with loads of #if's.
3393 * util/getroot.c: Likewise.
3394
3395 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3398
3399 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3402 GNU/Hurd to the list of checked PRNG.
3403
3404 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3407
3408 2013-09-21 Ales Nesrsta <starous@volny.cz>
3409
3410 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
3411
3412 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3415 * grub-core/disk/lvm.c: Add LVM UUIDs.
3416 * util/getroot.c: Use LVM UUIDs whenever possible.
3417
3418 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3419
3420 * docs/grub.texi (Networking commands): Add documentation for
3421 network related commands.
3422
3423 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3426 to determine if device is handled by devmapper.
3427 (convert_system_partition_to_system_disk): Likewise.
3428 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3429 already done in grub_util_open_dm.
3430
3431 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3432
3433 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3434 Clean up stack manipulation (sync_caches_armv*)
3435
3436 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * util/lvm.c: Remove since unused. Remove remaining references.
3439
3440 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 Handle the case of partitioned LVM properly.
3443
3444 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3445 Stop on meeting LVM, mpath or DMRAID.
3446 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3447 (read_device_map): Likewise.
3448 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3449 device is full disk rather than erroring out on LVM and similar cases.
3450
3451 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3454
3455 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3458 4K before the end.
3459 Reported by: Leif Lindholm
3460
3461 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3462 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3465 codes.
3466
3467 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
3468
3469 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3470 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3471
3472 2013-09-18 Douglas Ray <dougray@cpan.org>
3473
3474 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3475 as secure.
3476
3477 2013-09-18 Aleš Nesrsta <starous@volny.cz>
3478
3479 * docs/grub.texi: Fix broken link.
3480
3481 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3482
3483 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3484 to break endless loop.
3485
3486 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * util/grub-fstest.c: Fix several printf formats.
3489 * util/grub-mkimage.c: Likewise.
3490 * util/grub-mkimagexx.c: Likewise.
3491 * util/grub-script-check.c: Likewise.
3492
3493 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3496 error.
3497
3498 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3501
3502 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3505 removed in current versions cygwin_conv_*.
3506
3507 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * configure.ac: Disable efiemu runtime on cygwin.
3510
3511 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3514 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3515
3516 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3519 error message.
3520
3521 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3524 windows variant.
3525 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3526 data.
3527
3528 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3531 when on x86 and not cygwin.
3532 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3533 -Wl,-melf_x86_64.
3534
3535 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * configure.ac: Set CPP to build one when checkoing for freetype for
3538 build.
3539
3540 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3543 [!GRUB_BUILD]: Remove has_argument.
3544
3545 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3548 Replace with a dummy.
3549
3550 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 * configure.ac: Don't change host_os from mingw to cygwin.
3553
3554 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * configure.ac: Change target_os from windows to cygwin.
3557
3558 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3561
3562 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3563 (build-grub-gen-asciih): Likewise.
3564 (build-grub-gen-widthspec): Likewise.
3565 * Makefile.util.def (grub-pe2elf): Remove.
3566 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3567 * configure.ac: Separate tests for build.
3568 Move ./build-grub-pe2elf to grub-core.
3569 Fix typo.
3570 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3571 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3572 defined.
3573 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3574 constants.
3575 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3576 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3577 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3578
3579 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3582 mingw32 as well based on grub_util_get_disk_size.
3583 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3584 grub_util_get_fd_size.
3585 (sync): Removed.
3586 (fsync): Moved to ...
3587 * grub-core/kern/emu/misc.c (fsync): ... here.
3588
3589 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * include/grub/mm.h (grub_extend_alloc): Remove.
3592 * grub-core/loader/i386/pc/plan9.c: Use own version of
3593 grub_extend_alloc with appropriate types.
3594
3595 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3598
3599 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3602
3603 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 Fix dependencies on cygwin.
3606
3607 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3608 dependencies when used and defined.
3609 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3610
3611 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3614 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3615
3616 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3619 implementation available to cause compile-time rather than runtime
3620 error.
3621
3622 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * util/grub-fstest.c: Don't check for symlinks on windows.
3625
3626 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * INSTALL: Mention unavailability of man pages when cross-compiling.
3629
3630 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3633 and gcry_log_bug.
3634 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3635
3636 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * INSTALL: Document cross-compilation.
3639 * acinclude.m4: Determine whether nm support -P and --defined-only.
3640 * configure.ac: Add TARGET_ to all variables pertaining to target
3641 that don't have it yet.
3642 * gentpl.py: Likewise.
3643 * grub-core/Makefile.am: Likewise.
3644 * grub-core/genmod.sh.in: Likewise.
3645 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3646 as well.
3647
3648 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3649
3650 * configure.ac: Remove -Wempty-body. It's not essential and needs
3651 recent gcc.
3652
3653 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3654
3655 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3656 * util/getroot.c: Likewise.
3657
3658 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/disk/ahci.c: Add needed explicit cast.
3661 * grub-core/lib/backtrace.c: Likewise.
3662 * grub-core/net/ip.c: Likewise.
3663 * grub-core/net/tcp.c: Likewise.
3664 * grub-core/net/udp.c: Likewise.
3665
3666 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3669
3670 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/import_gcry.py: Add final newline in visibility.h.
3673
3674 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * conf/Makefile.common: Fix typo.
3677
3678 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3681
3682 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * Makefile.am (widthspec.h): Fix typo.
3685 * util/grub-gen-widthspec.c: Likewise.
3686
3687 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 Move ascii.h and widthspec.h generation to a separate build-time-only
3690 tool.
3691
3692 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3693
3694 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3695 Always fill bootdisk info and improve check for NetBSD disklabel.
3696
3697 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * conf/Makefile.extra-dist: Add util/bin2h.c.
3700 Reported by: floppym.
3701
3702 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3705
3706 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * configure.ac: Disable unifont and starfield if no freetype was found.
3709
3710 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3713 on NetBSD and OpenBSD.
3714
3715 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3716
3717 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3718
3719 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3720
3721 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3722 reduced. Inheritant options are processed during the theme loading.
3723
3724 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3725
3726 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3727
3728 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3729
3730 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3731
3732 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3733
3734 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3735 using qemu.
3736
3737 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3738
3739 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3740 remove-potcdate.sed.
3741
3742 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3743
3744 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3745 unused attribute from pull argument.
3746
3747 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3748
3749 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3750 memory leak.
3751
3752 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3753
3754 * util/getroot.c (pull_lvm_by_command): add --separator option
3755 to vgs call to disable padding of output to 10 characters.
3756
3757 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3760 here ...
3761 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3762 here.
3763
3764 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3767 length.
3768
3769 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3772 full Canadian cross. Tested with build=x86_64, host=arm,
3773 target=ppc-ieee1275.
3774
3775 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * configure.ac: Error if no $BUILD_CC could be found.
3778 Reported by: DevHC.
3779
3780 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3783 i386-multiboot.
3784
3785 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3788 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3789
3790 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
3791
3792 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3793 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3794 falling back to the partition device, otherwise a later call to this
3795 function may fail spuriously.
3796 Reported by Axel Beckert. Fixes Debian bug #708614.
3797
3798 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3799
3800 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3801
3802 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3803
3804 Prevent shadowing of stdlib's devname(3) on BSD.
3805
3806 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3807 and devlast to diskname and disklast, respectively.
3808
3809 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
3810
3811 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3812
3813 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3814
3815 * docs/grub.texi: Introduce terminal window position options:
3816 terminal-left: terminal window's left position
3817 terminal-top: terminal window's top position
3818 terminal-width: terminal window's width
3819 terminal-height: terminal window's height
3820 terminal-border: terminal window's border width
3821 * grub-core/gfxmenu/theme-loader.c: Likewise.
3822 * include/grub/gfxmenu_view.h: Likewise.
3823 * po/exlude.pot: Likewise.
3824 * grub-core/gfxmenu/view.c: Likewise.
3825 Also updated minimal window size.
3826 Also terminal_sanity_check function has been introduced.
3827 * grub-core/tests/checksums.h: Update (terminal window height
3828 is adjusted now for low resolution screen)
3829
3830 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3833 position).
3834
3835 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * po/exclude.pot: Add few recent exceptions.
3838
3839 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * tests/grub_func_test.in: Add unicode.pf2.
3842
3843 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3846 standard rather than noral color, in line with other terminals.
3847
3848 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3851 analysis.
3852
3853 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3856
3857 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3860 inappropriate printf.
3861
3862 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3863
3864 * .bzrignore: Remove grub-core/lib/dtc-grub,
3865 grub-core/Makefile.libfdt.def
3866 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3867
3868 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * include/grub/video.h (grub_video_register): Keep double-linked as
3871 well as single-linked invariants.
3872 Reported by: qwertial.
3873
3874 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/commands/nativedisk.c (get_uuid): Handle
3877 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3878
3879 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3880
3881 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3882 maximum of NW, N, NE heights instead of N's height and maximum of
3883 NW, W, SW widths instead of W's width. (So the box will be always
3884 correctly drawn)
3885
3886 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3887
3888 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3889 Fix misuse of variable count.
3890
3891 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
3892 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
3893 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 New ports to arm-uboot and arm-efi.
3896 Mostly by Leif Lindholm with some additions from
3897 Francesco Lavra and cleanup by Vladimir Serbinenko.
3898
3899 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3902 and not before.
3903 Reported by: Leon Drugi.
3904
3905 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3908 Reported by: Paulo Flabiano Smorigo.
3909
3910 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3911
3912 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3913
3914 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3915
3916 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3917
3918 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3921
3922 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3925
3926 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3927
3928 * grub-core/net/bootp.c: Export net_* variables.
3929 * grub-core/net/net.c: Likewise.
3930
3931 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3934
3935 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3938
3939 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3942
3943 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3946
3947 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3948
3949 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3950 <= 0.
3951
3952 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3953
3954 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3955 functions.
3956
3957 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3958
3959 * grub-core/fs/zfs/zfs_lz4.c: New file.
3960 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3961
3962 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3963
3964 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3965
3966 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3967
3968 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3969 (check_pool_label): Likewise.
3970 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3971
3972 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3973
3974 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3975
3976 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3977
3978 * docs/grub.texi (Commands): Document postition parameters
3979 for menuentry command.
3980
3981 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3982
3983 * util/grub-mknetdir.in: Remove stray line from help output.
3984
3985 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Remove early sm712 init as there is no reason for it (the "watchdog"
3988 effect was due to wrong GPIO map).
3989
3990 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/commands/pcidump.c: Remove static variables.
3993
3994 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3997
3998 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * configure.ac: Move delimiter after the infos.
4001
4002 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4005
4006 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4009 not filling whole 8x16 space.
4010
4011 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4014
4015 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * configure.ac: Indicate which liblzma is used if any.
4018
4019 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
4020 2013-06-21 Craig Sanders <savannah@taz.net.au>
4021
4022 * util/grub-reboot.in: Document submenu usage.
4023
4024 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4025
4026 * .bzrignore: Update with a number of new test-related files.
4027
4028 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4029
4030 * util/grub-script-check.c: Fail on scripts containing no
4031 commands, to guard against corrupted grub-mkconfig setups that
4032 produce no useful output.
4033 * tests/grub_script_no_commands.in: New test.
4034 * Makefile.util.def (grub_script_no_commands): Add.
4035 Reported by Hans Putter. Fixes Debian bug #713886.
4036
4037 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4038
4039 * grub-core/disk/diskfilter.c: Forgot to remove comment
4040 from previous commit.
4041
4042 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4043
4044 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4045 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4046
4047 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4048
4049 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4050
4051 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4052
4053 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4054 rescan diskfilter devices until nothing new is found.
4055
4056 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4059
4060 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Don't try to detect cbfs on *-emu.
4063
4064 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4067
4068 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 Add support for processed coreboot payload chainloading.
4071
4072 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 Enable coreboot information commands even when not loaded as
4075 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4076
4077 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Support for cbfs. Also factor out the part which is common
4080 for all archives to a separate module. This splits tar from cpio
4081 as they are very different but keeps cpio, cpio_be, odc and newc
4082 together since they're very similar.
4083
4084 2013-06-15 David Michael <fedora.dm0@gmail.com>
4085
4086 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4087 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4088
4089 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * tests/grub_script_eval.in: Really add the eval test.
4092
4093 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Move flavour-specific parts out of common cpio.c file and
4096 rename remaining to cpio_common.c
4097
4098 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4099
4100 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4101 off new function grub_script_execute_new_scope. Change callers to use
4102 either of them as appropriate.
4103 * grub-core/commands/eval.c: New command eval.
4104 * docs/grub.texi (Commands): Document it.
4105
4106 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4107
4108 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4109 to fetch values when listing.
4110
4111 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4112
4113 Fix make dist on non-pc.
4114
4115 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
4116
4117 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4118 without a device name.
4119
4120 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 Remove enable_executable_check as it's not needed anymore.
4123 Reported by: dougray.
4124
4125 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4128 ambigouos RAID before discovering RAIDs on top of it.
4129 Reported by: bodom.
4130
4131 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Fix typo (failback vs fallback).
4134
4135 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4136
4137 * util/grub.d/30_os-prober.in: Add support for probing EFI
4138 System Partition (as of os-prober 1.58).
4139
4140 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * configure.ac: Add yet another path to unifont. For parabola.
4143
4144 2013-05-30 Josh Triplett <josh@joshtriplett.org>
4145
4146 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4147 handling to copy the killed characters to the kill buffer as
4148 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4149 stored as char. Eliminates UCS4 truncation and corruption
4150 observed when killing characters with Ctrl-u and yanking them
4151 back with Ctrl-y.
4152
4153 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 Detach optional parts of gfxterm and integrate in with coreboot init.
4156
4157 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Move blit and fill dispatcher to appropriate files to decrease export
4160 and relocation overhead.
4161
4162 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4165 functions.
4166
4167 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * grub-core/Makefile.am: Fix compilation problem with some
4170 automake versions.
4171
4172 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4175
4176 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4179 automake versions.
4180
4181 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4184 SSDT.
4185
4186 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4187
4188 * grub-core/partmap/dfly.c: New partition map.
4189
4190 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4193 checking.
4194 Reported by: Francesco Lavra.
4195
4196 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4197
4198 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4199 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4200 false conditions.
4201 * conf/Makefile.common: define dist_grubconf_DATA
4202
4203 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Progressively skip menu elements on small terminals rather
4206 than crashing.
4207
4208 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4211 to avoid losing last column.
4212
4213 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * po/exclude.pot: Add missing string "%C".
4216
4217 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4220 after the test.
4221
4222 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * util/grub-install.in: Gettextize "Not found" message.
4225
4226 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 Fix distfiles list.
4229 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4230
4231 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4232
4233 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4234 present.
4235 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4236
4237 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4240
4241 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4244 attribute since structure is not necessarily aligned.
4245
4246 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4247
4248 * docs/grub.texi (Device syntax): Clarify description of network
4249 drives.
4250
4251 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4254 for vasprintf presence.
4255
4256 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * util/grub-install.in: Handle efibootmgr presence check.
4259 Reported by: Leif Lindholm.
4260
4261 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4264 new strings to translate.
4265
4266 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4269 yet another string (pun intended) to translate.
4270
4271 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * po/POTFILES-shell.in: Autogenerate it.
4274
4275 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4278
4279 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4282 misnomer.
4283
4284 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4285
4286 * docs/grub.texi (Network): Add description of net_default_interface,
4287 net_default_ip and net_default_mac. Rewrite variables description
4288 to emphasize that they are per-interface.
4289
4290 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 New test: cmdline and cat.
4293
4294 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/commands/cat.c: Show UTF-8 characters.
4297
4298 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * conf/Makefile.common: Poison float and double on non-emu.
4301
4302 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * configure.ac: Don't disable extended registers on emu.
4305
4306 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * configure.ac: Don't use extended registers on x86_64.
4309 Reported by: Peter Jones.
4310
4311 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/term/efi/console.c: Fix compile error.
4314
4315 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Compressed HFS+ support.
4318
4319 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4322 pixel".
4323
4324 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 Menu color test.
4327
4328 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/tests/setjmp_test.c: New test.
4331
4332 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 New variables 'net_default_*' to determine MAC/IP of default interface.
4335
4336 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * tests/gettext_strings_test.in: A test to check for strings not
4339 marked for translation.
4340
4341 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * autogen.sh: Exclude unused libgcrypt files from translation.
4344
4345 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Simplify few strings.
4348
4349 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Mark few forgotten strings for translation.
4352
4353 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4356 rather than printf.
4357
4358 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4361 rather than printf.
4362 * grub-core/video/readers/tga.c: Likewise.
4363
4364 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * tests/priority_queue_unit_test.cc: New test.
4367
4368 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4371 than printf.
4372
4373 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4374
4375 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4376 variable for one time boot menu entry.
4377
4378 2013-05-05 Bean <bean123ch@gmail.com>
4379
4380 * grub-core/commands/testspeed.c: New command testspeed.
4381
4382 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 Factor-out human-size printing.
4385
4386 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Agglomerate more mallocs to speed-up gfxterm.
4389
4390 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Speed-up gfxterm by slightly agglomerating mallocs.
4393
4394 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 More video checks.
4397
4398 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 Speed-up gfxterm by saving intermediate results in index+alpha
4401 format.
4402
4403 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4406 test.
4407
4408 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4411 line of timeout as it may contain the rest of long line.
4412
4413 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/normal/main.c: Fix freed memory dereference.
4416
4417 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 Fix several memory leaks.
4420
4421 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4424
4425 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4428
4429 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 Fix test -a and -o precedence.
4432 Reported by: adrian15.
4433
4434 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4437
4438 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4439
4440 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4441 and add it as source to functional_test module.
4442
4443 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4446
4447 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 New series of tests for gfxterm and gfxmenu.
4450
4451 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4454 the theme path relative to $prefix/themes.
4455
4456 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4459 Fix order bug.
4460 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4461
4462 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4465 descriptor.
4466
4467 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4470 grub_gfxmenu_timeout_notifications.
4471 (grub_gfxmenu_view_destroy): Likewise.
4472
4473 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4476
4477 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 Several fixes to ieee1275 and big-endian video.
4480
4481 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 Add missing exports on mips.
4484
4485 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4488 if no unifont is found.
4489 Restore original keyboard.
4490
4491 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4494 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4495
4496 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 First automated video test (running videotest and comparing results)
4499
4500 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4503 instead of 2 to have full RGB/CMY test pattern.
4504
4505 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Add few more tests.
4508
4509 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4512 ARCS. All users updated.
4513
4514 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4517
4518 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4521
4522 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4525 Reported by: qwertial.
4526
4527 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4528
4529 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4530 with syntax "XXX deg"/"XXX °".
4531
4532 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 Make PCI init in i386-qemu port more robust.
4535
4536 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4537
4538 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4539 cached view is reused.
4540 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4541 open boot menus.
4542
4543 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Unify more code in grub-install_header.
4546
4547 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Add few new tests.
4550
4551 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Enforce disabling of firmware disk drivers when native drivers kick in.
4554
4555 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/commands/nativedisk.c: Customize the list of modules on
4558 platform. Don't try to search for disks already using native drivers.
4559
4560 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4563 platforms.
4564
4565 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4568 handling of variables containing backslash.
4569
4570 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4573 dereference.
4574 Reported by: qwertial.
4575
4576 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4579
4580 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4583 dereference.
4584 Reported by: qwertial.
4585
4586 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4589
4590 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4593
4594 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 New command `nativedisk'.
4597
4598 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4601 * grub-core/loader/i386/bsd.c: Likewise.
4602
4603 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4606
4607 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4610 grub_get_unaligned16 rather than shifts.
4611
4612 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/kern/file.c: Use const char * rather than casting to
4615 non-const.
4616
4617 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/commands/probe.c: Add missing grub_device_close.
4620
4621 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * INSTALL: Document linguas.sh.
4624
4625 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Remove POTFILES.in and regenerate it in autogen.sh.
4628
4629 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Move --directory/--override-directorry to grub-install_header and unify.
4632
4633 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/term/morse.c: Macroify dih and dah.
4636
4637 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4638
4639 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4640
4641 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/term/ns8250.c: Systematically probe ports by writing
4644 to SR before using them.
4645
4646 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4647
4648 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4649 disks.
4650 (check_sas): Get sas_adress info.
4651
4652 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4655 ports.
4656
4657 2013-04-27 Leon Drugi <eyak>
4658
4659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4660 BSS clearing.
4661
4662 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 Core compression test.
4665
4666 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Implement grub_machine_get_bootlocation for ARC.
4669
4670 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Improve AHCI detection and command issuing.
4673
4674 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Fix pseries test.
4677
4678 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Make 'make check' work on emu.
4681
4682 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 Replace libcurses with our own vt100 handling for the ease of testing
4685 and decreasing prerequisites.
4686
4687 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4690
4691 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4694 compile when not needed.
4695
4696 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * tests/pseries_test.in: New test.
4699
4700 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 Add test to check that different boot mediums work.
4703
4704 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4707 ofw limited ISO support.
4708
4709 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * configure.ac: Fix loongson conditional.
4712
4713 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 Enable mipsel-arc.
4716
4717 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Add serial on ARC platform.
4720
4721 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4724 commit.
4725
4726 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * tests/partmap_test.in: Add missing double semicolon.
4729
4730 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * util/grub-mkrescue.in: Fix loongson filename.
4733
4734 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * util/grub-mkrescue.in: Move all files that don't have a location
4737 set in stone under /boot/grub. Use ISO hard links rather than copies
4738 to save some space.
4739
4740 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4743 bogus SLOF values.
4744
4745 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 Make check work on mips-arc.
4748
4749 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * util/grub-mkrescue.in: Alias sashARCS as sash.
4752
4753 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4756 it's serial.
4757
4758 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * util/grub-install.in: Fix target fo qemu_mips.
4761 Fix extension on EFI.
4762
4763 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4766 in front of chosen entry to mark it even if highlighting is lost.
4767
4768 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4771 gfxpayload=keep if cbfb is active.
4772
4773 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4776
4777 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Add missing video ids to coreboot and ieee1275 video.
4780
4781 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * util/grub-mkrescue.in: Add mips-arc support.
4784
4785 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4788
4789 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Move mips-arc link address. Previous link address was chosen
4792 in belief that RAM on SGI platforms grows down while in fact it
4793 grows up from an unusual base.
4794
4795 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4798 Fix a type which prevented CD-ROM and floppy boot.
4799
4800 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 Support coreboot framebuffer.
4803
4804 * grub-core/video/i386/coreboot/cbfb.c: New file.
4805
4806 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4809 detecting too small regions.
4810
4811 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4814
4815 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4818 Remove dprintf.
4819 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4820
4821 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4824 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4825 * grub-core/loader/powerpc/ieee1275/linux.c
4826 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4827
4828 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4831 Look for /boot-rom as well as /rom/boot-rom.
4832
4833 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4836 handling when creating text_layer failed.
4837 * grub-core/video/video.c (grub_video_create_render_target):
4838 Set result to 0 on error.
4839 (grub_video_delete_render_target): Do not dereference NULL.
4840
4841 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4844 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4845 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4846 (grub_linux_load64): Mask out 2 high bits.
4847
4848 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4849
4850 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4851 more place.
4852
4853 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Add support for pseries and other bootinfo machines to grub-mkrescue.
4856
4857 Tested by: Paulo Flabiano Smorigo.
4858
4859 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * util/grub-mkrescue.in: Add GPT for EFI boot.
4862
4863 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4866 It improves performance in qemu.
4867
4868 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * build-aux/snippet: Add missing gnulib files.
4871
4872 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4873
4874 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4875
4876 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4877
4878 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4879
4880 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4881 2013-04-15 Peter Jones <pjones@redhat.com>
4882
4883 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4884 sectors.
4885 Based on patch by Peter Jones.
4886
4887 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 Fix DMRAID partition handling.
4890
4891 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * tests/grub_cmd_date.in: Skip on sparc64.
4894
4895 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4898 firmware error messages.
4899
4900 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4903 source and destination differ.
4904
4905 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4908 detection.
4909
4910 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4913 match config-util.h to avoid warnings and increase compatibility.
4914
4915 2013-04-14 Szymon Janc <szymon@janc.net.pl>
4916 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Add option to compress files on install/image creation.
4919
4920 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * docs/grub-dev.texi: Rearrange menu to match the section order.
4923 Reported by: Bryan Hundven.
4924
4925 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4928
4929 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 Move GRUB out of system area when using xorriso 1.2.9 or later.
4932
4933 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * tests/grub_cmd_date.in: Add missing exit 1.
4936
4937 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * tests/partmap_test.in: Skip on sparc64.
4940
4941 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 Support grub-shell on sparc64.
4944
4945 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 Support mkrescue on sparc64.
4948
4949 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4952 Needed on OpenBIOS due to incomplete device tree.
4953
4954 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4957 would be otherwise excluded.
4958
4959 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4962 Inline name defines used only once.
4963
4964 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Fix memory leaks in ofnet.
4967 Reported by: Francesco Lavra.
4968
4969 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * docs/man/grub-glue-efi.h2m: Add missing file.
4972
4973 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4976
4977 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 Better support Apple Intel Macs on CD.
4980
4981 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Replace stpcpy with grub_stpcpy in tools.
4984
4985 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Handle Japanese special keys.
4988 Reported by: Hiroyuki YAMAMORI.
4989 Codes supplied by: Hiroyuki YAMAMORI.
4990
4991 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * util/grub-mkimage.c: Document memdisk implying --prefix.
4994
4995 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4998 much we can do about it anyway.
4999
5000 2013-04-12 Aleš Nesrsta <starous@volny.cz>
5001
5002 Fix handling of split transfers.
5003
5004 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/net/http.c: Fix bad free.
5007
5008 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5011 than buffer size.
5012
5013 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5016
5017 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * tests/util/grub-shell.in: Fix it on powerpc.
5020
5021 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Turn off QEMU ACPI-way since new releases don't have shutdown port
5024 anymore.
5025
5026 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * docs/grub.texi: Update coreboot status info.
5029
5030 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * tests/grub_cmd_date.in: New test for datetime.
5033
5034 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * tests/partmap_test.in: Fix missing qemudisk setting.
5037
5038 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 Support i386-ieee1275 grub-mkrescue and make check on it.
5041
5042 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5045 feature for it.
5046
5047 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5050 GRUB_CMDLINE_XEN_DEFAULT.
5051 Reported by: Marc Warne (GigaTux) <gigatux>
5052
5053 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 Import new gnulib.
5056
5057 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Use ACPI shutdown intests as traditional port was removed.
5060
5061 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5062
5063 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5064 distinction.
5065
5066 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5069 Fix few warining messages and leaks while on it.
5070
5071 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5072
5073 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5074 links under grub-core/lib/libgcrypt-grub/mpi.
5075
5076 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 Fix ia64-efi image generation on big-endian machines. Deduplicate
5079 some code while on it.
5080 Reported by: Leif Lindholm.
5081
5082 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5083
5084 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5085 as extra_dist.
5086
5087 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5088
5089 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5090
5091 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5092
5093 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5094 texinfo-5.1.
5095
5096 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/normal/term.c: Few more fixes for menu entry editor
5099 rendering.
5100 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5101
5102 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * grub-core/normal/term.c: Few more fixes for menu entry editor
5105 rendering.
5106 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5107
5108 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5109
5110 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5111 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5112
5113 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5114
5115 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5116 instead of hardcoding grub.mo.
5117
5118 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5119
5120 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5121
5122 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5125 grub-core/disk/geli.c.
5126
5127 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * util/grub-mkfont.c: Prefer enum to #define.
5130
5131 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5134
5135 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5138
5139 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5142
5143 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5146
5147 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * include/grub/bsdlabel.h: Use enums.
5150
5151 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 Move GRUB_CHAR_BIT to types.h.
5154
5155 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5156
5157 * docs/grub.texi: Document more user commands.
5158
5159 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5160
5161 * docs/grub.texi: Document menuentry --id option.
5162
5163 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5164
5165 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5166
5167 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 Unify file copying setup across different install scripts. Add
5170 options for performing partial install.
5171
5172 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5173 2013-04-04 Peter Jones <pjones@redhat.com>
5174
5175 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5176
5177 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Use TSC as a possible time source on i386-ieee1275.
5180
5181 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5184 Init err.
5185
5186 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * util/grub-setup.c (setup): Handle some corner cases.
5189
5190 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5193
5194 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/commands/verify.c: Save verified file to avoid it being
5197 tampered with after verification was done.
5198
5199 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5200
5201 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5202 reported width by one to compensate for curesor algorithm problem.
5203
5204 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 Fix screen corruption in menu entry editor and simplify the code
5207 flow while on it.
5208
5209 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5210
5211 * util/grub-mount.c (fuse_init): Return error if fuse_main
5212 failed.
5213
5214 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5215
5216 * include/grub/elf.h: Add missing ARM relocation codes and fix
5217 existing ones.
5218
5219 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5220
5221 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5222
5223 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5224 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5227 into account when calculating radius.
5228
5229 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5230
5231 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5232
5233 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5234
5235 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5236
5237 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5238
5239 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5240 missing closing bracket.
5241
5242 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5243
5244 * INSTALL: Mention xorriso requirement.
5245
5246 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5247
5248 * grub-core/commands/verify.c: Fix hash algorithms values for
5249 the first three hashes - they start with 1, not with 0.
5250
5251 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5254 Try terminating EFI services several times due to quirks in some
5255 implementations.
5256
5257 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
5258
5259 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5260 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5261 BankField extended opcodes.
5262 (get_sleep_type): Add minimal scope handling (just enough to
5263 handle setting the scope to the root path).
5264 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5265 * include/grub/acpi.h: Add enumeration values for Event, Device,
5266 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5267
5268 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5269
5270 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5271 memory leak.
5272
5273 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/disk/ahci.c: Give more time for AHCI request.
5276
5277 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5280 command.
5281
5282 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Replace the region at 0 from coreboot tables to available in BSD
5285 memory map.
5286
5287 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5290 non-BIOS platforms.
5291
5292 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5295 platforms.
5296
5297 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5300 handling of multi-device filesystems.
5301
5302 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5305 platforms.
5306
5307 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Add new 'proc' filesystem framework and put luks_script into it.
5310
5311 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5314 and qemu.
5315
5316 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5319
5320 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Add ability to generate newc additions on runtime.
5323
5324 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5327 description.
5328
5329 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * po/POTFILES.in: Regenerate.
5332
5333 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/commands/verify.c (hashes): Add several hashes
5336 from the spec.
5337
5338 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Slight improve in USB-related boot-time checkpoints.
5341
5342 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/commands/boottime.c: Fix copyright header.
5345
5346 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5349 coreboot tables content. Support for cbmemc.
5350
5351 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 Fix a conflict between ports structures with 2 controllers of
5354 same kind.
5355
5356 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * include/grub/boottime.h: Add missing file.
5359
5360 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 Initialize USB ports in parallel to speed-up boot.
5363
5364 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Fix USB devices not being detected when requested
5367 due to delayed attach.
5368
5369 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 Implement boot time analysis framework.
5372
5373 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Remove get_endpoint_descriptor and change all functions needing
5376 descriptor to just receive it as argument rather than endpoint
5377 address.
5378
5379 2013-03-19 Aleš Nesrsta <starous@volny.cz>
5380
5381 Better estimate the maximum USB transfer size.
5382
5383 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 Resend a packet if we got the wrong buffer in status.
5386
5387 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5390 multiplication rather than division.
5391
5392 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5395 than divisions.
5396
5397 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5400 operations to have intended shifts and not divisions.
5401
5402 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5405 intended shifts rather than division.
5406
5407 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5410 computation for some years before epoch. Avode confusing division
5411 while on it.
5412
5413 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/video/i386/pc/vbe.c
5416 (grub_video_vbe_print_adapter_specific_info): Replace division by
5417 shifts.
5418
5419 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 Adjust types in gdb module to have intended unsigned shifts rather than
5422 signed divisions.
5423
5424 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5427 maximum size is 4G - 1 on hfs
5428
5429 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5432
5433 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5436 function.
5437
5438 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5439
5440 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5441 causing gcc error with gcc 4.7.1.
5442
5443 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5444
5445 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5446 dereference null pointer. While the code is technically correct, gcc
5447 may eliminate a null check if pointer is already dereferenced.
5448
5449 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5450
5451 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5452 OOM check.
5453 * grub-core/normal/term.c (read_terminal_list): Likewise.
5454
5455 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Lift up core size limits on some platforms. Fix potential memory
5458 corruption with big core on small memory systems. Document remaining
5459 limits.
5460
5461 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5464 gotoxy to 0,0.
5465
5466 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 Remove all trampoline support. Add -Wtrampolines when
5469 present. Remove symbols used for trampolines to make
5470 link fail if trampolines are present.
5471
5472 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5475 append out of its parent.
5476
5477 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5480 parent.
5481
5482 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5485 all vars to a macro. All users updated.
5486
5487 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5490 i386-ieee1275.
5491
5492 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5495
5496 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5499
5500 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Move to more hookless approach in IEEE1275 devices handling.
5503
5504 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/kern/term.c (grub_term_normal_color),
5507 (grub_term_highlight_color): Add back lost defaults.
5508
5509 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 Make elfload not use hooks. Opt for flags and iterators instead.
5512
5513 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5516 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5517
5518 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5521
5522 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5525 hook pass-through parameter. All users updated and unnested.
5526
5527 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5530 out of its parent.
5531
5532 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/fs/hfs.c: Remove nested functions.
5535
5536 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5539 the context through.
5540 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5541
5542 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * util/grub-editenv.c (list_variables): Move print_var out of its
5545 parent.
5546
5547 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5550 function.
5551
5552 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * grub-core/gentrigtables.c: Make tables const.
5555
5556 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Remove nested functions from videoinfo iterators.
5559
5560 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5563 for 64-bit platforms.
5564
5565 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5568 a FOR_CHILDREN macro.
5569
5570 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5573 platform from firmware path.
5574
5575 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 Enable linux16 on non-BIOS systems for i.a. memtest.
5578
5579 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5580 correctly.
5581 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5582
5583 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5586 Fix end of table condition.
5587
5588 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5591 out of its parent.
5592
5593 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/fs/jfs.c: Remove nested functions.
5596
5597 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/fs/minix.c: Remove nested functions.
5600
5601 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/fs/iso9660.c: Remove nested functions.
5604
5605 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5608 of parent function.
5609
5610 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * util/grub-fstest.c: Remove nested functions.
5613
5614 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/loader/machoXX.c: Remove nested functions.
5617
5618 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
5619
5620 Remove nested functions from disk and file read hooks.
5621
5622 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5623 (struct grub_disk): Add read_hook_data member.
5624 * include/grub/file.h (struct grub_file): Likewise.
5625 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5626 argument.
5627
5628 Update all callers.
5629
5630 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5631
5632 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5633 Fix off by one error in enumerating extended partitions.
5634
5635 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5636
5637 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5638 memory leak if device name is not found.
5639
5640 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5641
5642 * grub-core/normal/menu_entry.c (update_screen): remove
5643 unused variable `off' which caused scroll down arrow to be always shown.
5644
5645 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5646
5647 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5648 access to unallocated memory.
5649
5650 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5651
5652 * Makefile.util.def: Add partmap/msdos.c to common library.
5653 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5654 * grub-core/disk/ldm.c: Check for existence of
5655 GRUB_PC_PARTITION_TYPE_LDM.
5656
5657 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5660 sizes and display sector size.
5661
5662 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 Implement new command cmosdump.
5665
5666 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5667
5668 Support Openfirmware disks with non-512B sectors.
5669
5670 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5671 size of the disk.
5672 * (grub_ofdisk_get_block_size): New function.
5673 * (grub_ofdisk_prepare): Use the correct block size.
5674 * (grub_ofdisk_read): Likewise.
5675 * (grub_ofdisk_write): Likewise.
5676 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5677 New proto.
5678
5679 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5682
5683 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5686 on first error.
5687
5688 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5691 freeing it.
5692
5693 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Implement USBDebug (full USB stack variant).
5696
5697 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5700 unless they have unexpected values.
5701
5702 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5705 grub_print_error.
5706
5707 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5710 zero-out of port structure.
5711
5712 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5715 of extended attributes.
5716
5717 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5718
5719 * util/grub-install.in: change misleading comment about
5720 device.map creation
5721
5722 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5725 when menu highlight color isn't set.
5726
5727 2013-01-27 C. Masloch <pushbx@38.de>
5728
5729 Improve FreeDOS direct loading support compatibility.
5730
5731 * include/grub/i386/relocator.h (grub_relocator16_state):
5732 New member ebp.
5733 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5734 variable.
5735 (grub_relocator16_boot): Handle %ebp.
5736 * grub-core/lib/i386/relocator16.S: Likewise.
5737 * grub-core/loader/i386/pc/freedos.c:
5738 Load BPB to pass kernel which partition to load from.
5739 Check that kernel file is not too large.
5740 Set register dl to BIOS unit number as well.
5741
5742 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
5743
5744 * util/grub-reboot.in (usage): Document the need for
5745 GRUB_DEFAULT=saved.
5746 * util/grub-set-default.in (usage): Likewise.
5747 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5748
5749 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5752 than defining WORDS_BIGENDIAN manually.
5753
5754 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5757 invariants.
5758
5759 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5760
5761 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5762 nested.
5763 (blit_comb: add_device_width): Likewise.
5764
5765 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5766
5767 Remove nested functions from USB iterators.
5768
5769 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5770 (grub_usb_controller_iterate_hook_t): Likewise.
5771 (grub_usb_iterate): Add hook_data argument.
5772 (grub_usb_controller_iterate): Likewise.
5773 (struct grub_usb_controller_dev.iterate): Likewise.
5774
5775 Update all implementations and callers.
5776
5777 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5780 margin when not needed.
5781
5782 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Make color variables global instead of it being per-terminal.
5785
5786 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5789 asterisk.
5790
5791 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5792
5793 Fix powerpc and sparc64 build failures caused by un-nesting memory
5794 map iterators.
5795
5796 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5797
5798 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5799 parameter declarations.
5800
5801 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5804
5805 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 Improve spkmomdem reliability by adding a separator between bytes.
5808
5809 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5810
5811 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5812 an Acer registration utility with several sightings in the wild.
5813 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5814
5815 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5816
5817 Remove nested functions from filesystem directory iterators.
5818
5819 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5820 (struct grub_fs.dir): Add hook_data argument.
5821
5822 Update all implementations and callers.
5823
5824 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5825
5826 * docs/grub.texi (Multi-boot manual config): Fix typo for
5827 "recommended".
5828
5829 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5830
5831 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5832 until after its use in generate_image.
5833
5834 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5835
5836 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5837 initrd size to addr_min, since the initrd will be allocated after
5838 this address.
5839
5840 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5841
5842 * conf/Makefile.common: Fix autogen rules to pass definition
5843 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5844
5845 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5846
5847 * include/grub/elf.h: Update ARM definitions based on binutils.
5848
5849 2013-01-20 Aleš Nesrsta <starous@volny.cz>
5850
5851 Split long USB transfers into short ones.
5852
5853 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5854
5855 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5856 is interrupted by ESC.
5857
5858 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-script-check.c (main): Uniform the error message.
5861
5862 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5863
5864 Remove nested functions from ELF iterators.
5865
5866 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5867
5868 Remove nested functions from device iterators.
5869
5870 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5871 (grub_arc_iterate_devs): Add hook_data argument.
5872 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5873 (struct grub_ata_dev.iterate): Add hook_data argument.
5874 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5875 (grub_device_iterate): Add hook_data argument.
5876 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5877 (struct grub_disk_dev.iterate): Add hook_data argument.
5878 (grub_disk_dev_iterate): Likewise.
5879 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5880 Likewise.
5881 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5882 Likewise.
5883 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5884 type.
5885 (struct grub_partition_map.iterate): Add hook_data argument.
5886 (grub_partition_iterate): Likewise.
5887 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5888 (struct grub_scsi_dev.iterate): Add hook_data argument.
5889
5890 Update all callers.
5891
5892 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5893
5894 Fix typos for "developer" and "development".
5895
5896 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 Add license header to spkmodem-recv.c.
5899
5900 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Rewrite spkmodem to use PIT for timing. Double the speed.
5903
5904 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Add new command pcidump.
5907
5908 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 New terminal outputs using serial: morse and spkmodem.
5911
5912 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Improve bidi handling in entry editor.
5915
5916 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5919 argument to prevent name collision.
5920
5921 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5922
5923 Remove nested functions from script reading and parsing.
5924
5925 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5926 getline_data argument, passed to getline.
5927 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5928 getline_data argument, passed to grub_parser_split_cmdline.
5929 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5930 lexerstate->getline_data to lexerstate->getline.
5931 (grub_script_lexer_init): Add getline_data argument, saved in
5932 lexerstate->getline_data.
5933 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5934 argument, passed to grub_script_parse.
5935 * grub-core/script/script.c (grub_script_parse): Add getline_data
5936 argument, passed to grub_script_lexer_init.
5937 * include/grub/parser.h (grub_parser_split_cmdline): Update
5938 prototype. Update all callers to pass appropriate getline data.
5939 (struct grub_parser.parse_line): Likewise.
5940 (grub_rescue_parse_line): Likewise.
5941 * include/grub/reader.h (grub_reader_getline_t): Add void *
5942 argument.
5943 * include/grub/script_sh.h (struct grub_lexer_param): Add
5944 getline_data member.
5945 (grub_script_parse): Update prototype. Update all callers to pass
5946 appropriate getline data.
5947 (grub_script_lexer_init): Likewise.
5948 (grub_normal_parse_line): Likewise.
5949
5950 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5951 data argument.
5952 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5953 static instead of nested. Rename to ...
5954 (grub_parser_execute_getline): ... this.
5955 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5956 data argument.
5957 * grub-core/normal/main.c (read_config_file: getline): Make static
5958 instead of nested. Rename to ...
5959 (read_config_file_getline): ... this.
5960 (grub_normal_read_line): Add unused data argument.
5961 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5962 getline): Make static instead of nested. Rename to ...
5963 (grub_script_execute_sourcecode_getline): ... this.
5964 * util/grub-script-check.c (main: get_config_line): Make static
5965 instead of nested.
5966
5967 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5968
5969 Remove nested functions from memory map iterators.
5970
5971 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5972 argument, passed to hook.
5973 * grub-core/kern/i386/coreboot/mmap.c
5974 (grub_linuxbios_table_iterate): Likewise.
5975 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5976 instead of nested.
5977 (grub_machine_mmap_iterate): Add hook_data argument.
5978 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5979 Add hook_data argument, passed to hook.
5980 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5981 Likewise.
5982 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5983 Likewise.
5984 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5985 Likewise.
5986 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5987 Likewise.
5988 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5989 Likewise.
5990 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5991 Likewise.
5992 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5993 (grub_machine_mmap_iterate): Likewise.
5994 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5995 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5996 prototype.
5997 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5998 Remove NESTED_FUNC_ATTR from here and from all users.
5999 (grub_mmap_iterate): Update prototype.
6000 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6001 pass appropriate hook data.
6002 (grub_machine_mmap_iterate): Likewise.
6003
6004 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6005 static instead of nested.
6006 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6007 Rename to ...
6008 (lsmmap_hook): ... this.
6009 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6010 Likewise.
6011 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6012 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6013 heap_init): Likewise.
6014 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6015 Rename to ...
6016 (mmap_iterate_hook): ... this.
6017 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6018 Likewise.
6019 * grub-core/lib/ieee1275/relocator.c
6020 (grub_relocator_firmware_get_max_events: count): Likewise.
6021 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6022 to ...
6023 (grub_relocator_firmware_fill_events_iter): ... this.
6024 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6025 hook): Likewise. Rename to ...
6026 (grub_relocator_alloc_chunk_align_iter): ... this.
6027 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6028 Rename to ...
6029 (generate_e820_mmap_iter): ... this.
6030 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6031 Rename to ...
6032 (count_hook): ... this.
6033 (grub_linux_boot: hook): Likewise. Rename to ...
6034 (grub_linux_boot_mmap_find): ... this.
6035 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6036 (grub_linux_boot_mmap_fill): ... this.
6037 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6038 hook): Likewise. Rename to ...
6039 (grub_fill_multiboot_mmap_iter): ... this.
6040 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6041 hook): Likewise. Rename to ...
6042 (count_hook): ... this.
6043 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6044 hook): Likewise. Rename to ...
6045 (grub_fill_multiboot_mmap_iter): ... this.
6046 * grub-core/loader/powerpc/ieee1275/linux.c
6047 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6048 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6049 Likewise. Rename to ...
6050 (alloc_phys_choose): ... this.
6051 (determine_phys_base: get_physbase): Likewise.
6052 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6053 find_hook): Likewise.
6054 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6055 (malloc_hook: count_hook): Likewise.
6056 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6057 Likewise. Rename to ...
6058 (lower_hook): ... this.
6059 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6060 (upper_hook): ... this.
6061 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6062 (post64_hook): ... this.
6063 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6064 Likewise. Rename to ...
6065 (lower_hook): ... this.
6066 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6067 (upper_hook): ... this.
6068 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6069 (grub_mmap_iterate: fill_hook): Likewise.
6070 (fill_mask): Pass addr and mask within a single struct.
6071 (grub_cmd_badram: hook): Make static instead of nested. Rename
6072 to ...
6073 (badram_iter): ... this.
6074 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6075 (cutmem_iter): ... this.
6076
6077 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6080 delimit path in strings using quotes.
6081 * util/getroot.c (grub_guess_root_devices): Likewise.
6082 (grub_make_system_path_relative_to_its_root): Likewise.
6083 * util/grub-probe.c (probe): Likewise.
6084 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6085 (xrealpath): Likewise.
6086
6087 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 Fix compilation with older compilers.
6090
6091 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6092 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6093 declarations.
6094 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6095 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6096 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6097 identifier with b.
6098 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6099 * include/grub/crypto.h: Add type defines.
6100 * util/import_gcrypth.sed: Remove duplicate type defines.
6101
6102 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 New command list_trusted.
6105
6106 * grub-core/commands/verify.c (grub_cmd_list): New function.
6107
6108 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6109
6110 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6111 info message.
6112
6113 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6114
6115 Remove nested functions from PCI iterators.
6116
6117 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6118 passed to hook. Update all callers to pass appropriate hook data.
6119 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6120 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6121 Remove NESTED_FUNC_ATTR from here and from all users.
6122 (grub_pci_iterate): Update prototype.
6123 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6124 instead of nested. Rename to ...
6125 (grub_cs5536_find_iter): ... this.
6126 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6127 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6128 Likewise.
6129 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6130 Likewise.
6131 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6132 Likewise.
6133 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6134 Likewise.
6135 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6136 * grub-core/video/radeon_fuloong2e.c
6137 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6138 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6139 find_card): Likewise.
6140 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6141 Likewise.
6142
6143 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/commands/verify.c: Mark messages for translating.
6146
6147 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6150 fatal.
6151
6152 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6155 fatal.
6156
6157 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * autogen.sh: Do not try to delete nonexistant files.
6160 * util/import_gcrypth.sed: Add some missing header removals.
6161
6162 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
6163
6164 Clean up dangling references to grub-setup.
6165 Fixes Ubuntu bug #1082045.
6166
6167 * docs/grub.texi (Images): Refer generally to grub-install rather
6168 than directly to grub-setup.
6169 (Installing GRUB using grub-install): Remove direct reference to
6170 grub-setup.
6171 (Device map) Likewise.
6172 (Invoking grub-install): Likewise.
6173 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6174 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6175 * util/grub-install.in (usage): Likewise.
6176
6177 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6178 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6179 grub-setup.
6180 * configure.ac: Remove grub_setup output variable.
6181
6182 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6183 to grub-bios-setup.
6184 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6185 grub-setup to grub-sparc64-setup.
6186
6187 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Import gcrypt public-key cryptography and implement signature checking.
6190
6191 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * grub-core/fs/ntfs.c: Ue more appropriate types.
6194 * grub-core/fs/ntfscomp.c: Likewise.
6195 * include/grub/ntfs.h: Likewise.
6196
6197 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Support Apple FAT binaries on non-Apple platforms.
6200
6201 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6202 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6203 Likewise.
6204 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6205 Apple FAT binaries.
6206
6207 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6210 sector devices.
6211
6212 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6213
6214 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6215 explicitly zeroing elements.
6216 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6217 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6218 of elements in a structure already allocated using grub_zalloc.
6219 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6220
6221 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6222
6223 * docs/grub.texi (grub_cpu): New subsection.
6224 (grub_platform): Likewise.
6225
6226 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6229
6230 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6233 divisions.
6234
6235 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6238 * grub-core/fs/ntfscomp.c: Likewise.
6239 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6240 (grub_ntfs_comp): Likewise.
6241
6242 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6245 Rename to ...
6246 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6247 of groups_per_block. All users updated.
6248
6249 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6252 grub_error properly.
6253 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6254 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6255
6256 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6259 always in /boot/zfs.
6260 Reported by: Yuta Satoh.
6261
6262 2013-01-03 Yuta Satoh <nigoro>
6263
6264 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6265 ${grub_probe}
6266
6267 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * configure.ac: Extend -Wno-trampolines to host.
6270
6271 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6274 entry->len = 0.
6275
6276 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6277
6278 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6279 (Invoking grub-script-check): Likewise.
6280
6281 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6282
6283 * docs/grub.texi (Invoking grub-mount): New section.
6284 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6285
6286 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6287
6288 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6289 test failures, so that a failing unit test correctly causes 'make
6290 check' to fail.
6291
6292 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6293
6294 Fix failing printf test.
6295
6296 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6297 '$' in the correct order when collecting type information.
6298
6299 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6300
6301 * docs/grub.texi (configfile): Explain environment variable
6302 handling.
6303 (source): New section.
6304 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6305
6306 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
6307
6308 Remove several trivially-unnecessary uses of nested functions.
6309
6310 * grub-core/commands/i386/pc/sendkey.c
6311 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6312 instead of nested.
6313 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6314 Rename to ...
6315 (legacy_file_getline): ... this.
6316 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6317 Likewise.
6318 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6319 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6320 to ...
6321 (probe_dummy_iter): ... this.
6322 * grub-core/kern/i386/coreboot/mmap.c
6323 (grub_linuxbios_table_iterate: check_signature): Likewise.
6324 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6325 check_varstate): Likewise. Mark inline.
6326 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6327 an additional parameter.
6328 (find_long: fnd_long): Likewise. Pass two additional parameters.
6329 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6330 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6331 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6332 Likewise. Rename to ...
6333 (grub_cmos_find_port_iter): ... this.
6334 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6335 Rename to ...
6336 (find_rtc_iter): ... this.
6337
6338 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6339 function directly into the function body, since it is only called
6340 once.
6341
6342 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
6343
6344 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6345 __attribute__ ((unused)).
6346 * grub-core/video/bochs.c (find_card): Likewise.
6347 * grub-core/video/cirrus.c (find_card): Likewise.
6348 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6349 * grub-core/video/sis315pro.c (find_card): Likewise.
6350 * grub-core/video/sm712.c (find_card): Likewise.
6351
6352 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6353
6354 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6355 Fixes Savannah bug #37821.
6356
6357 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6358
6359 Apply program name transformations at build-time rather than at
6360 run-time. Fixes Debian bug #696465.
6361
6362 * acinclude.m4 (grub_TRANSFORM): New macro.
6363 * configure.ac: Create output variables with transformed names for
6364 most programs.
6365 * util/bash-completion.d/grub-completion.bash.in: Use
6366 pre-transformed variables for program names.
6367 * util/grub-install.in: Likewise.
6368 * util/grub-kbdcomp.in: Likewise.
6369 * util/grub-mkconfig.in: Likewise.
6370 * util/grub-mkconfig_lib.in: Likewise.
6371 * util/grub-mknetdir.in: Likewise.
6372 * util/grub-mkrescue.in: Likewise.
6373 * util/grub-mkstandalone.in: Likewise.
6374 * util/grub-reboot.in: Likewise.
6375 * util/grub-set-default.in: Likewise.
6376 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6377 * tests/util/grub-shell-tester.in: Remove unused assignment.
6378 * tests/util/grub-shell.in: Likewise.
6379 * util/grub.d/00_header.in: Likewise.
6380
6381 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6382
6383 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6384
6385 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6386 HAVE_RAW_DECL_GETS.
6387 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6388
6389 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6392 Reported by: Eriks Latosheks <foresterlv>.
6393
6394 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * docs/grub.texi (Network): Update instructions on generating netboot
6397 image.
6398
6399 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6402 around device name if necessarry.
6403
6404 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6405
6406 * util/grub-install.in: Follow the symbolic link parameter added
6407 to the file command.
6408
6409 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6410
6411 * util/grub-install.in: Remove stale TODO.
6412
6413 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6414
6415 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6416 dynamic allocation for the bootpath buffer.
6417
6418 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6419
6420 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6421 window too small.
6422
6423 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6426 argument rather than font name. All users updated.
6427 (grub_gfxterm_set_window): Likewise.
6428
6429 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6430
6431 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6432 from working.
6433
6434 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * util/getroot.c (convert_system_partition_to_system_disk): Support
6437 nbd disks.
6438
6439 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6442 infinite loop on corrupted FS.
6443
6444 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Fix big-endian mtime.
6447
6448 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6449 together sec and usec.
6450 (grub_ufs_dir): Use correct byteswapping for UFS time.
6451
6452 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 Support big-endian UFS1.
6455
6456 * Makefile.util.def (libgrubmods): Add ufs_be.c
6457 * grub-core/Makefile.core.def (ufs1_be): New module.
6458 * grub-core/fs/ufs_be.c: New file.
6459 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6460 the file.
6461
6462 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6463
6464 * include/grub/types.h: Fix functionality unaffecting typo in
6465 GRUB_TARGET_WORDSIZE conditional macro.
6466
6467 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6468
6469 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6470
6471 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6472
6473 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6474 that /netbsd appears first (when it exists).
6475
6476 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
6477
6478 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6479 Fixes Savannah bug #37558.
6480
6481 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
6482
6483 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6484 description of extract_entries_configfile.
6485
6486 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
6487
6488 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6489 preferred_address.
6490 (grub_cmd_linux): Likewise.
6491 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6492 preferred_lifetime. Update all users.
6493
6494 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6495
6496 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6497 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6498
6499 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6500
6501 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6502 errors from grub-probe to /dev/null, not stdout.
6503
6504 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6507 sector 1.
6508
6509 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
6510
6511 * util/grub-install.in: Make the error message if $source_dir
6512 doesn't exist more useful.
6513
6514 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
6515
6516 Fix grub-emu build on FreeBSD.
6517
6518 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6519 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6520 headers on Linux.
6521 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6522 implementation is currently Linux-specific.
6523 * util/getroot.c (exec_pipe): Define only on Linux or when either
6524 libzfs or libnvpair is unavailable.
6525 (find_root_devices_from_poolname): Remove unused path variable.
6526
6527 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6528
6529 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6530 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6531 should fit before end == 63.
6532
6533 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6534
6535 * util/grub-setup.c (write_rootdev): Remove unused core_img
6536 parameter. Update all callers.
6537 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6538 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6539 GRUB_SETUP_BIOS.
6540
6541 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6544 (grub_add_tab): New function.
6545 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6546 * util/grub.d/10_illumos.in: Likewise.
6547 * util/grub.d/10_kfreebsd.in: Likewise.
6548 * util/grub.d/10_linux.in: Likewise.
6549 * util/grub.d/10_netbsd.in: Likewise.
6550 * util/grub.d/10_windows.in: Likewise.
6551 * util/grub.d/10_xnu.in: Likewise.
6552 * util/grub.d/20_linux_xen.in: Likewise.
6553 * util/grub.d/30_os-prober.in: Likewise.
6554
6555 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6558 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6559 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6560 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6561 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6562 ieee1275-nocursor.
6563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6564 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6565
6566 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6569 le-conversion.
6570 Reported by: BURETTE, Bernard.
6571
6572 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
6573
6574 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6575 from comment.
6576
6577 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
6578
6579 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6580 IEEE1275 machines. Fixes powerpc-emu compilation.
6581 * include/grub/terminfo.h: Likewise.
6582
6583 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6586 a const pointer.
6587 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6588 const pointer.
6589 (efiemu_set_variable): Make vendor_guid a const pointer.
6590
6591 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 Don't require grub-mkconfig_lib to generate manpages for programs.
6594
6595 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6596 dependencies, don't add grub-mkconfig_lib.
6597 (program): Pass empty adddeps.
6598 (script): Pass grub-mkconfig_lib as adddeps.
6599
6600 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6603 * util/getroot.c (grub_find_device): Likewise.
6604 (get_mdadm_uuid): Likewise.
6605 (grub_util_is_imsm): Likewise.
6606 (grub_util_pull_device): Likewise.
6607 * util/grub-probe.c (probe): Likewise.
6608
6609 2012-09-10 Benoit Gschwind <gschwind>
6610
6611 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6612 (devs): Add devpath_8.
6613
6614 2012-09-08 Peter Jones <pjones@redhat.com>
6615
6616 * grub-core/Makefile.core.def (efifwsetup): New module.
6617 * grub-core/commands/efi/efifwsetup.c: New file.
6618 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6619 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6620 New define.
6621 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6622
6623 2012-09-05 Jiri Slaby <jslaby@suse.cz>
6624
6625 * configure.ac: Add SuSe path.
6626
6627 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6628
6629 * NEWS: Fix typo.
6630
6631 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6632
6633 * util/import_gcry.py: Sort cipher_files, to make build system
6634 generation more deterministic.
6635
6636 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6639 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6640 (grub_set_datetime): Likewise.
6641
6642 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6645 warnings.
6646
6647 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6650
6651 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6654
6655 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6656
6657 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6658 required for checkouts from bzr, but it may be useful for users or
6659 distributors wishing to update translations against a tarball
6660 distribution, and it can be helpful for the tarball to be a superset
6661 of what's in bzr.
6662
6663 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6664
6665 * Makefile.am (EXTRA_DIST): Add
6666 grub-core/tests/boot/linux.init-mips.S,
6667 grub-core/tests/boot/linux.init-ppc.S, and
6668 grub-core/tests/boot/linux-ppc.cfg.
6669
6670 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6671
6672 * grub-core/mmap/mips/loongson: Remove empty directory.
6673
6674 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6677 gone.
6678
6679 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6682 grub-sparc64-setup.
6683
6684 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6685
6686 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6687
6688 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6689
6690 * po/POTFILES.in: Regenerated.
6691
6692 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6693
6694 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6695 (NetBSD): New subsection.
6696
6697 2012-07-22 Ales Nesrsta <starous@volny.cz>
6698
6699 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6700 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6701
6702 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6705 * util/grub.d/10_hurd.in: Add missing quoting.
6706 * util/grub.d/10_illumos.in: Likewise.
6707 * util/grub.d/10_kfreebsd.in: Likewise.
6708 * util/grub.d/10_linux.in: Likewise.
6709 * util/grub.d/20_linux_xen.in: Likewise.
6710
6711 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 New command `lsefi'.
6714
6715 * grub-core/Makefile.core.def (lsefi): New module.
6716 * grub-core/commands/efi/lsefi.c: New file.
6717 * include/grub/efi/api.h: Add more GUIDs.
6718
6719 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6722 (grub_bsd_elf32_hook): Likewise.
6723 (grub_bsd_elf64_size_hook): Likewise.
6724 (grub_bsd_elf64_hook): Likewise.
6725 (grub_bsd_load_elf): Likewise.
6726
6727 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6730 if hash function is unavailable.
6731 (dec_stream_header): Likewise.
6732
6733 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6736 filter state.
6737
6738 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Fix coreboot compilation.
6741
6742 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6743 (grub_vga_text_init_real): ... this.
6744 (grub_vga_text_fini): Rename to ...
6745 (grub_vga_text_fini_real): ... this.
6746
6747 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6750
6751 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/lib/legacy_parse.c: Support clear and testload.
6754
6755 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6758
6759 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6762
6763 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/net/tftp.c (ack): Fix endianness problem.
6766 (tftp_receive): Likewise.
6767 Reported by: Michael Davidsaver.
6768
6769 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6772
6773 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6776 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6777 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6778
6779 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6782 efi_mmap_size.
6783 Reported by: Stuart Hayes.
6784
6785 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6788
6789 * grub-core/Makefile.core.def (mda_text): New module.
6790 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6791 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6792 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6793 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6794 here.
6795 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6796 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6797 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6798 here.
6799 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6800 to ..
6801 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6802 ... here
6803 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6804 here.
6805 * grub-core/term/i386/vga_common.c: Removed.
6806 * include/grub/i386/vga_common.h: Likewise.
6807 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6808 (grub_vga_cr_bw_read): Likewise.
6809 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6810 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6811 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6812 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6813 grub_vga_cr_read/grub_vga_cr_write.
6814 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6815
6816 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * configure.ac: Bump version to 2.00.
6819 * grub-core/normal/main.c (features): Add feature_200_final.
6820
6821 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6822 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6823
6824 * NEWS: Fix unclarity and language mistakes.
6825
6826 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6829 additional size to 3 pages.
6830 Reported by: Stuart Hayes.
6831
6832 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * NEWS: Add 2.00 entry.
6835
6836 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6839 put explicit "/" for empty path.
6840 (wildcard_expand): Improve dprintf.
6841
6842 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6845 it's equal to currnode. This can happen with "" symlink.
6846
6847 2012-06-27 Yves Blusseau <blusseau@zetam.org>
6848
6849 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6850 echo shell command by printf command.
6851
6852 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6855 the value returned by firmware is the maximal position, not diumension.
6856 (grub_terminfo_output_state): Use a more sane fallback.
6857
6858 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6861
6862 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6865 frequency to 150 MHz.
6866
6867 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 Apple fixes.
6870
6871 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6872 __APPLE_
6873 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6874 definition.
6875 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6876
6877 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Handle slash in HFS label.
6880
6881 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6882 (grub_hfs_dir): Tanslate slash.
6883 (grub_hfs_label): Don't translate slash.
6884
6885 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6888 network protocol listing since it introduces problematic dependency on
6889 net module.
6890
6891 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6894
6895 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 Init video early on yeeloong to avoid being rebooted by watchdog.
6898
6899 * grub-core/Makefile.am (gensm712): New target.
6900 (sm712_start.S): Likewise.
6901 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6902 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6903 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6904 description.
6905 * include/grub/vga.h: Move registry definitions to...
6906 * include/grub/vgaregs.h: ... here.
6907
6908 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6911 signedness.
6912
6913 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6916 platforms with firmware disk drivers in the core.
6917
6918 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6921 informative verbose message.
6922 (read_lv): Handle 64-bit segment size.
6923
6924 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6927
6928 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6931 character but still remove trainling spaces.
6932 (grub_fat_label): Ignore archive flag.
6933
6934 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6937 cast between linux_kernel_header and linux_kernel_params.
6938
6939 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6942 type for size.
6943 (grub_raid6_recover_func_t): Likewise.
6944 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6945 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6946
6947 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6950
6951 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6952
6953 Fix overflow.
6954
6955 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6956 [__NetBSD__]: Add explicit cast before bitshift.
6957
6958 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * configure.ac: Bump to 2.00~rc1.
6961
6962 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6965 half of $a0.
6966
6967 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6968 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6969
6970 * docs/grub.texi: Fix search syntax.
6971 (Multi-boot manual config): Put msdos rather than GPT example.
6972 Grammar corrections.
6973
6974 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6977
6978 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6981
6982 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6985 message on double free. Put the value of magic in case of mismatch.
6986
6987 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Speed-up video on yeeloong.
6990
6991 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6992 add cached_ptr.
6993 (grub_video_sm712_video_fini): Unmap cached_ptr.
6994 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6995 (grub_video_sm712_set_active_render_target): Removed.
6996 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6997 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6998 sync caches.
6999
7000 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Avoid flushing the same line multiple times on loongson.
7003
7004 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7005 Step in 32 bytes and not 1 byte.
7006 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7007 Likewise.
7008
7009 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7012 subvolumes.
7013
7014 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 Implement flow control for http.
7017
7018 * grub-core/net/http.c (parse_line): Handle response 206.
7019 (http_receive): Stall if too many packets are in the queue.
7020 (http_establish): Fix range header.
7021 (http_seek): Fix double free.
7022 (http_close): Likewise.
7023 (http_packets_pulled): New function.
7024 (grub_http_protocol): Set http_seek
7025 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7026 (ack_real): Set window depending on i_stall.
7027 (grub_net_send_tcp_packet): Likewise.
7028 (grub_net_tcp_stall): New function.
7029 (grub_net_tcp_unstall): Likewise.
7030 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7031 (grub_net_tcp_unstall): Likewise.
7032
7033 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7036
7037 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7040
7041 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * tests/util/grub-shell.in: Fix a typo.
7044
7045 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 Implement flow control for tftp.
7048
7049 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7050 packets but stop only if stop condition is satisfied.
7051 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7052 `stall' instead of `eof' as stop condition.
7053 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7054 (http_err): Likewise.
7055 * grub-core/net/tftp.c (ack): Replace the first argument with data
7056 instead of socket.
7057 (tftp_receive): Stall if too many packets are in wait queue.
7058 (tftp_packets_pulled): New function.
7059 (grub_tftp_protocol): Set packets_pulled.
7060 * include/grub/net.h (grub_net_packets): New field count.
7061 (grub_net_put_packet): Increment count.
7062 (grub_net_remove_packet): Likewise.
7063 (grub_net_app_protocol): New field `packets_pulled'.
7064 (grub_net): New field `stall'.
7065
7066 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7069 sync part to handle them.
7070
7071 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7074 * grub-core/net/drivers/ieee1275/ofnet.c
7075 (grub_ieee1275_net_config_real): Likewise.
7076
7077 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7080 the direct route for server/gateway.
7081
7082 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7085 IP address to server name since we may not hame the DNS.
7086
7087 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7090 freeing random buffer on failure.
7091 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7092
7093 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7096
7097 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7100 reserved bytes.
7101 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7102 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7103 Handle malloc error correctly.
7104
7105 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7108 blocks.
7109
7110 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7113 increment.
7114
7115 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7118 none is explicitly specified.
7119
7120 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7123 while reallocating.
7124
7125 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Respect netmask from bootp/dhcp.
7128
7129 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7130 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7131 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7132 into ...
7133 (grub_net_add_ipv4_local): ... this.
7134 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7135 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7136 (grub_net_add_ipv4_local): New proto.
7137
7138 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7141 determining EFI memory map size.
7142
7143 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7146
7147 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7150 when looking for partition separator.
7151
7152 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7155 Escape commas.
7156
7157 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Restructure FAT driver to avoid hook in label reading as it hits a
7160 GCC bug.
7161
7162 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7163 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7164 (grub_fat_iterate_dir): Split into ...
7165 (grub_fat_iterate_init): ... this, ...
7166 (grub_fat_iterate_fini): ... this, ...
7167 (grub_fat_iterate_dir_next): ... and this. All users updated.
7168
7169 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7172 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7173 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7174 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7175 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7176 New fields last_key and last_key_time.
7177 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7178 extended key-esc into extended key-extended key.
7179
7180 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Avoid unnecessary memcpy of whole video buffer.
7183
7184 * grub-core/video/fb/video_fb.c (dirty): New struct.
7185 (framebuffer): Add members current_dirty and previous_dirty.
7186 (dirty): New function.
7187 (grub_video_fb_fill_rect): Update dirty.
7188 (common_blitter): Likewise.
7189 (grub_video_fb_scroll): Likewise.
7190 (doublebuf_blit_update_screen): Copy only dirty part.
7191 (doublebuf_pageflipping_update_screen): Likewise.
7192 (grub_video_fb_doublebuf_blit_init): Init dirty.
7193 (doublebuf_pageflipping_init): Likewise.
7194 (grub_video_fb_setup): Likewise.
7195
7196 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7199 poll rate.
7200
7201 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 Fix wildcard regexp dot and other special characters handling.
7204 Reported by: Robert Mabee.
7205
7206 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7207 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7208 (split_path): Trigger expansion on '?'.
7209 (unescape): New function.
7210 (wildcard_expand): Unescape parts copied without globbing.
7211 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7212 (grub_script_arglist_to_argv): Don't unescape expansions.
7213
7214 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * include/grub/net.h (grub_net_card): New member txbufsize.
7217 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7218 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7219 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7220 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7221 txbufsize.
7222 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7223 compatible property to check for macs. Set
7224 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7225 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7226 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7227 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7228 (send_card_buffer): Use txbuf.
7229 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7230 nested function out of the parent while on it.
7231
7232 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7235 presence check.
7236 (grub_ieee1275_net_config_real): Fix config pointer.
7237
7238 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7241 filename parsing to non-block devices.
7242
7243 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7246
7247 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7250 All users updated.
7251
7252 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7255 UUID search command even if hints probing failed.
7256
7257 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * po/POTFILES.in: Regenerated.
7260
7261 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 Speed-up video on fuloong.
7264
7265 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7266 New function.
7267 (grub_pci_device_unmap_range): Handle non-cached address.
7268 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7269 add direct_ptr.
7270 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7271 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7272 (grub_video_sis315pro_set_active_render_target): Removed.
7273 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7274 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7275 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7276 sync caches.
7277 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7278 New proto.
7279
7280 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * docs/grub.texi (Multi-boot manual config): New section.
7283
7284 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Avoid slow read-back from VRAM.
7287
7288 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7289 Move from here ...
7290 * grub-core/video/fb/video_fb.c
7291 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7292 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7293 (front_target): Remove front_target. Add pages.
7294 (grub_video_fb_init): Skip setting front_pages.
7295 (grub_video_fb_fini): Likewise.
7296 (doublebuf_blit_update_screen): Use pages.
7297 (grub_video_fb_doublebuf_blit_init): Likewise.
7298 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7299 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7300 (grub_video_fb_setup): Prefer doublebuffing.
7301
7302 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7305 gzio.
7306
7307 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 Add loongson tests.
7310
7311 * tests/util/grub-shell.in: Handle loongson.
7312 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7313 drivers.
7314 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7315 Reboot instead of shutdown if REBOOT is defined.
7316
7317 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7320 sized ports since unlike on real hardware qemu supports only 32-bit
7321 regs.
7322
7323 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7326 * util/grub-mkrescue.in: Handle loongson.
7327
7328 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7331 Set is_part appropriately.
7332 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7333 names. Canonicalize partition without full disk.
7334
7335 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Revert usb-quiesce since it's wrong.
7338
7339 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7340 (grub_ofdisk_init): Don't do quiesce.
7341
7342 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7345 PowerMac workaround to Xserves as well.
7346 Information supplied by: Benjamin Herrenschmidt.
7347
7348 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 Don't assume that beginning address is also the entry point on ppc.
7351
7352 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7353 (grub_linux_boot): Use linux_entry.
7354 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7355 (grub_linux_load64): Likewise.
7356
7357 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7360
7361 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7364 needlessly lose the console.
7365
7366 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7369 space.
7370
7371 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7374 than current grub_get_rtc() not implemented when booted with
7375 coreboot without TSC.
7376
7377 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7378 Add machine/time.h to kernel headers on loongson.
7379 * grub-core/Makefile.core.def (kernel): Remove
7380 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7381 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7382 (grub_get_rtc): Likewise.
7383 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7384 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7385 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7386 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7387 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7388 rather than installing known non-working time source.
7389 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7390 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7391 * include/grub/time.h: Don't include machine/time.h.
7392 * include/grub/efi/time.h: Removed.
7393 * include/grub/i386/efi/time.h: Likewise.
7394 * include/grub/i386/ieee1275/time.h: Likewise.
7395 * include/grub/powerpc/ieee1275/time.h: Likewise.
7396 * include/grub/sparc64/ieee1275/time.h: Likewise.
7397 * include/grub/x86_64/efi/time.h: Likewise.
7398
7399 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 Remove dot on i and j when combining with above diacritics.
7402
7403 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7404 value.
7405 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7406 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7407 with dotless variants when any combining above is present.
7408
7409 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7412 text and not binary.
7413
7414 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Stop polling as soon as we have the packet we were waiting for.
7417
7418 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7419 All users updated.
7420 * grub-core/net/arp.c (have_pending): New var.
7421 (pending_req): Likewise.
7422 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7423 stop indicator.
7424 (grub_net_arp_receive): Set have_pending.
7425 * grub-core/net/dns.c (recv_data): New field stop.
7426 (recv_hook): Set stop.
7427 (grub_net_dns_lookup): Init stop and use as stop condition.
7428 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7429 condition.
7430 * grub-core/net/net.c (grub_net_poll_cards): New argument
7431 stop_condition. Stop when it goes true.
7432 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7433 indicator.
7434 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7435
7436 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 Keep TX and RX buffers on EFI rather than always allocate new ones.
7439
7440 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7441 card. All users updated.
7442 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7443 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7444 (get_card_packet): Likewise.
7445 (grub_efinet_findcards): Init new fields.
7446
7447 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7450 compilation error on sparc64.
7451
7452 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Use ITC on IA64 rather than broken routine based on daytime.
7455
7456 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7457 ia64.
7458 (grub_get_rtc) [__ia64__]: Likewise.
7459 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7460 (get_itc): New function.
7461 (grub_rtc_get_time_ms): Likewise.
7462 (grub_machine_init): Calibrate ITC.
7463 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7464 Keep only on non-ia64. Don't export since it's broken and used only
7465 if TSC is unavailable.
7466
7467 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7470 even if it's used.
7471 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7472 Skip if parent is unused.
7473
7474 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7477
7478 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 Fix wildcard escaping.
7481
7482 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7483 * grub-core/script/execute.c (wildcard_escape): .. to here.
7484 Don't escape dot.
7485 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7486 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7487 Don't escape dot.
7488 * grub-core/script/execute.c (gettext_append): Always escape.
7489 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7490 * grub-core/script/yylex.l: Don't cut away the escaping.
7491 * tests/grub_script_echo1.in: Add tests with wildcard.
7492
7493 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7496 (ftdi_hw_configure): Likewise.
7497 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7498 define.
7499 (real_config): Handle 1.5 stop bits.
7500 (pl2303_hw_configure): Likewise.
7501
7502 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * Makefile.am: Add ppc linux bootcheck.
7505 * grub-core/tests/boot/linux-ppc.cfg: New file.
7506 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7507
7508 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * tests/grub_script_expansion.in: Skip network protocols.
7511
7512 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7515
7516 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7519 --rom-directory.
7520 Add -graft-points.
7521
7522 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 ESCC serial driver for conducting sautomated tests in qemu.
7525 Not tested on real hardware.
7526
7527 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7528 * grub-core/term/ieee1275/escc.c: New file.
7529 * grub-core/Makefile.core.def (escc): New module.
7530
7531 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7534 invalid on error.
7535 (serial_hw_fetch): Don't read invalid handle.
7536 (serial_hw_put): Don't write into invalid handle.
7537
7538 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 Add a 1.5 stop bits value.
7541
7542 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7543 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7544 GRUB_SERIAL_STOP_BITS_1_5.
7545
7546 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7549 value rather than let it uninited.
7550
7551 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/commands/wildcard.c (+check_file): New function.
7554 (wildcard_expand): Don't expand to non-existing files, expand with
7555 suffix and not attempt to expand if not needed.
7556
7557 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7560 out of partitions containing other partitions.
7561
7562 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7565 on some qemu versions with GRUB.
7566
7567 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7568 define.
7569 (grub_openbsd_bootarg_pcibios): New struct.
7570 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7571 Add PCIINFO.
7572
7573 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * tests/util/grub-shell.in: Trim firmware output on EFI.
7576
7577 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7580 and coreboot since it's already in kernel.
7581
7582 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7585 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7586 to here. New return value start. All users updated.
7587 Recursively scan linear mappings.
7588 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7589 proto.
7590 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7591 Use grub_util_get_dm_node_linear_info.
7592 * util/getroot.c (convert_system_partition_to_system_disk): Use
7593 grub_util_info rather than grub_dprintf.
7594 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7595
7596 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7599
7600 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7601 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7602
7603 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * include/grub/types.h (grub_set_unaligned64): New function.
7606 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7607 (setup): Likewise.
7608
7609 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7612 (grub_ofdisk_fini): Quiesce USB devices.
7613
7614 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7617 caches.
7618
7619 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7622
7623 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/disk/pata.c (grub_pata_pio_read)
7626 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7627 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7628
7629 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Extend automated tests to qemu-mips.
7632
7633 * Makefile.am: reorganise tests and enable qemu-mips.
7634 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7635 * grub-core/tests/boot/linux.init-mips.S: New file.
7636 * tests/partmap_test.in: Handle ata0 disks.
7637 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7638 non-pc i386.
7639
7640 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7643 ia64.
7644 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7645 quotes while on it.
7646
7647 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7650 (grub_halt): Likewise.
7651 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7652
7653 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * grub-core/term/serial.c (grub_serial_register)
7656 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7657 the behaviour in line with x86 platforms.
7658
7659 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7662 (grub_ata_strncpy): Likewise.
7663 (grub_ata_identify): Add missing byteswaps.
7664
7665 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7668 byte-swap.
7669 (screen_read_char): Likewise.
7670 (grub_vga_text_cls): Likewise.
7671
7672 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7675 filenames.
7676 (make_file_path): Likewise.
7677
7678 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7681 machines.
7682 Tested by: Paulo Flabiano Smorigo.
7683 Crucial information about API supplied by: Coleen <Last name unknown>.
7684 Reviewed by: Coleen <Last name unknown>.
7685
7686 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * util/grub-mkimage.c: Disable -Wcast-align.
7689
7690 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7693 as they are fatal.
7694
7695 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7698
7699 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * util/grub-probe.c (escape_of_path): Fix double free.
7702
7703 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/commands/videoinfo.c (hook): Show pitch.
7706
7707 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7710
7711 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7714 (probe): Add ieee1275 to OFW devices.
7715
7716 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7719
7720 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 Handle IBM OFW path.
7723
7724 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7725 available.
7726 (of_path_of_scsi): Handle vdevice.
7727
7728 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7731 Allocate in multiples of 16 to avoid adding a few bytes free region the
7732 windows bugs upon.
7733
7734 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7737 Allocate in multiples of 16 to avoid adding a few bytes free region the
7738 windows bugs upon.
7739 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7740
7741 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7744 resolutions.
7745 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7746 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7747
7748 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7749
7750 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7751
7752 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7755 resulted in \\ at the end of the line.
7756
7757 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7760 (grub_parser_cmdline_state): Likewise.
7761 (grub_parser_split_cmdline): Likewise.
7762
7763 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7766 /dev/root and /dev/dm-*.
7767
7768 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7771 fix partially stale display.
7772
7773 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7776 substraction.
7777
7778 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7781 Fix MBR remapping workaround.
7782 (grub_util_biosdisk_read) [__linux__]: Likewise.
7783
7784 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7787
7788 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * configure.ac: Bump to beta6.
7791
7792 2012-05-31 Christer Weinigel <christer@weinigel.se>
7793
7794 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7795
7796 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7799 (grub_cmd_linux): Likewise.
7800
7801 2012-05-31 Christer Weinigel <christer@weinigel.se>
7802
7803 Fix EHCI low-speed.
7804
7805 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7806 (GRUB_EHCI_MULT_TWO): Likewise.
7807 (GRUB_EHCI_MULT_THREE): Likewise.
7808 (GRUB_EHCI_CMASK_MASK): New enum value.
7809 (GRUB_EHCI_SMASK_MASK): Likewise.
7810 (GRUB_EHCI_CMASK_OFF): Likewise.
7811 (GRUB_EHCI_SMASK_OFF): Likewise.
7812 (grub_ehci_pci_iter): Enable periodic schedule.
7813 (grub_ehci_parse_notrun): Likewise.
7814 (grub_ehci_restore_hw): Likewise.
7815 (grub_ehci_setup_qh): Set flags for low speed transfers.
7816 (grub_ehci_find_qh): Use periodic list for low speed.
7817 (grub_ehci_setup_transfer): Check periodic queue as well.
7818 (grub_ehci_check_transfer): Likewise.
7819 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7820
7821 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7822
7823 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7824 parameter is used.
7825
7826 2012-05-31 Peter Jones <pjones@redhat.com>
7827
7828 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7829 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7830 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7831
7832 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7835 uninited variable. Allocate at least setup_sects.
7836
7837 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 Fix handling of EFI with big memory maps.
7840
7841 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7842 (real_mode_mem): Likewise.
7843 (real_mode_target): Likewise.
7844 (real_mode_pages): Likewise.
7845 (prot_mode_pages): Likewise.
7846 (linux_params): New var.
7847 (linux_cmdline): Likewise.
7848 (free_pages): Don't set real mode variables.
7849 (allocate_pages): Don't allocate real mode memory.
7850 (grub_e820_add_region): Remove the limit.
7851 (grub_linux_boot): Allocate and copy real mode memory.
7852 (grub_linux_unload): Free linux_cmdline.
7853 (grub_cmd_linux): Use temporary storage for parameters.
7854 (grub_cmd_initrd): Likewise.
7855 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7856 (linux_kernel_params): Make it 1K big.
7857
7858 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * Makefile.util.def: Remove -Wno-format.
7861 * grub-core/Makefile.core.def: Likewise.
7862
7863 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * tests/cmp_unit_test.c: Add missing failure message.
7866 * tests/example_unit_test.c: Likewise.
7867 * tests/printf_unit_test.c: Likewise.
7868
7869 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7872 relaxation of protective MBR requirements.
7873
7874 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 * configure.ac: Add condition for COND_HOST_XNU.
7877 * Makefile.util.def (10_xnu): New script.
7878 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7879
7880 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7883 objconv bug.
7884
7885 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7888 Binary on other platforms stays identical.
7889
7890 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7893 Apple.
7894
7895 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7898
7899 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7902 rather than defining size_t ourselves to avoid conflict.
7903
7904 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7907 initialisation to avoid __bzero reference.
7908
7909 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7912 version.
7913 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7914 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7915 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7916 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7917 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7918
7919 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7922 * grub-core/kern/misc.c: Likewise.
7923 * grub-core/loader/i386/xnu.c: Likewise.
7924 * include/grub/i386/tsc.h: Likewise.
7925 * include/grub/symbol.h: Likewise.
7926
7927 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7930 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7931 on older compiler.
7932
7933 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7936 Implement Apple flavour.
7937 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7938
7939 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7942 (memmove) [__APPLE__]: Likewise.
7943 (memcpy) [__APPLE__]: Likewise.
7944 (memset) [__APPLE__]: Likewise.
7945 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7946 (memmove) [__APPLE__]: Likewise.
7947 (memcpy) [__APPLE__]: Likewise.
7948 (memset) [__APPLE__]: Likewise.
7949
7950 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7953 dependency discard.
7954
7955 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/normal/main.c (read_config_file): Provide config_file and
7958 config_directory.
7959 * util/grub.d/41_custom.in: Use config_directoy when available.
7960
7961 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7964 (grub_bfs_dir): Likewise.
7965
7966 2012-05-27 Peter Jones <pjones@redhat.com>
7967
7968 The old code gives arguments to a printf function which can't work
7969 correctly, and the compiler complains.
7970
7971 * grub-core/tests/example_functional_test.c (example_test): Add
7972 missing text.
7973 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7974 * include/grub/test.h (grub_test_assert_helper): New declaration.
7975 (grub_test_assert): Use grub_test_assert_helper.
7976
7977 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7980 (exfctest): ... this to avoid overlong filenames.
7981 All users updated.
7982
7983 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 Handle "." and ".." on squashfs.
7986
7987 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7988 Make inode numbers into stack.
7989 (grub_squash_read_symlink): Use stack.
7990 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7991 (make_root_node): Fill stack.
7992 (grub_squash_open): Use stack.
7993
7994 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7997 freeing.
7998
7999 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8002 stderr on test calls.
8003
8004 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8005
8006 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8007
8008 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8011
8012 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8015 "..".
8016
8017 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8020 (grub_hfsplus_iterate_dir): Add "." and "..".
8021
8022 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8025 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8026
8027 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8030 (find_path): Handle "." and "..".
8031
8032 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8035 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8036 (grub_affs_iterate_dir): Handle hardlinks.
8037
8038 2012-05-26 Matthew Garrett <mjg@redhat.com>
8039
8040 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8041 (grub_efi_console_fini): Likewise.
8042 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8043 (grub_video_gop_fill_mode_info): Rename to ...
8044 (grub_video_gop_fill_real_mode_info): ... this.
8045 (grub_video_gop_fill_mode_info): New function.
8046 (grub_video_gop_setup): Setup double framebuffer.
8047 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8048 Free offscreen.
8049 (grub_video_gop_swap_buffers): Copy framebuffer.
8050 (grub_video_gop_fini): Free offscreen buffer.
8051 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8052 New enum.
8053 (grub_efi_gop_blt_pixel): New struct.
8054
8055 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * gentpl.py: Remove error disabling for objconv.
8058
8059 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * configure.ac: Remove -Wunitialized as it's not available on older
8062 compilers.
8063
8064 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 Fix extent overflow comparator.
8067
8068 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8069 (grub_hfsplus_read_block): Set type.
8070 (grub_hfsplus_cmp_extkey): Compare type.
8071
8072 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8075
8076 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8079 than 0.
8080
8081 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8084 (dejavu_bold_14.pf2): New target.
8085
8086 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * configure.ac: Fix djvu font detection.
8089
8090 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8093 ext* instead of ext2.
8094
8095 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8098 name with \0.
8099
8100 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8101
8102 * docs/grub-dev.texi: Remove dot from .png.
8103
8104 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8107 protective entry in any slot.
8108 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8109 if protective entry is found in any slot.
8110
8111 Protective entry in non-first slot make no sense but is a widespread
8112 brain damage.
8113
8114 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8117
8118 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8121 with old reiserfs.
8122 (grub_reiserfs_open): Don't free root.
8123
8124 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8127 after freeing for safety.
8128
8129 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8130
8131 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8132 Reported by: Jordan Uggla.
8133
8134 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8135
8136 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8137 actual implementation. Specifically, clarify that the grub menu will
8138 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8139 passed.
8140
8141 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8142
8143 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8144 of r0.
8145
8146 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 Remove unjustified hard dependency of normal.mod on gfxterm.
8149
8150 * include/grub/term.h (grub_term_output): New member fullscreen.
8151 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8152 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8153 (grub_gfxterm): Set .fullscreen.
8154 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8155 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8156
8157 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8160 mentioning possible problems with non-ASCII (non-compliant) ISOs.
8161 Mention case-insensitive AFFS, SFS and JFS.
8162
8163 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8166
8167 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8170 a bad FS.
8171
8172 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8175 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8176
8177 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8180 (grub_jfs_mount): Fill caseins.
8181 (grub_jfs_find_file): Respect caseins.
8182
8183 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8186 through UTF-16.
8187
8188 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8191 New argument origpath. All users updated.
8192
8193 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8196 (read_attr): Ensure that we read start of possibly compressed block.
8197
8198 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8201 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8202 All users updated.
8203
8204 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8207 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8208 (dejavu.pf2): Replace with ...
8209 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8210 this.
8211
8212 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * util/grub.d/20_linux_xen.in: Add missing line.
8215
8216 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8219 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8220 (grub_utf16_to_utf8): Likewise.
8221
8222 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8225 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8227 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8228 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8229 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8230
8231 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8234 a bad FS.
8235
8236 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8239 (grub_udf_read_symlink): Handle read_string failure.
8240
8241 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8244 comment.
8245
8246 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 Fix handling of UDF symlinks.
8249
8250 * grub-core/fs/udf.c (read_string): New argument outbuf.
8251 All users updated.
8252 (grub_ufs_read_symlink): Rename to ...
8253 (grub_udf_read_symlink): ... this. All users updated.
8254 Handle symlinks with more than one component.
8255
8256 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8259 symlinks. Replace leading colon with a slash.
8260
8261 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8264 filename.
8265
8266 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8269 match in inner node.
8270
8271 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8274 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8275 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8276 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8277 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8278 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8279 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8280 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8281 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8282
8283 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Use grub-probe and not cmp to check that disk is empty.
8286
8287 * util/grub-install.in: Use grub-probe for zero-check.
8288 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8289 (probe): Handle PRINT_ZERO_CHECK.
8290 (argp_parser): Handle -t zero_check.
8291
8292 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Flush block cache on adding disk to device map.
8295
8296 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8297 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8298 adding.
8299 (read_device_map): Likewise.
8300 (open_device): Flush on opening.
8301
8302 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8305 (handle_symlink): Fix off-by-one error.
8306 Canonicalize the target.
8307 (grub_cpio_dir): Canonicalize the name.
8308 Fix memory leak.
8309 Set directory.
8310 (grub_cpio_open): Canonicalize the name.
8311
8312 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8315 handling.
8316
8317 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8320 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8321
8322 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8325 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
8326 All users updated.
8327
8328 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8331 counterpart.
8332
8333 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Fix UFS1 big file support.
8336
8337 * grub-core/fs/ufs.c (INODE): Removed.
8338 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8339 64-bit.
8340 (INODE_MODE): Simplify.
8341 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8342 (grub_ufs_lookup_symlink): Don't use INODE.
8343
8344 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8347
8348 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8349 (grub_minix_data): Replace log_block_size with block_size.
8350 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8351 (grub_minix_mount): Fill block_size.
8352
8353 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * configure.ac: Bump to beta5.
8356
8357 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 Fix wrapped HFS+ handling.
8360
8361 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8362 blocks_start. All users updated.
8363 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8364 wrapping offset.
8365 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8366
8367 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 Fix long symlinks on reiserfs.
8370
8371 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8372 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8373 (grub_reiserfs_iterate_dir): Save size for non-directories.
8374 (grub_reiserfs_open): Don't reread stat block as we already know the
8375 size.
8376 (grub_reiserfs_read): Split into...
8377 (grub_reiserfs_read_real): ... and ...
8378 (grub_reiserfs_read): ...this.
8379
8380 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 Fix non-indexed JFS.
8383
8384 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8385 (grub_jfs_data): New field namecomponentlen.
8386 (grub_jfs_mount): Fill namecomponentlen.
8387 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8388
8389 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8392 * tests/grub_script_echo1.in: Add tests.
8393
8394 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * util/grub-install.in: Ignore empty devicetree directory.
8397
8398 2012-05-08 Bean <bean123ch@gmail.com>
8399
8400 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8401 All users updated.
8402 (free_rsm): Free header as well.
8403 (free_old_fragments): Fix memory leak.
8404 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8405 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8406 (destroy_pq): Likewise.
8407 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8408
8409 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8412 resulting hash as a precaution.
8413
8414 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8417 '_' in variable names.
8418 * grub-core/net/net.c (grub_net_network_level_interface_register):
8419 Likewise.
8420
8421 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 Fix AFFS with non-512B blocks.
8424
8425 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8426 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8427 (grub_affs_data): Replace blocksize with log_blocksize.
8428 (grub_affs_read_block): Fix non-512B blocks.
8429 (grub_affs_read_symlink): Likewise.
8430 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8431 (grub_affs_read): Fix non-512B blocks.
8432 (grub_affs_label): Likewise.
8433 (grub_affs_mtime): Likewise.
8434 (grub_affs_mount): Fix block detection routine.
8435
8436 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 Add filesystem mtime to AFFS.
8439
8440 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8441 (aftime2ctime): New function.
8442 (grub_affs_dir): Use aftime2ctime.
8443 (grub_affs_label): Fix return value.
8444 (grub_affs_mtime): New function.
8445 (grub_affs_fs): Add mtime.
8446
8447 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8450 UTF-8.
8451
8452 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8455 UTF-8.
8456
8457 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8460
8461 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8464 flags.
8465 (FLAGS_CASE_SENSITIVE): New enum value.
8466 (cache_entry): New struct.
8467 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8468 cache_size and cache.
8469 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8470 Add log_blocksize and fshelp_flags.
8471 (grub_sfs_read_extent): Handle non-512 blocks.
8472 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8473 (grub_sfs_read_file): Handle non-512 blocks.
8474 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8475 fshelp_flags.
8476 (grub_sfs_read_symlink): Handle non-512 blocks.
8477 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8478 (grub_sfs_dir): Free cache.
8479 (grub_sfs_close): Likewise.
8480
8481 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8484 filesystems.
8485
8486 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8489
8490 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8493
8494 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8497 (grub_sfs_read_extent): Likewise.
8498 (grub_sfs_read_block): Likewise.
8499 (grub_sfs_mount): Likewise.
8500 (grub_sfs_iterate_dir): Likewise.
8501 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8502 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8503
8504 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 Fix errors on compressed NTFS with 512B clusters.
8507
8508 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8509 types.
8510 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8511 not 0.
8512 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8513 Relax check for inline extents.
8514 (ntfscomp): Return correct -1 on error and not 0.
8515
8516 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * util/grub-install.in: Fix handling of prefix containing spaces.
8519
8520 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8523 (grub_squash_read_data): Fix offset byte-swapping.
8524
8525 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8528 per common usage and preffered in several parts of code.
8529 (grub_memcmp): Likewise.
8530 (grub_strncmp): Likewise.
8531 * include/grub/misc.h (grub_strcasecmp): Likewise.
8532 (grub_strncasecmp): Likewise.
8533 * Makefile.util.def (cmp_test): New test.
8534 (grub_script_strcmp): Likewise.
8535 * tests/cmp_unit_test.c: New file.
8536 * tests/grub_script_strcmp.in: Likewise.
8537 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8538
8539 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * include/grub/pci.h: Move enums into no-asm part.
8542
8543 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8546
8547 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8548
8549 * util/getroot.c (find_hurd_root_device): Try to make error message
8550 and comments to translators clearer.
8551
8552 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8555
8556 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8559 btrfs.
8560
8561 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * docs/grub.cfg: Update.
8564
8565 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * docs/grub.texi (PXE): Remove not present variables.
8568
8569 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * grub-core/net/net.c (defserver_set_env): New function.
8572 (defserver_get_env): Likewise.
8573 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8574
8575 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8578 entries.
8579
8580 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8583 * grub-core/kern/emu/hostdisk.c: Likewise.
8584
8585 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8586
8587 Handle hurd userspace partitions.
8588
8589 * util/getroot.c (find_hurd_root_device): New function.
8590 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8591
8592 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8595 names.
8596 Reported by: Bastian Blank.
8597
8598 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8601 crossing page boundary.
8602
8603 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Fix B-tree search in BFS, especially in presence of non-ASCII
8606 characters.
8607
8608 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8609 (find_in_b_tree): Use standard bsearch + btree algorithm.
8610
8611 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8614 and so on.
8615
8616 2012-05-03 Matthew Garrett <mjg@redhat.com>
8617 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 Suspend broadcom cards in order to stop their DMA.
8620
8621 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8622 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8623 (pci): Don't build on x86 EFI.
8624 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8625 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8626 New function.
8627 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8628 stop_broadcom if running on EFI.
8629 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8630 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8631 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8632 (grub_pci_find_capability): New proto.
8633
8634 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * docs/grub.texi: Remove dot from the extension as it apparently
8637 doesn't work with some makeinfo versions.
8638
8639 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8642 with GRUB expectance.
8643
8644 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8647
8648 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8651 zero after directory block since last entry may be not 0-terminated if
8652 it ends on block boundary. Use continue instead of if spanning whole
8653 loop.
8654
8655 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Support 4K sectors UDF inline files.
8658
8659 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8660 (grub_udf_extended_file_entry): Likewise.
8661 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8662 All users updated.
8663 (get_fshelp_size): New function.
8664 (grub_udf_read_icb): Read whole block.
8665 (grub_udf_iterate_dir): Likewise.
8666 (grub_udf_dir): Likewise.
8667 (grub_udf_open): Likewise.
8668
8669 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8672
8673 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8676 inline symlinks in addition to workaround.
8677
8678 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8681
8682 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8685
8686 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8689
8690 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Fix reiserfs big seek times.
8693
8694 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8695 exact. All users updated.
8696 (grub_reiserfs_read): Use nearest btree search for seeking.
8697 Fix return value on error.
8698
8699 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8702 entries.
8703 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8704 * docs/grub.texi: Update menuentry description.
8705
8706 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8709 crash when embedding onto filesystem.
8710
8711 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8714 name.
8715
8716 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8719
8720 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8723 commit.
8724
8725 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8726 2012-05-01 Bean <bean123ch@gmail.com>
8727
8728 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8729
8730 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8733 Special behaviour for len = 0 to read whole file isn't used anywhere and
8734 can cause buffer ovewrflows in several places.
8735
8736 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8739
8740 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 Handle RAIDZ on non-512B sectors.
8743
8744 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8745 max_children_ashift.
8746 (fill_vdev_info_real): Fill max_children_ashift.
8747 (read_device): Use max_children_ashift.
8748
8749 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8752
8753 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8756 disk names.
8757 * docs/grub.texi: Update device.map parts.
8758
8759 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 Don't scan into non-diskfilter devices having diskfilter names.
8762
8763 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8764 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8765 handling.
8766 (scan_disk_hook): New function.
8767
8768 2012-04-29 Bean <bean123ch@gmail.com>
8769
8770 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8771 allocation.
8772
8773 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8774
8775 * configure.ac: Detect starfield theme font path
8776 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8777
8778 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8781 geometry on serial consoles.
8782
8783 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8786 because of network consoles.
8787
8788 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8791 handling.
8792
8793 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8796 falls on Q syndrom.
8797
8798 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8801 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8802
8803 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8806 Allocate at lest 8192 for temporary buffer as required for lzo.
8807
8808 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8811 to cluster_bits, since it's already added in.
8812 (grub_fat_read_data): Likewise.
8813
8814 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8817 as long as cluster size is multiple of 512 bytes.
8818
8819 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * util/grub-mkrescue.in: Fix locale directory.
8822
8823 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/kern/emu/hostdisk.c (map): Make static.
8826
8827 2012-04-23 Bean <bean123ch@gmail.com>
8828
8829 * util/grub-fstest.c (fstest): Add missing break.
8830
8831 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8832
8833 Fix hurd build.
8834
8835 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8836 not define nr variable.
8837 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8838 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8839 grub_find_device): Do not define.
8840
8841 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 Fix kfreebsd compile and behaviour.
8844
8845 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8846 format-security.
8847 * util/getroot.c: Fix wait.h include.
8848 (grub_guess_root_devices): Error if grub_find_device fails.
8849 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8850 (grub_util_get_dev_abstraction): Likewise.
8851 (grub_util_pull_device): Likewise.
8852 (grub_util_get_grub_dev): Likewise.
8853 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8854
8855 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Fix and unify wholedisk detection.
8858
8859 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8860 is_part. All users updated.
8861 (device_is_wholedisk): Removed.
8862 (grub_util_biosdisk_get_grub_dev): Use is_part.
8863
8864 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8867 mode.
8868
8869 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * configure.ac: Bump to beta4.
8872
8873 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8876 --fs-uuid --set UUID syntax.
8877
8878 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8881 disunification.
8882
8883 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8886
8887 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
8888
8889 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8890
8891 2012-04-18 Mike Gilbert <floppym@gentoo.org>
8892
8893 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8894
8895 2012-04-18 Bean <bean123ch@gmail.com>
8896
8897 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8898 place.
8899
8900 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8903 users updated.
8904 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8905 corresponding to GRUB partitions.
8906 (grub_util_biosdisk_write): Likewise.
8907
8908 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 Scan mdraid before LVM.
8911
8912 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8913 (grub_diskfilter_register_front): ... this.
8914 (grub_diskfilter_register_back): New function.
8915 All users of grub_diskfilter_register updated.
8916
8917 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8918
8919 * util/grub-install.in: Fix an automatic target detection bug.
8920
8921 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * util/grub-install.in: New option --efi-directory.
8924
8925 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8928 boot services if we have no other choice.
8929
8930 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8933 document it.
8934 * tests/util/grub-shell.in: Update to --directory.
8935
8936 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8939
8940 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8943 (grub_minix_read_file): Likewise.
8944 (grub_minix_read_inode): Likewise.
8945 (grub_minix_find_file): Likewise.
8946 (grub_minix_dir): Likewise.
8947
8948 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * util/grub-setup.c (setup): Fix partition handling and blocklist
8951 check.
8952
8953 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8956 redundant buggy overlap check.
8957
8958 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8961 and grub-mknetdir.
8962
8963 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8966 kh.loadflags on pre-2.00 kernels.
8967
8968 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Terminate UNDI and PXE before launching the payload to avoid problems
8971 with DMA.
8972
8973 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8974 (grub_loader_flags): ... this. All users updated.
8975 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8976 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8977 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8978 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8979 function.
8980 (grub_pxe_restore): Likewise.
8981 (fini_hnd): New var.
8982 (GRUB_MOD_INIT): Register shutdown hook.
8983 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8984 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8985 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8986 (grub_loader_set): Rename second argument to flags.
8987
8988 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8991 written bytes.
8992 (grub_get_num_of_utf8_bytes): New function.
8993 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8994 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8995 executing it.
8996 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8997 (grub_ucs4_to_utf8): Change return type.
8998
8999 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9002 warning.
9003 * grub-core/fs/bfs.c (hop_level): Likewise.
9004 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
9005
9006 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/lib/adler32.c: Recode due to license unclearness.
9009
9010 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9013 (test_header): Likewise.
9014
9015 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 Fix --help formatting.
9018
9019 * util/grub-mkconfig_lib.in (print_option_help): New function.
9020 (grub_fmt): Likewise.
9021 * util/grub-install.in: Use print_option_help and grub_fmt.
9022 * util/grub-kbdcomp.in: Likewise.
9023 * util/grub-mkconfig.in: Likewise.
9024 * util/grub-mknetdir.in: Likewise.
9025 * util/grub-mkrescue.in: Likewise.
9026 * util/grub-mkstandalone.in: Likewise.
9027 * util/grub-reboot.in: Likewise.
9028 * util/grub-set-default.in: Likewise.
9029 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9030
9031 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * linguas.sh: Remove autogenerated *.po.
9034
9035 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * po/README: Move language fetcing to ...
9038 * linguas.sh: ... here.
9039 * po/README: Point to linguas.sh.
9040
9041 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * po/README: Exclude ko.po due to disclaimer problems.
9044
9045 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9048 len = 0.
9049 (grub_gettext_translate_real): Handle 0th string.
9050 (grub_gettext_translate): Ensure that "" isn't translated.
9051
9052 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9055 TRANSLATORS comment.
9056 (grub_diskfilter_print_partmap): Propagate changing of error into
9057 warning.
9058
9059 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9062 to uint64_t to prevent overflow.
9063 (grub_diskfilter_lv): Increase start_extent and extent_count
9064 to uint64_t to prevent overflow.
9065
9066 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * configure.ac: Increase version.
9069
9070 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9073
9074 * po/Rules-translit: New file.
9075 * po/arabic.sed: Likewise.
9076 * po/cyrillic.sed: Likewise.
9077 * po/greek.sed: Likewise.
9078 * po/hebrew.sed: Likewise.
9079 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9080 * po/Makefile.in.in: Add extra_dist4.
9081
9082 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9085
9086 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9087 modify names. Introduce MODE_BIGENDIAN.
9088 * grub-core/fs/minix_be.c: New file.
9089 * grub-core/fs/minix2_be.c: Likewise
9090 * grub-core/fs/minix3_be.c: Likewise.
9091 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9092 minix3_be.
9093 * grub-core/Makefile.core.def (minix_be): New module.
9094 (minix2_be): Likewise.
9095 (minix3_be): Likewise.
9096
9097 2012-04-01 Felix <email@hamburg.de>
9098
9099 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9100 (devs): Add MBP 2011.
9101
9102 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9105
9106 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/normal/cmdline.c (print_completion): New field
9109 prompt_len.
9110 (grub_cmdline_get): Handle width properly.
9111
9112 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9115
9116 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
9119 after 29th of February.
9120
9121 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Fix exfat endianness handling.
9124
9125 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9126 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9127 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9128 Byte-swap utf16 when necessary.
9129 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9130
9131 2012-03-31 Anton Blanchard <anton@samba.org>
9132 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 Fix btrfs endianness handling.
9135
9136 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9137 (lower_bound): Make root uint64_t. Use root in le.
9138 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9139 (find_path): Fix template key init.
9140 (grub_btrfs_dir): Fix mtime byteswap.
9141 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9142
9143 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9146 recursion_depth. Break infinite resursions. All users updated.
9147
9148 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9151 after free.
9152 Reported by: Peter Jones.
9153
9154 2012-03-31 Anton Blanchard <anton@samba.org>
9155
9156 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9157 8 bit values.
9158
9159 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * util/grub-install.in: Fix nvram call for PreP.
9162
9163 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9166 the error when some elements are missing into a warning.
9167
9168 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9171
9172 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
9173
9174 * docs/grub.texi (Invoking grub-probe): New section.
9175 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9176
9177 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 Fix tab and wide character handling in editor and menu.
9180
9181 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9182 agglomerate control characters with combining marks.
9183 (bidi_line_wrap): Allow break on tab.
9184 (grub_unicode_get_comb_start): New function.
9185 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9186 and tab correctly.
9187 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9188 with a space.
9189 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9190 fixed_tab_size. All users updated.
9191 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9192 (grub_term_getcharwidth): Handle \t.
9193 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9194 and copy.
9195
9196 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 Handle big-endian mdraid.
9199
9200 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9201 * grub-core/Makefile.core.def (mdraid09_be): New module.
9202 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9203 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9204 * grub-core/disk/mdraid_linux_be.c: New file.
9205
9206 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9209
9210 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9213 missing quotes which caused confusion among translators.
9214
9215 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-mkconfig_lib.in: Fix typo.
9218
9219 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9222 spaces.
9223 * tests/grub_script_leading_whitespace.in: New file.
9224 * Makefile.util.def (grub_script_leading_whitespace): New test.
9225
9226 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9229 to work.
9230
9231 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9234 starts with control character.
9235
9236 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9239 overflow.
9240 (grub_gdb_outbuf): Likewise.
9241
9242 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9245 zero terminator. Fixes a crash.
9246
9247 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9250 beyond 4 GiB.
9251 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9252 images independently of preffered adderss field.
9253
9254 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9257 * grub-core/commands/regexp.c: Likewise.
9258 * grub-core/loader/i386/linux.c: Likewise.
9259 * grub-core/partmap/msdos.c: Likewise.
9260 * grub-core/script/execute.c: Likewise.
9261 * grub-core/term/gfxterm.c: Likewise.
9262
9263 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Add variable parsing in $"..." and fix several mismatches with bash.
9266
9267 * Makefile.util.def (grub_script_gettext): New test.
9268 * grub-core/script/execute.c (parse_string): New function.
9269 (gettext_append): Likewise.
9270 (grub_script_arglist_to_argv): Use gettext_append.
9271 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9272 * tests/grub_script_gettext.in: New file.
9273
9274 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Fix handling of leading spaces in scripts.
9277
9278 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9279 spaces.
9280 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9281 other than skipping \r. All users updated.
9282 * tests/grub_script_echo1.in: Add space-related tests.
9283 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9284
9285 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9288
9289 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * configure.ac: Bump up the version to beta2.
9292
9293 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 Fix gettext reload bugs (e.g. inability to disable gettext
9296 once enabled).
9297
9298 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9299 main_context and secondary_context. All functions updated.
9300 (grub_gettext_translate): Rename to ...
9301 (grub_gettext_translate_real): ... this. Return NULL on failed
9302 translate.
9303 (grub_gettext_translate): Handle secondary context.
9304 (grub_gettext_delete_list): Close file and zero-out the context.
9305 (grub_mofile_open): Don't call grub_gettext_delete_list.
9306 Don't close file.
9307 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9308 if locale="" to avoid pointless error message.
9309 (grub_gettext_env_write_lang): Update lang even if load fails.
9310 Handle secondary context.
9311 (grub_gettext_reread_prefix): New function.
9312 (read_main): Likewise.
9313 (read_secondary): Likewise.
9314 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9315 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9316 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9317 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9318
9319 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * configure.ac: Decrease warning level to avoid spurious warnings and
9322 to be able to compile with GCC 4.2.
9323 * Makefile.util.def: Remove -Wno-error=logical-op.
9324
9325 2012-03-10 William Bittner <william.bittner@gmail.com>
9326
9327 * util/import_unicode.py: Add missing brackets around string for
9328 python 3 support.
9329
9330 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Fix efi chainloader on network root.
9333
9334 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9335 network devices.
9336 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9337 New function.
9338
9339 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9342 unused show_text member.
9343 * docs/grub.texi: Document "text" property.
9344
9345 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9348 in dprintf.
9349
9350 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 Fix IMSM handling on Fedora.
9353
9354 * util/getroot.c (grub_util_is_imsm): New function.
9355 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9356
9357 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * Makefile.am: Strip gold section.
9360 * conf/Makefile.common: Likewise.
9361 * gentpl.py: Likewise.
9362 * grub-core/Makefile.core.def: Likewise.
9363 * grub-core/genmod.sh.in: Likewise.
9364
9365 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9368 * util/grub.d/20_linux_xen.in: Likewise.
9369 Based on Debian patch.
9370
9371 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * util/grub.d/10_linux.in: Fix syntax error resulting in
9374 Richard Laager's patch.
9375 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9376
9377 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9380 dependencies.
9381
9382 2012-03-10 Richard Laager <rlaager@wiktel.com>
9383
9384 * util/grub.d/10_linux.in: Fix ZFS root passing.
9385
9386 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9389 * grub-core/commands/xnu_uuid.c: Likewise.
9390 * grub-core/loader/efi/appleloader.c: Likewise.
9391 * grub-core/script/execute.c: Likewise.
9392 * grub-core/script/main.c: Likewise.
9393 * util/grub-mkfont.c: Likewise.
9394
9395 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * util/grub-mkfont.c (options): Use more appropriate "select" that
9398 "set" for face index.
9399
9400 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * util/grub-editenv.c (options): Gettextize command summaries.
9403
9404 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9407 "out of memory" error messagge.
9408
9409 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9412 of diskfilter for diskfilter on diskfilter support.
9413
9414 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9417
9418 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9421 themes/starfield.
9422
9423 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9426
9427 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9430
9431 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9434 of error message.
9435
9436 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9439
9440 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9443 message.
9444 * util/grub-install.in: Fix and gettextize error message.
9445
9446 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9449 Gettextize.
9450 * util/grub-mount.c (options): Likewise.
9451
9452 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9455 gettextize.
9456 * grub-core/commands/search_wrap.c (options): Likewise.
9457
9458 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9461
9462 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9465 size calculation.
9466 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9467 none is known.
9468
9469 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9472 "temporary" since it's used in identifier and is limited in space.
9473
9474 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * po/POTFILES.in: Regenerate. Include *.h since they contain
9477 translatable strings as well.
9478
9479 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9482 byte-swap on big-endian.
9483 Reported by: Lennart Sorensen
9484
9485 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9488 (allocate_pages): Improve dprintf.
9489 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9490 code32_start. Fill code32_start and kernel_alignment in params.
9491 (grub_cmd_initrd): Use prot_init_space.
9492
9493 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9496
9497 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * util/grub-install.in: Add missing dot at the end of sentence.
9500
9501 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9504 * grub-core/commands/videotest.c: Likewise.
9505 * grub-core/loader/i386/linux.c: Likewise.
9506
9507 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9510 sentence.
9511 Reported by: Milo Casagrande.
9512
9513 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9516 * grub-core/commands/gptsync.c: Likewise.
9517 * grub-core/commands/hashsum.c: Likewise.
9518 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9519 * grub-core/commands/legacycfg.c: Likewise.
9520 * grub-core/io/gzio.c: Likewise.
9521 * grub-core/net/net.c: Likewise.
9522 * grub-core/term/gfxterm.c: Likewise.
9523 * grub-core/term/terminfo.c: Likewise.
9524 * grub-core/tests/test_blockarg.c: Likewise.
9525 * grub-core/video/video.c: Likewise.
9526 * util/grub-install.in: Likewise.
9527 * util/grub-mkfont.c: Likewise.
9528
9529 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9532
9533 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/commands/search_wrap.c (options): Fix a typo.
9536 Reported by: David Prévot.
9537
9538 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9541 description.
9542
9543 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * util/grub-script-check.c (main): Fix a syntax error message which was
9546 unclear.
9547
9548 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9551
9552 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9555 messages.
9556
9557 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9560 without argument.
9561 * util/grub-mount.c (options): Likewise.
9562
9563 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9566
9567 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/net/http.c: Add TRANSLATORS comments.
9570 * grub-core/normal/cmdline.c: Likewise.
9571 * grub-core/normal/misc.c: Likewise.
9572 * grub-core/partmap/msdos.c: Likewise.
9573 * grub-core/parttool/msdospart.c: Likewise.
9574 * grub-core/script/execute.c: Likewise.
9575 * grub-core/script/main.c: Likewise.
9576 * grub-core/term/terminfo.c: Likewise.
9577 * grub-core/video/bitmap.c: Likewise.
9578 * util/grub-install.in: Likewise.
9579 * util/grub-mkimage.c: Likewise.
9580 * util/grub-mklayout.c: Likewise.
9581 * util/grub-setup.c: Likewise.
9582
9583 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9586 with similar messages in grub-fstest.
9587
9588 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * util/grub-install.in: Unify "option requires an argument" message
9591 with similar messages in other files.
9592 * util/grub-mkconfig.in: Likewise.
9593
9594 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * util/grub-set-default.in: Replace printf with gettext_printf (the
9597 string in in question is already translated from grub-reboot)
9598
9599 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * configure.ac: Bump up the version to beta1.
9602
9603 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9606 case when min_align = 0.
9607
9608 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9611 and fix a case when line_start overflows.
9612
9613 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * util/grub-reboot.in (usage): Mention id posibility.
9616 * util/grub-set-default.in (usage): Likewise.
9617
9618 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9621 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9622 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9623 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9624 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9625 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9626 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9627
9628 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * grub-core/commands/menuentry.c (options): Remove
9631 GRUB_ARG_OPTION_REPEATABLE.
9632 Reported by: Andreas Vogel
9633
9634 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9635
9636 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9637
9638 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9639
9640 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9641 error.
9642
9643 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 Use sort -V by the idea of Georgi Georgiev.
9646
9647 * util/grub-mkconfig_lib.in (version_sort): New function.
9648 (version_test_numeric): Use version_sort.
9649
9650 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Use submenus in grub-mkconfig.
9653
9654 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9655 * util/grub-mkconfig_lib.in (grub_quote): New function.
9656 (gettext_printf): Use gettext and not gettext_quoted to fix several
9657 messages.
9658 * util/grub.d/10_hurd.in: Use submenus.
9659 * util/grub.d/10_kfreebsd.in: Likewise.
9660 * util/grub.d/10_linux.in: Likewise.
9661 * util/grub.d/10_netbsd.in: Likewise.
9662 * util/grub.d/20_linux_xen.in: Likewise.
9663 * util/grub.d/30_os-prober.in: Likewise.
9664 * util/grub.d/10_illumos.in: Add missing quoting.
9665 * util/grub.d/10_windows.in: Likewise.
9666
9667 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 Fix menu title instability bug.
9670
9671 * grub-core/commands/menuentry.c (options): New option --id.
9672 (grub_normal_add_menu_entry): New argument id. All users updated.
9673 (grub_cmd_menuentry): Handle --id.
9674 (grub_menu_init): Accept unknown arguments.
9675 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9676 feature_menuentry_options.
9677 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9678 saved_entry.
9679 (get_entry_number): Match with id as well.
9680 * include/grub/menu.h (grub_menu_entry): New member id.
9681 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9682 * util/grub.d/00_header.in: Define menuentry_id_option.
9683 * util/grub.d/10_hurd.in: Define id.
9684 * util/grub.d/10_illumos.in: Likewise.
9685 * util/grub.d/10_kfreebsd.in: Likewise.
9686 * util/grub.d/10_linux.in: Likewise.
9687 * util/grub.d/10_netbsd.in: Likewise.
9688 * util/grub.d/10_windows.in: Likewise.
9689 * util/grub.d/20_linux_xen.in: Likewise.
9690 * util/grub.d/30_os-prober.in: Likewise.
9691
9692 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9695 "scope" with "body".
9696
9697 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9700 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9701 prot_size and prot_file_size.
9702
9703 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9706 All users updated. If easily=1 require raid-5/-6 to be full.
9707 (is_node_readable): Likewise.
9708 (scan_devices): Scan incomplete but readable LVs at the end.
9709 (grub_diskfilter_memberlist): Pull missing devices.
9710 (insert_array): Skip scanning until device is complete or scan is
9711 done otherwise.
9712 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9713 check.
9714 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9715 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9716
9717 2012-03-03 Matthew Garrett <mjg@redhat.com>
9718 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 Avoid EFI boot services when loading Linux.
9721
9722 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9723 avoid_efi_bootservices. All users updated.
9724 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9725 argument avoid_efi_bootservices. All users updated.
9726 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9727 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9728 align, min_align, relocatable, prefered_address. All users updated.
9729 Allocate avoiding boot services if kernel is relocatable.
9730 (grub_cmd_linux): Check if kernel is relocatable.
9731 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9732 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9733 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9734 avoid_efi_boot_services.
9735 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9736 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9737 (linux_kernel_params): Likewise.
9738
9739 2012-03-03 Matthew Garrett <mjg@redhat.com>
9740 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 Use EDID on EFI.
9743
9744 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9745 datasize_out.
9746 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9747 modes. Set gop_handle.
9748 (grub_video_gop_get_edid): New function.
9749 (grub_gop_get_preferred_mode): Likewise.
9750 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9751 (grub_video_efi_gop_adapter): Set .get_edid.
9752 * include/grub/efi/edid.h: New file.
9753 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9754
9755 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * util/grub-install.in: Load efivars unconditionally.
9758
9759 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * po/Rules-piglatin: Change suffix from .po-update-en to
9762 .po-update-en-piglatin.
9763
9764 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 Add a pig farm.
9767
9768 * po/piglatin.sed: New file.
9769 * po/en@piglatin.header: Likewise.
9770 * po/Rules-piglatin: Likewise.
9771 * po/README: Add en@piglatin to autogenerated languages.
9772
9773 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9776 "Command for ...".
9777 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9778 "Check" since we don't check anything.
9779 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9780 is 64-bit one.
9781 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9782 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9783 (grub_md_sha512_real): Likewise.
9784
9785 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/commands/gptsync.c: Fix typographic quoting.
9788 * grub-core/commands/ieee1275/suspend.c: Likewise.
9789 * grub-core/commands/parttool.c: Likewise.
9790 * grub-core/commands/search_wrap.c: Likewise.
9791 * grub-core/commands/videoinfo.c: Likewise.
9792 * grub-core/gfxmenu/gui_label.c: Likewise.
9793 * grub-core/hello/hello.c: Likewise.
9794 * grub-core/kern/emu/main.c: Likewise.
9795 * grub-core/net/net.c: Likewise.
9796 * grub-core/normal/menu.c: Likewise.
9797 * grub-core/normal/menu_text.c: Likewise.
9798 * grub-core/normal/misc.c: Likewise.
9799 * util/grub-editenv.c: Likewise.
9800 * util/grub-install.in: Likewise.
9801 * util/grub-kbdcomp.in: Likewise.
9802 * util/grub-mkconfig.in: Likewise.
9803 * util/grub-mknetdir.in: Likewise.
9804 * util/grub-mkrescue.in: Likewise.
9805 * util/grub-mkstandalone.in: Likewise.
9806 * util/grub-reboot.in: Likewise.
9807 * util/grub-set-default.in: Likewise.
9808 * util/grub-setup.c: Likewise.
9809 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9810
9811 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9814 * grub-core/commands/keystatus.c: Likewise.
9815 * grub-core/commands/loadenv.c: Likewise.
9816 * grub-core/commands/probe.c: Likewise.
9817 * grub-core/commands/regexp.c: Likewise.
9818 * grub-core/commands/true.c: Likewise.
9819 * grub-core/commands/videoinfo.c: Likewise.
9820 * grub-core/disk/cryptodisk.c: Likewise.
9821 * grub-core/disk/ldm.c: Likewise.
9822 * grub-core/disk/loopback.c: Likewise.
9823 * grub-core/disk/luks.c: Likewise.
9824 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9825 * grub-core/kern/disk.c: Likewise.
9826 * grub-core/kern/emu/hostdisk.c: Likewise.
9827
9828 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9831 * util/grub-install.in: Add missing quote in the comment.
9832
9833 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9836 * grub-core/commands/lsmmap.c: Likewise.
9837 * grub-core/commands/minicmd.c: Likewise.
9838 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9839 * grub-core/commands/regexp.c: Likewise.
9840 * grub-core/gdb/gdb.c: Likewise.
9841 * grub-core/term/gfxterm.c: Likewise.
9842 * util/grub-mkconfig.in: Likewise.
9843 * util/grub-mkfont.c: Likewise.
9844 * util/grub-mklayout.c: Likewise.
9845 * util/grub-mknetdir.in: Likewise.
9846 * util/grub-mkrescue.in: Likewise.
9847 * util/grub.d/30_os-prober.in: Likewise.
9848
9849 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9852 with "Direct color" and "Packed" with "Packed pixel".
9853 (grub_cmd_videoinfo): Simplify legend.
9854
9855 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9858 absolutely unclear error message.
9859
9860 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * util/grub-mkstandalone.in: Remove confusing leftover print.
9863
9864 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9867 comments.
9868 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9869 (GRUB_MOD_INIT): Likewise.
9870 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9871 VGA mode.
9872 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9873 comments.
9874 * util/grub-install.in (usage): Likewise.
9875 Spell ID in whole letters.
9876 Add missing ending dot.
9877 Quote variables.
9878 * util/grub-reboot.in: Fix capitalisation.
9879 * util/grub-set-default.in: Likewise.
9880
9881 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9884 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9885 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9886 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9887 Disable -Werror for -Wdeprecated-declarations.
9888 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9889 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9890 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9891 (grub_util_get_grub_dev): Make luks handling dependent on
9892 HAVE_DEVICE_MAPPER and not __linux__.
9893 (get_win32_path): Fix format security.
9894 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9895 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9896 Don't try grub_find_zpool_from_dir.
9897 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9898 #ifdef-out paresdir.
9899
9900 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * util/grub-pe2elf.c (usage): Add missing noreturn.
9903 (write_section_data): Rename name to shname to avoid shadowing.
9904 (write_symbol_table): Rename name to symname to avoid shadowing.
9905 Fix write_reloc_section call.
9906
9907 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9910 to ensure that it's after the last byte of .text.
9911
9912 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * util/ieee1275/ofpath.c (my_isdigit): New function.
9915 (trailing_digits): Use my_isdigit.
9916 (strip_trailing_digits): Likewise.
9917
9918 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9921 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9922
9923 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * grub-core/kern/i386/pc/startup.S: Define __start.
9926
9927 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9930 strip already transforms he format.
9931
9932 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9935
9936 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * util/grub-install.in: Add missing gettext init.
9939 * util/grub-kbdcomp.in: Likewise.
9940 * util/grub-mkconfig.in: Likewise.
9941 * util/grub-mknetdir.in: Likewise.
9942 * util/grub-mkrescue.in: Likewise.
9943 * util/grub-mkstandalone.in: Likewise.
9944 * util/grub-reboot.in: Likewise.
9945 * util/grub-set-default.in: Likewise.
9946 * util/grub.d/00_header.in: Likewise.
9947 * util/grub.d/10_hurd.in: Likewise.
9948 * util/grub.d/10_windows.in: Likewise.
9949 * util/grub.d/30_os-prober.in: Likewise.
9950 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9951
9952 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * po/Rules-swiss: Fix header comment.
9955
9956 2012-02-29 Andreas Vogel <anvoit>
9957
9958 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9959 resulted in leak of arguments.
9960
9961 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9964 reed_solomon_size const definition instead of computing it since
9965 Apple assembler doesn't support the later.
9966
9967 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * gentpl.py (kernel): Rewrite Apple part.
9970
9971 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9974
9975 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9978 ELF section gap.
9979 (load_image): Likewise.
9980
9981 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * configure.ac: Fix a typo in previous commit.
9984
9985 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Don't add -Wl,-N on Apple platform.
9988
9989 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9990 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9991
9992 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * grub-core/Makefile.core.def (lzma_decompress): Use
9995 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9996
9997 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/genmod.sh.in: Rewrite the Apple part.
10000
10001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10004 comparison.
10005
10006 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * acinclude.m4 (grub_CHECK_PIC): New test.
10009 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10010
10011 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10014 to avoid the warning.
10015
10016 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10019 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10020 after. All users updated.
10021
10022 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 Use the common size routine in hostfs so we can read disks as well.
10025
10026 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10027 (grub_util_get_fd_size): ... this. Return size in bytes.
10028 All users updated.
10029 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10030 grub_util_get_fd_size.
10031
10032 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10035 Add blocksize retrieval.
10036
10037 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 * configure.ac: Restore CFLAGS after efiemu check.
10040
10041 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10044 Apple bug.
10045
10046 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10049
10050 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10053 (grub_cmd_halt): Likewise.
10054
10055 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10058 for local arithmetics.
10059 Break %sp init into 2 instructions.
10060 Add 0 byte at the end.
10061
10062 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10065 before loops.
10066
10067 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10070 for context.
10071
10072 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/disk/ldm.c (make_vg): Init part.name.
10075 (grub_ldm_detect): Silence spurious warning.
10076 (grub_util_is_ldm): Likewise.
10077
10078 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10081 sane value to avoid a spurious warning.
10082
10083 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10086 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10087
10088 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10091 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10092
10093 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10096 hardcoding the relevant info.
10097
10098 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10101 missing const qualifiers.
10102 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10103
10104 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * util/getroot.c [__APPLE__]: Add missing includes.
10107 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10108
10109 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10112
10113 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10116 avoid conflicts.
10117
10118 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10121
10122 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10125 and grub_file_close call.
10126
10127 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 Add LZSS Mach-O support (needed for new xnu kernelcache).
10130
10131 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10132 * grub-core/loader/lzss.c: New file.
10133 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10134 on Mach-O open failure.
10135 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10136 Don't free cmdsXX in uncompressedXX is set.
10137 (grub_macho_file): Init new fields.
10138 New argument is_64bit. All users updated.
10139 Handle compressed. Error out if no suitable architecture is found.
10140 Don't close file.
10141 (grub_macho_open): New argument is_64bit. All users updated.
10142 * grub-core/loader/macho32.c: Add defines for new fields.
10143 * grub-core/loader/macho64.c: Likewise.
10144 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10145 (grub_macho_parse): Handle compressed.
10146 Defer actual processing if compressed.
10147 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10148 "filename". All users updated.
10149 (grub_macho_size): New argument "filename". All users updated.
10150 (grub_macho_get_entry_point): Likewise.
10151 (grub_macho_load): Handle compressed.
10152 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10153 (GRUB_MACHO_LZSS_OFFSET): New define.
10154 (grub_decompress_lzss): New proto.
10155 * include/grub/machoload.h (grub_macho_file): New fields to handle
10156 compressed.
10157 (grub_macho_contains_macho64): Remove proto.
10158 (grub_macho_contains_macho32): Likewise.
10159 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10160
10161 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10164
10165 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 Fix make dist.
10168
10169 * Makefile.am (starfield_theme_files): New var.
10170 (starfield_DATA): Use starfield_theme_files.
10171 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10172 Add bootcheck-related files.
10173 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10174 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10175 and font_char_metrics.txt.
10176 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10177 (setjmp): Add lib/ia64/longjmp.S.
10178 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10179 * po/POTFILES.in: Regenerate.
10180 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10181 DISTFILES.common.extra1.
10182 * util/devicemap.c: Removed.
10183 * grub-core/lib/i386/relocator_backward.S: Likewise.
10184 * util/import_gcry.py: Remove unused files. Add extra_dist for
10185 ChangeLog.
10186
10187 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10190 grub_gettext_delete_list before changing grub_gettext_max to avoid
10191 running out of array bounds.
10192
10193 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10196 grub_vga_text_init/grub_vga_text_fini.
10197
10198 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10201
10202 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 * configure.ac: Bump to 2.00~beta0.
10205
10206 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10209 missing initialisation.
10210
10211 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10214
10215 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Support v2 xnu boot arguments.
10218
10219 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10220 New argument fsbfreq_out.
10221 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10222 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10223 be used.
10224 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10225 darwin_version.
10226 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10227 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10228 (grub_xnu_boot_params): Rename to ...
10229 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10230 (grub_xnu_boot_params_v2): New struct.
10231
10232 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10235 zeroing of CRC field before computing CRC.
10236
10237 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10240 Change order of allocations to decrease fragmentation.
10241
10242 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10245
10246 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10247
10248 Use write-combining MTRR to speed up video with buggy BIOSes.
10249
10250 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10251 (cpuid): New define.
10252 (rdmsr): Likewise.
10253 (wrmsr): Likewise.
10254 (mtrr_base): Likewise.
10255 (mtrr_mask): Likewise.
10256 (grub_vbe_enable_mtrr_entry): New function.
10257 (grub_vbe_enable_mtrr): Likewise.
10258 (grub_vbe_disable_mtrr): Likewise.
10259 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10260 control off to BIOS.
10261 (grub_video_vbe_init): Fill mtrr.
10262 (grub_video_vbe_fini): Disable mtrr.
10263 (grub_video_vbe_get_info_and_fini): Likewise.
10264 (grub_video_vbe_setup): Enable mtrr.
10265
10266 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10267
10268 * include/grub/partition.h (grub_partition_map): Change prototype of
10269 embed to take a maximum value for nsectors.
10270 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10271 * include/grub/fs.h (grub_fs): Likewise.
10272 * grub-core/partmap/msdos.c (embed_signatures): New array.
10273 (pc_partition_map_embed): Check for and avoid sectors matching any
10274 of the signatures in embed_signatures, up to max_nsectors.
10275 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10276 returned sector map to max_nsectors.
10277 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10278 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10279 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10280 * util/grub-setup.c (setup): Allow for the embedding area being
10281 split into multiple blocklists. Tell dest_partmap->embed the
10282 maximum number of sectors we care about.
10283
10284 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10287 Specify blocklist_install and reserver_first_sector for all fs.
10288 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10289 blocklists.
10290
10291 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * util/grub-install.in: Clarify strings.
10294 Fix source dir check.
10295
10296 2012-02-27 Richard Laager <rlaager@wiktel.com>
10297
10298 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10299 "zfs" and "fuse.zfs" as synonyms.
10300
10301 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * configure.ac: Put platform and target_cpu substitutions back since
10304 they are used for directories.
10305
10306 2012-02-27 Richard Laager <rlaager@wiktel.com>
10307 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10308
10309 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10310 * util/grub.d/20_linux_xen.in: Likewise.
10311
10312 2012-02-27 Richard Laager <rlaager@wiktel.com>
10313
10314 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10315 with full paths.
10316
10317 2012-02-27 Richard Laager <rlaager@wiktel.com>
10318
10319 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10320 unescape.
10321
10322 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 Don't use insecure popen in getroot.
10325
10326 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10327 (exec_pipe): ... here.
10328 (find_root_devices_from_poolname): Use exec_pipe.
10329
10330 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 Remove platform and target_cpu replacement.
10333
10334 * configure.ac: Remove platform and target_cpu substitutions.
10335 * tests/util/grub-shell.in: Use modinfo.
10336 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10337 explicitly.
10338
10339 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 Autodetect platform in grub-install but allow override.
10342
10343 * util/grub-install.in: Autodetect platform. Support --target and
10344 --directory. Read platform from modinfo.sh.
10345
10346 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 Support btrfs multi-volume probe.
10349
10350 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10351 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10352 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10353 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10354 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10355 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10356 grub_find_root_devices_from_btrfs if on btrfs.
10357
10358 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 Remove any awareness of *.c util files about target.
10361
10362 * Makefile.util.def (grub-setup): Split to ...
10363 (grub-bios-setup): ... and this.
10364 (grub-sparc64-setup): ... and this.
10365 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10366 * docs/man/grub-setup.h2m: Split into ...
10367 * docs/man/grub-sparc64-setup.h2m: ... this.
10368 * docs/man/grub-bios-setup.h2m: ... and this.
10369 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10370 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10371 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10372 (grub_target_addr_t): Remove.
10373 (grub_target_size_t): Remove.
10374 (grub_target_ssize_t): Remove.
10375 * util/grub-install.in: Use new grub-*-setup.
10376 * util/grub-mkimagexx.c (Elf_Word): New define.
10377 (Elf_Half): Likewise.
10378 (Elf_Section): Likewise.
10379 (ELF_ST_TYPE): Likewise.
10380 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10381 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10382
10383 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 Replace grub_target_addr with more appropriate types.
10386
10387 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10388 grub_target_addr with grub_addr.
10389 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10390 grub_target_addr with grub_port.
10391 (grub_cmd_write): Likewise.
10392 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10393 grub_target_addr with grub_addr.
10394 (grub_cmd_write): Likewise.
10395 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10396
10397 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10400 const qualifier for vendor_guid.
10401
10402 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10405 const qualifier.
10406 (efiemu_memequal): Likewise.
10407 (find_variable): Likewise.
10408
10409 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Fix missing console prototype on qemu-mips.
10412
10413 * include/grub/mips/qemu_mips/console.h: New file.
10414
10415 2012-02-27 Matthew Garrett <mjg@redhat.com>
10416 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10417
10418 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10419 * include/grub/efi/efi.h: Likewise.
10420 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10421 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10422 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10423 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10424 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10425 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10426
10427 2012-02-27 Matthew Garrett <mjg@redhat.com>
10428
10429 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10430
10431 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10434 error.
10435
10436 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * configure.ac: Remove inappropriate use of program_transform_name
10439 on grubdir and bootdir but allow explicit specification of those
10440 variables.
10441
10442 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * util/grub-mknetdir.in (grub_prefix): Removed.
10445 (subdir): Use @bootdirname@ and @grubdirname@.
10446
10447 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10450
10451 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * po/POTFILES.in: Regenerated.
10454
10455 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 Remove improper use of program_transform_name on pkglibrootdir.
10458
10459 * configure.ac (pkglibrootdir): Removed.
10460 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10461 * util/grub-mkimage.c: Likewise.
10462
10463 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10466 warning.
10467
10468 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * util/grub-install.in: Use file identifier if no UUID is available
10471 or user explicitly prompted for it.
10472
10473 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
10474
10475 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10476 (freebsd_get_zfs): New function.
10477 (grub_freebsd_boot): Pass zfs UUID.
10478 (grub_cmd_freebsd): Set zfs UUID.
10479
10480 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10483 pkglibrootdir.
10484
10485 2012-02-27 Mike Gilbert <floppym@gentoo.org>
10486
10487 Add configure flag to control libzfs integration.
10488
10489 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10490
10491 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10494 device.
10495 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10496 small devices.
10497
10498 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10501 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10502 be used on non-modules.
10503
10504 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10505 Rename to grub_boot_init.
10506 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10507 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10508 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10509 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10510 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10511 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10512 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10513 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10514 includes.
10515 (grub_machine_init): Remove empty inits.
10516 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10517 includes.
10518 (grub_machine_init): Remove empty inits.
10519 * grub-core/term/arc/console.c: Remove explicit proto.
10520 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10521 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10522 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10523 grub_at_keyboard_fini.
10524 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10525 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10526 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10527 grub_gfxterm_fini.
10528 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10529 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10530 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10531 grub_vgatext_fini.
10532 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10533 * grub-core/term/serial.c (GRUB_MOD_INIT)
10534 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10535 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10536 grub_serial_fini.
10537 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10538 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10539 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10540 grub_terminfo_fini.
10541 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10542 (GRUB_MOD_FINI): Likewise.
10543 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10544 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10545 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10546 grub_video_radeon_fuloong2e_fini.
10547 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10548 [LOONGSON]: Rename to grub_video_sis315pro_init.
10549 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10550 grub_video_sis315pro_fini.
10551 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10552 [LOONGSON]: Rename to grub_video_sm712_init.
10553 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10554 grub_video_sm712_fini.
10555 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10556 (grub_at_keyboard_fini): Likewise.
10557 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10558 Don't declare grub_{modname}_init.
10559 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10560 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10561 New proto.
10562 (grub_keylayouts_fini) [!EMU]: Likewise.
10563 * include/grub/serial.h (grub_serial_init) [!EMU]:
10564 New proto.
10565 (grub_serial_fini) [!EMU]: Likewise.
10566 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10567 New proto.
10568 (grub_terminfo_fini) [!EMU]: Likewise.
10569 * include/grub/video.h (grub_font_init) [!EMU]:
10570 New proto.
10571 (grub_font_fini) [!EMU]: Likewise.
10572 (grub_gfxterm_init) [!EMU]: Likewise.
10573 (grub_gfxterm_fini) [!EMU]: Likewise.
10574 (grub_video_sm712_init) [!EMU]: Likewise.
10575 (grub_video_sm712_fini) [!EMU]: Likewise.
10576 (grub_video_sis315pro_init) [!EMU]: Likewise.
10577 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10578 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10579 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10580
10581 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 Make nand a prefix for nand devices.
10584
10585 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10586
10587 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10590 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10591
10592 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * include/grub/env.h (grub_env_find): Remove prototype.
10595 * grub-core/kern/env.c (grub_env_find): Make static.
10596 (grub_env_set): Remove useless set.
10597
10598 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/kern/i386/realmode.S: Remove useless align.
10601
10602 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * include/grub/dl.h (grub_dl_load_file): Don't export.
10605
10606 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10609 grub_dprintf.
10610
10611 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10614 grub_errors.
10615 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10616 not reloading whole superblock but only the part which is really needed.
10617 Remove useless grub_errors.
10618 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10619 grub_errors.
10620
10621 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 Don't export grub_get_rtc.
10624
10625 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10626 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10627
10628 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10631
10632 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
10635 argument since it can be deduced from diskfilter. All users updated.
10636
10637 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 Remove prio_list.
10640
10641 * include/grub/list.h (grub_prio_list): Removed.
10642 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10643 GRUB_COMMAND_PRIO_MASK.
10644 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10645 GRUB_COMMAND_FLAG_ACTIVE.
10646 (grub_prio_list_insert): Removed.
10647 (grub_prio_list_remove): Likewise.
10648 (GRUB_AS_PRIO_LIST): Likewise.
10649 (GRUB_AS_PRIO_LIST_P): Likewise.
10650 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10651 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10652 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10653 * grub-core/kern/command.c (grub_register_command_prio): Inline
10654 the prio_list code.
10655 (grub_unregister_command): Likewise.
10656
10657 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Fix interrupt mixup from previous commit.
10660
10661 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10662 (grub_realidt): New var.
10663 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10664 Load idt.
10665 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10666 New declaration.
10667 (grub_relocator16_boot): Set grub_relocator16_idt.
10668 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10669 (LOCAL(realidt)): ... this.
10670 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10671 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10672 (grub_realidt): New variable.
10673
10674 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10677 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10678 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10679 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10680 Gettextize.
10681 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10682 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10683 * po/POTFILES.in: Regenerate.
10684
10685 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10688 errors.
10689
10690 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10693 \0.
10694 (add_length): Likewise.
10695
10696 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10697 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10698
10699 GDB serial and backtrace support.
10700
10701 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10702 (prot_to_real): Likewise.
10703 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10704 * grub-core/Makefile.core.def (backtrace): New module.
10705 (gdb): Likewise.
10706 * grub-core/gdb/cstub.c: New file.
10707 * grub-core/gdb/gdb.c: Likewise.
10708 * grub-core/gdb/i386/idt.c: Likewise.
10709 * grub-core/gdb/i386/machdep.S: Likewise.
10710 * grub-core/gdb/i386/signal.c: Likewise.
10711 * grub-core/lib/i386/backtrace.c: Likewise.
10712 * grub-core/lib/backtrace.c: Likewise.
10713 * include/grub/backtrace.h: Likewise.
10714 * include/grub/gdb.h: Likewise.
10715 * include/grub/i386/gdb.h: Likewise.
10716
10717 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10720 New function.
10721 (add_length): Likewise.
10722 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10723 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10724 proto.
10725 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10726 __argp_get_display_len.
10727
10728 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 $"..." support in scripts.
10731
10732 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10733 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10734 * grub-core/script/yylex.l: Likewise.
10735 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10736 value.
10737
10738 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * gentpl.py: Remove obsolete pkglib_DATA handling.
10741
10742 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10745 mailing list.
10746
10747 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10748 * util/grub-kbdcomp.in: Likewise.
10749 * util/grub-mkconfig.in: Likewise.
10750 * util/grub-mkconfig_lib.in: Likewise.
10751 * util/grub-mknetdir.in: Likewise.
10752 * util/grub-mkrescue.in: Likewise.
10753 * util/grub-mkstandalone.in: Likewise.
10754 * util/grub-reboot.in: Likewise.
10755 * util/grub-set-default.in: Likewise.
10756 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10757
10758 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Remove GRUB_PREFIX.
10761
10762 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10763 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10764 used for backward compatibility.
10765
10766 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 Add new all_video module.
10769
10770 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10771 * grub-core/Makefile.core.def (all_video): New module.
10772 * grub-core/genmoddep.awk: Generate dependency of all_video from
10773 video.lst.
10774 * grub-core/lib/fake_module.c: New file.
10775 * grub-core/normal/main.c (features): Add feature_all_video_module.
10776 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10777 don't do explicit search again.
10778 insmod all_video in load_video if available.
10779
10780 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 Another round of string clarification and adding TRANSLATORS comments.
10783
10784 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10787
10788 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10791 to grub_ssize_t.
10792 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10793 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10794
10795 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10798 trailing newline implicitly. All users updated.
10799
10800 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 Implement serial on IEEE1275 and EFI.
10803
10804 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10805 on emu. Mention arc and emu as the only platforms without serial
10806 support.
10807 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10808 ieee1275 platforms.
10809 * grub-core/term/efi/serial.c: New file.
10810 * grub-core/term/ieee1275/serial.c: Likewise.
10811 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10812 specification if no ns8250 driver is available.
10813 (grub_cmd_serial): Likewise.
10814 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10815 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10816 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10817 (grub_efi_parity_type_t): New type.
10818 (grub_efi_stop_bits_t): Likewise.
10819 (grub_efi_serial_io_interface): New struct.
10820 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10821 available for all interfaces.
10822 Add EFI and IEEE1275 fields.
10823 (grub_ofserial_init): New proto.
10824 (grub_efiserial_init): Likeiwse.
10825 * util/grub.d/00_header.in: Don't check for the presence of serial
10826 module.
10827
10828 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10831 name as if it was an alias.
10832
10833 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/commands/lsacpi.c (options): Fix typo.
10836
10837 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Convert grub-emu to argp.
10840
10841 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10842 emu.
10843 * util/argp_common.c: Rename to ...
10844 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10845 Add missing includes.
10846 * grub-core/kern/emu/main.c: Convert to argp.
10847 * po/POTFILES.in: Regenerate.
10848 * util/grub-install.in (usage): Make first letter lowcase in messages
10849 for uniformity.
10850 * util/grub-setup.c (options): Likewise.
10851
10852 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10855 Put back accidently commented-out code.
10856
10857 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10860 loop check using Brent algorithm.
10861 (grub_hfsplus_btree_search): Likewise.
10862
10863 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * util/grub-install.in: Fix usage of wrong device for PreP install.
10866
10867 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * conf/Makefile.common (CFLAGS_GNULIB): Add
10870 -Wno-unsafe-loop-optimizations.
10871 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10872 on tools.
10873 * grub-core/commands/legacycfg.c: Add pragma to skip
10874 -Wunsafe-loop-optimizations.
10875 (check_password_md5_real): Fix loop counter type.
10876 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10877 reading.
10878 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10879 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10880 loop condition.
10881 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10882 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10883 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10884 condition.
10885 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10886 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10887 avoid possible infinite loops.
10888 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10889 and -Wunsafe-loop-optimizations.
10890 * grub-core/script/yylex.l: Likewise.
10891 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10892 (print_glyphs): Avoid infinite loops.
10893 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10894
10895 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10896
10897 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10898 to avoid infinite loop.
10899 (disp_acpi_rsdt_table): Likewise.
10900
10901 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/font/font.c (grub_font_load): Add support for default
10904 path for fonts ($prefix/fonts).
10905 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10906 for checking if string is a path.
10907 * grub-core/normal/main.c (features): Add feature_default_font_path.
10908 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10909 * util/grub.d/00_header.in: Use default directory if possible.
10910 * util/grub-install.in: Install unicode.pf2.
10911
10912 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10915 * po/Rules-swiss: New file.
10916 * po/swiss.sed: Likewise.
10917
10918 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/fs/btrfs.c (find_device): Fix typos.
10921 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10922 * util/grub-mkrelpath.c (argp_parser): Likewise.
10923 Reported by: Yuri Chornoivan.
10924
10925 2012-02-23 Dalet Omega <daletomega@gmail.com>
10926
10927 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10928 for usual informative messages.
10929
10930 2012-02-23 Dalet Omega <daletomega@gmail.com>
10931
10932 Starfield theme.
10933
10934 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10935 * conf/Makefile.common: Define starfielddir.
10936 * configure.ac: Configure starfield.
10937 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10938 * themes/starfield/README: Likewise.
10939 * themes/starfield/blob_w.png: Likewise.
10940 * themes/starfield/boot_menu_c.png: Likewise.
10941 * themes/starfield/boot_menu_e.png: Likewise.
10942 * themes/starfield/boot_menu_n.png: Likewise.
10943 * themes/starfield/boot_menu_ne.png: Likewise.
10944 * themes/starfield/boot_menu_nw.png: Likewise.
10945 * themes/starfield/boot_menu_s.png: Likewise.
10946 * themes/starfield/boot_menu_se.png: Likewise.
10947 * themes/starfield/boot_menu_sw.png: Likewise.
10948 * themes/starfield/boot_menu_w.png: Likewise.
10949 * themes/starfield/slider_c.png: Likewise.
10950 * themes/starfield/slider_n.png: Likewise.
10951 * themes/starfield/slider_s.png: Likewise.
10952 * themes/starfield/src/blob_nw.xcf: Likewise.
10953 * themes/starfield/src/bootmenu/: Likewise.
10954 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10955 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10956 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10957 * themes/starfield/src/slider_c.xcf: Likewise.
10958 * themes/starfield/src/slider_n.xcf: Likewise.
10959 * themes/starfield/src/slider_s.xcf: Likewise.
10960 * themes/starfield/src/terminalbox/: Likewise.
10961 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10962 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10963 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10964 * themes/starfield/starfield.png: Likewise.
10965 * themes/starfield/terminal_box_c.png: Likewise.
10966 * themes/starfield/terminal_box_e.png: Likewise.
10967 * themes/starfield/terminal_box_n.png: Likewise.
10968 * themes/starfield/terminal_box_ne.png: Likewise.
10969 * themes/starfield/terminal_box_nw.png: Likewise.
10970 * themes/starfield/terminal_box_s.png: Likewise.
10971 * themes/starfield/terminal_box_se.png: Likewise.
10972 * themes/starfield/terminal_box_sw.png: Likewise.
10973 * themes/starfield/terminal_box_w.png: Likewise.
10974 * themes/starfield/theme.txt: Likewise.
10975
10976 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 * util/grub.d/00_header.in: Add missing export theme.
10979
10980 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10983 already included.
10984 Reported by: Eren D.
10985
10986 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * conf/Makefile.common (grubdatadir): Removed.
10989 (Makefile.am): Move eveything grubdata to pkgdata.
10990
10991 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * grub-core/commands/acpihalt.c (get_sleep_type):
10994 Remove unused variable.
10995
10996 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10999 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11000 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11001 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11002 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11003 i18n with gettext no-op.
11004 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11005 GRUB_ACPI_OPCODE_STRING_CONST.
11006 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11007 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11008
11009 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * po/POTFILES.in: Regenerate.
11012
11013 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11016 -Wno-error=missing-noreturn.
11017
11018 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11021 condition to avoid possibly infinite loops.
11022 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11023 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11024
11025 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11026
11027 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11028 condition to avoid possibly infinite loops.
11029
11030 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11033 on show_error.
11034
11035 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11038
11039 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11042
11043 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * util/bin2h.c (usage): Add missing attribute noreturn.
11046
11047 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11050 if the size isn't divisible by 512.
11051
11052 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 Make list_push and list_remove functions rather than inline functions
11055 to decrease size and avoid aliasing violations.
11056
11057 * include/grub/list.h (grub_list_push): Move to ...
11058 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11059 * include/grub/list.h (grub_list_remove): Move to ...
11060 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11061
11062 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11065 and -Wunused-result.
11066
11067 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11070 Reported by: Seth Goldberg
11071
11072 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11075
11076 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11077
11078 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11079 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11080 command line.
11081 * docs/grub.texi (Simple configuration): Document
11082 GRUB_CMDLINE_GNUMACH.
11083
11084 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * conf/Makefile.common (platform_SCRIPTS): New variable.
11087 (platform_PROGRAMS): Likewise.
11088 * gentpl.py: Mark *,module and *.image for install.
11089 * grub-core/gdb_grub.in: Add a notice of expected environment.
11090 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11091 (gmodule.pl): Likewise.
11092
11093 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 Replace grub_checkkey with grub_getkey_noblock.
11096
11097 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11098 (grub_getkey_noblock): ... this. All users updated.
11099
11100 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * grub-core/kern/emu/console.c: Move to ...
11103 * grub-core/term/emu/console.c: ...here.
11104 (grub_ncurses_getkey): Fix return value if no key is detected.
11105
11106 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11109 (grub_unit_test_fini): Likewise.
11110 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11111
11112 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * include/grub/test.h (GRUB_UNIT_TEST)
11115
11116 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11119 Better error handling.
11120 (grub_script_return): Likewise.
11121 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11122
11123 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11126 rimplicit redifinition.
11127
11128 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11131 GRUB.
11132
11133 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11136 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11137 prompt here.
11138
11139 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11140
11141 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11142 as GRUB_ERR_BUG. Don't malloc if no device is available.
11143
11144 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11147 Mark calling with invalid term as GRUB_ERR_BUG.
11148
11149 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11150
11151 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11152 packets rather than raising an error.
11153
11154 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11157 in if.
11158
11159 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11162 diagnostic to dprintf.
11163 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11164
11165 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11168 device name.
11169
11170 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11173 (grub_ntfs_iterate_dir): Likewise.
11174
11175 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 Efiemu stylistic fixes and gettext.
11178
11179 * grub-core/efiemu/i386/loadcore32.c
11180 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11181 * grub-core/efiemu/i386/loadcore64.c
11182 (grub_arch_efiemu_relocate_symbols64): Likewise.
11183 * grub-core/efiemu/i386/pc/cfgtables.c
11184 (grub_machine_efiemu_init_tables): Likewise.
11185 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11186 (grub_efiemu_loadcore_initXX): Add a filename argument.
11187 All users updated.
11188 Improved error message.
11189 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11190 Add a filename argument.
11191 All users updated.
11192 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11193 Reclassify double relocation as GRUB_ERR_BUG.
11194
11195 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11198 handling.
11199
11200 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11203 on partition.
11204
11205 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11208
11209 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 Improve string. Gettextize.
11212
11213 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11216 utils.
11217 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11218
11219 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11222 [GRUB_UTIL]: New function.
11223 (insert_array) [GRUB_UTIL]: Store partmaps.
11224 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11225 partmaps.
11226 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11227 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11228 (probe_abstraction): Print diskfilter and not raid.
11229 Reported by: Lennart Sorensen
11230
11231 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11234 * util/grub-mkimagexx.c (MASK3): New define.
11235 (add_value_to_slot_20b): Use MASK3.
11236 (add_value_to_slot_21): Likewise.
11237 (relocate_addresses): Fix format specification.
11238 (load_image): Explicitly init symtab_section.
11239
11240 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11243 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11244
11245 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11248 on powerpc.
11249 Reported by: Lennart Sorensen
11250
11251 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * gentpl.py: Add missing license header.
11254 * docs/grub.texi: Update copyright year.
11255
11256 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11257
11258 Source grub-mkconfig_lib from the build directory at build time.
11259 Suggested by: Vladimir Serbinenko.
11260
11261 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11262 * util/grub-install.in: Define pkgdatadir if not already set, and source
11263 grub-mkconfig_lib from there.
11264 * util/grub-kbdcomp.in: Likewise.
11265 * util/grub-mkconfig.in: Likewise.
11266 * util/grub-mknetdir.in: Likewise.
11267 * util/grub-mkrescue.in: Likewise.
11268 * util/grub-mkstandalone.in: Likewise.
11269 * util/grub-reboot.in: Likewise.
11270 * util/grub-set-default.in: Likewise.
11271 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11272
11273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 Increase warning level.
11276
11277 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11278 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11279 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11280 (TARGET_CFLAGS): Likewise.
11281 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11282 * grub-core/Makefile.core.def (decompressor_xz): Add
11283 -Wno-unreachable-code.
11284 (normal): Add -Wno-redundant-decls.
11285 (xzio): Add -Wno-unreachable-code.
11286 (lzopio): Add -Wno-redundant-decls -Wno-error.
11287 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11288 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11289 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11290 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11291 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11292 * grub-core/kern/i386/coreboot/init.c: Add exception to
11293 -Wsuggest-attribute=noreturn.
11294 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11295 * grub-core/kern/ia64/dl_helper.c: Likewise.
11296 * grub-core/kern/mips/dl.c: Likewise.
11297 * grub-core/kern/sparc64/dl.c: Likewise.
11298 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11299 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11300 (memcmp): Likewise.
11301 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11302 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11303 * grub-core/loader/mips/linux.c: Likewise.
11304 * grub-core/loader/multiboot_elfxx.c: Likewise.
11305 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11306 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11307 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11308 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11309 fixme.
11310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11311 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11312 Fix prototype.
11313
11314 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11317 address.
11318
11319 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11322 Avoid improper use of strings.
11323 (grub_cmd_legacy_initrdnounzip): Likewise.
11324
11325 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11328 attribute.
11329 (grub_util_info): Likewise.
11330 (grub_util_error): Likewise.
11331
11332 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11335 * util/grub-fstest.c (fstest): Likewise.
11336
11337 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11340 (grub_md_sha512_real): Likewise.
11341 (grub_util_get_geli_uuid): Likewise.
11342 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11343 (grub_util_biosdisk_open): Fix format specification.
11344 Respect format security.
11345 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11346 (xrealloc): Likewise.
11347 (xasprintf): Likewise.
11348
11349 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * util/import_gcry.py: Include grub/crypto.h in init.c.
11352
11353 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11356 (generate_image): Make prefix a const char *.
11357 Fix format specifications. Respect format security.
11358 Avoid void * arithmetics.
11359 Avoid shadowing.
11360 (argp_parser): Remove unused variable. Respect format security.
11361 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11362 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11363 (count_funcs): Remove unused variable.
11364 (relocate_addresses): Fix format specification.
11365 Disable x86-64 with elf32. Remove unused variables.
11366 (add_fixup_entry): Avoid shadowing.
11367 (make_reloc_section): Fix format specification.
11368 Use assert.
11369 (locate_sections): Fix format specifications.
11370 (load_image): Avoid shadowing.
11371
11372 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11375 Fix format specifications. Respect format security.
11376 Don't translate already translated grub_errmsg.
11377 (argp_parser): Remove unused variable
11378
11379 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11382
11383 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11386 (main): Likewise. Use xmalloc. Respect format security.
11387
11388 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11391 a const char *.
11392 (argp_parser): Remove unused variable.
11393
11394 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11397 (add_pixel): Make static.
11398 (add_font): Likewise.
11399 (write_string_section): Make name and str a const char *.
11400 (write_be16_section): Make name a const char *.
11401 (print_glyphs): Make static.
11402 (write_font_ascii_bitmap): Likewise.
11403 (write_font_width_spec): Likewise.
11404 (write_font_pf2): Likewise.
11405 (argp_parser): Remove unused variable.
11406 Respect format security.
11407 (main): Avoid shadowing. Respect format security.
11408
11409 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/grub-editenv.c (argp_parser): Make static.
11412 (create_envblk_file): Use xmalloc.
11413 (open_envblk_file): Likewise.
11414 Resepect format security.
11415 (set_variables): Respect format security.
11416
11417 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/getroot.c (grub_find_device): Respect format security.
11420 (get_mdadm_uuid): Remove unused variable.
11421 (grub_util_pull_device): Dont call gettext on already translated
11422 grub_errmsg.
11423 (find_system_device): Remove unused variable.
11424 (grub_util_get_grub_dev): Likewise.
11425 (grub_make_system_path_relative_to_its_root): Respect format security.
11426
11427 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * util/grub-fstest.c (execute_command): Make first argument
11430 a const char *.
11431 (read_file): Avoid shadowing.
11432 Reuse underlying error message if device open fails.
11433 (cmd_cmp): Respect format security.
11434 (root): Make const char *.
11435 (fstest): Remove args argument and use global copy.
11436 Respect format security.
11437 (argp_parser): Make static.
11438 (main): Make default_root const char *.
11439
11440 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * util/grub-mount.c (root): Make const char *.
11443 (execute_command): Make first argument a const char *.
11444 (fuse_init): Respect format security.
11445 (argp_parser): Make static. Remove unused variable.
11446 (main): Make default_root a const char *.
11447 Respect format security.
11448
11449 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * util/grub-probe.c (probe): Don't call gettext on already translated
11452 grub_errmsg.
11453 Remove unused variables.
11454 (argp_parser): Remove unused variable.
11455
11456 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-script-check.c (argp_parser): Remove unused variable.
11459 (main): Rename read to curread to avoid shadowing.
11460
11461 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * util/misc.c (grub_util_write_image_at): Fix format specification.
11464 (grub_util_write_image): Likewise.
11465 (grub_script_execute_argument_to_string): Removed (unused).
11466 (grub_script_execute_menuentry): Likewise.
11467 (grub_putchar): Likewise.
11468
11469 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11472 (FUNCTION) [GRUB_UTIL]: Likewise.
11473 (VARIABLE) [GRUB_UTIL]: Likewise.
11474
11475 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11478 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11479
11480 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11483 buffer.
11484
11485 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11488 (LzmaEnc_SaveState): Removed (unused).
11489 (LzmaEnc_RestoreState): Likewise.
11490 (LzmaEnc_InitPriceTables): Made static.
11491 (LzmaEnc_Construct): Likewise.
11492 (LzmaEnc_FreeLits): Likewise.
11493 (LzmaEnc_Destruct): Likewise.
11494 (LzmaEnc_Init): Likewise.
11495 (LzmaEnc_InitPrices): Likewise.
11496 (LzmaEnc_Finish): Likewise.
11497 (LzmaEnc_PrepareForLzma2): Removed (unused).
11498 (LzmaEnc_MemPrepare): Likewise.
11499 (LzmaEnc_GetNumAvailableBytes): Likewise.
11500 (LzmaEnc_GetCurBuf): Likewise.
11501 (LzmaEnc_CodeOneMemBlock): Likewise.
11502
11503 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11506 (grub_util_ldm_embed): Likewise.
11507
11508 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * util/grub-editenv.c (print_var): Rename name to varname to
11511 avoid shadowing.
11512 (main): Rename index to curindex to avoid shadowing.
11513 Make filename a const char *.
11514
11515 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11518 to arg_getline to avoid shadowing.
11519
11520 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11523 disk_ to avoid shadowing.
11524
11525 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11528 curindex to avoid shadowing.
11529 Make static.
11530 (MatchFinder_GetNumAvailableBytes): Make static.
11531
11532 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11535 avoid shadowing.
11536
11537 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11540 argument from encrypt to do_encrypt to avoid shadowing.
11541
11542 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11545 incorrect nesting of #if's.
11546
11547 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11550 checks which are always false on some platforms.
11551 (grub_cmd_lsacpi): Likewise.
11552 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11553 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11554 Likewise.
11555
11556 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11559 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11560
11561 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11564 re_dfa_t to avoid breaking alignment invariants.
11565 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11566 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11567
11568 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11571 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11572
11573 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11576 Fix declaration.
11577
11578 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11581 conserve alignment invariants.
11582 (grub_ehci_ehcc_read16): Likewise.
11583 (grub_ehci_oper_read32): Likewise.
11584 (grub_ehci_oper_write32): Likewise.
11585 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11586 Conserve alignment invariants.
11587
11588 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11591 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11592 declarations.
11593
11594 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11597 Remove unused variable.
11598
11599 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11602 Remove set in if.
11603
11604 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * include/grub/net.h: Remove double declarations.
11607
11608 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 Remove "payload" command in ia64 Linux loader since I couldn't
11611 find any evidence of it being used for anything.
11612 Replace "relocate" command with an environment variable
11613
11614 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11615 fields.
11616 (ia64_boot_payload): Removed.
11617 (last_payload): Likewise.
11618 (RELOCATE_OFF): Likewise.
11619 (RELOCATE_ON): Likewise.
11620 (RELOCATE_FORCE): Likewise.
11621 (relocate): Likewise.
11622 (free_pages): Don't free payloads.
11623 (grub_load_elf64): Use common error messages.
11624 Use "linux_relocate" variable.
11625 Increase the space after boot_params.
11626 (grub_cmd_payload): Removed.
11627 (grub_cmd_relocate): Likewise.
11628 (grub_cmd_fpswa): Improve messages.
11629 (cmd_payload): Removed.
11630 (cmd_relocate): Likewise.
11631 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11632 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11633
11634 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Convert UHCI to DMA framework.
11637
11638 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11639 (grub_uhci_pci_iter): Fill new members
11640 (grub_alloc_td): Use P2V and V2P functions.
11641 (grub_free_queue): Likewise.
11642 (grub_alloc_qh): Likewise.
11643 (grub_uhci_setup_transfer): Likewise.
11644 (grub_uhci_check_transfer): Likewise.
11645
11646 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11649 Remove assignment in if while on it.
11650
11651 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * util/grub-mkstandalone.in: Fix modules directory.
11654
11655 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11658 on i386-pc target.
11659 (argp_parser): Accept "auto" as compression specification.
11660
11661 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 Fix `help' with unloaded modules.
11664
11665 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11666 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11667 (grub_dyncmd_dispatcher): Small stylistic fix.
11668 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11669 explicit help is requested.
11670
11671 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11674 Explicitly init restart while on it.
11675
11676 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11679 uninited variable.
11680
11681 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * util/grub-mknetdir.in: Use . rather than source for POSIX
11684 compatibility.
11685
11686 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11689
11690 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11693 variable.
11694
11695 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11698 without quotes.
11699
11700 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11703
11704 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11707 iteration of partitions.
11708
11709 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 Improve gettext support. Stylistic fixes and error handling fixes while
11712 on it.
11713
11714 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11717 part. Instead setup the correct stack in RM.
11718 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11719 for stack.
11720 * include/grub/i386/relocator_private.h: New file.
11721
11722 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11725 argument.
11726 * util/grub-fstest.c (options): Add missing DEVICE part.
11727
11728 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 Clarify and unify messages.
11731
11732 * grub-core/commands/hashsum.c (options): Unify messages.
11733 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11734 literal-only message as translatable.
11735 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11736 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11737 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11738 commands.
11739 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11740 key, not the key used to unlock. Clarify what it's used for.
11741 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11742 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11743 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11744 * util/grub-editenv.c (options): Unify "verbose" message.
11745 * util/grub-fstest.c (read_file): Unify error message.
11746 (fstest): Add quotes around commands.
11747 (options): Unify "verbose" message.
11748 * util/grub-install.in: Add quotes around variable name.
11749 * util/grub-kbdcomp.in: Unify error message.
11750 * util/grub-mkfont.c (main): Likewise.
11751 * util/grub-mkrescue.in: Likewise.
11752 * util/grub-mklayout.c (options): Unify "verbose" message.
11753 * util/grub-mkstandalone.in: Unify help and verbose messages.
11754 * util/grub-mount.c (options): Unify "verbose" message.
11755 * util/grub-probe.c (options): Likewise.
11756 * util/grub-script-check.c (options): Likewise.
11757 * util/grub-setup.c (setup): Unify no-terminator message.
11758 (options): Use DEVICE and not DEV.
11759 Unify "verbose" message.
11760 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11761
11762 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 Improve and unify messages.
11765
11766 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11767 name. All users updated.
11768 Print filename in error.
11769 (read_device_map): Print filename in error.
11770 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11771 (grub_util_get_os_disk): Likewise.
11772 (grub_util_biosdisk_get_grub_dev): Likewise.
11773 (grub_util_check_block_device): Likewise.
11774 (grub_util_check_char_device): Likewise.
11775 (grub_make_system_path_relative_to_its_root): Likewise.
11776 * util/grub-editenv.c (create_envblk_file): Likewise.
11777 (open_envblk_file): Likewise.
11778 (write_envblk): Likewise.
11779 * util/grub-fstest.c (cmd_cp): Likewise.
11780 (cmd_cat): Likewise.
11781 (cmd_cmp): Likewise.
11782 * util/grub-menulst2cfg.c (main): Likewise.
11783 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11784 (write_font_width_spec): Likewise.
11785 (write_font_pf2): Likewise.
11786 * util/grub-mkimage.c (generate_image): New argument outname.
11787 All users updated.
11788 Remove unreacheable message.
11789 (options): Unify messages.
11790 (help_filter): Likewise.
11791 * util/grub-mklayout.c (usage): Removed (unused).
11792 (main): Print filename in error.
11793 * util/grub-mkrescue.in: Fix wrong quoting.
11794 * util/grub-setup.c (setup): Print filename in error.
11795 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11796 (check_sas): Likewise.
11797 * util/misc.c (grub_util_get_fp_size): Removed.
11798 (grub_util_get_image_size): Print filename in error.
11799 (grub_util_read_at): Removed.
11800 (grub_util_read_image): Print filename in error.
11801 (grub_util_load_image): Likewise.
11802 (grub_util_write_image_at): New argument filename. All users updated.
11803 Print filename in error.
11804 (grub_util_write_image): New argument filename. All users updated.
11805 Print filename in error.
11806 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11807 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11808
11809 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/Makefile.core.def (pxechain): New module.
11812 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11813 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11814 function.
11815 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11816 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11817
11818 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11821 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11822 * include/grub/err.h (grub_error_saved): New struct.
11823 (grub_errmsg): Make array size explicit.
11824 * include/grub/misc.h (grub_error_save): New function.
11825 (grub_error_load): Likewise.
11826 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11827 (grub_error_push): Update `errno' member name.
11828 (grub_error_pop): Likewise
11829 * grub-core/net/tftp.c (tftp_data): New member save_err.
11830 (tftp_receive): Save error.
11831 (tftp_open): Restore error.
11832
11833 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11836 to real mode down to execute A20-related code in protected mode as
11837 intended.
11838
11839 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11840
11841 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11842 NULL when the argument `level' has an unexpected value.
11843
11844 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 Move platform-dependent files from $prefix to $prefix/$platform.
11847
11848 * config.h.in (GRUB_TARGET_CPU): New definition.
11849 (GRUB_PLATFORM): Likewise.
11850 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11851 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11852 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11853 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11854 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11855 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11856 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11857 * grub-core/normal/term.c (read_terminal_list): Likewise.
11858 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11859 $prefix/locale.
11860 (grub_gettext_init_ext): Likewise.
11861 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11862 grub_platform.
11863 * util/grub-install.in: Update directories.
11864 * util/grub-mknetdir.in: Likewise.
11865 * util/grub-mkrescue.in: Likewise.
11866
11867 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11870 grub_error framework. All users updated.
11871
11872 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11875 lists (by always binsearching), improve caching (cache strings
11876 used for binsearch, not only results), improve
11877 maintainability (by using more structured binary search) and correct
11878 error handling.
11879
11880 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/script/execute.c (grub_script_return): Fix warning.
11883
11884 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/script/execute.c (grub_script_return): Fix potential
11887 NULL-dereference.
11888 Reported by: Jim Meyering.
11889
11890 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * po/POTFILES.in: Regenerate.
11893 * util/grub-install.in: Gettextize the strings missed in first pass.
11894
11895 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * Makefile.util.def (grub-mkdevicemap): Removed.
11898 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11899 * include/grub/util/deviceiter.h: Removed.
11900 * util/deviceiter.c: Likewise.
11901 * util/getroot.c (grub_util_get_os_disk): New function.
11902 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11903 replacement for EFI.
11904 * util/grub-mkdevicemap.c: Removed.
11905 * util/grub-probe.c (probe): Handle PRINT_DISK.
11906 (argp_parser): Handle -t disk.
11907
11908 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * util/grub-mkfont.c: Migrate to argp.
11911 * util/grub-mklayout.c: Likewise.
11912 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11913 * util/grub-mkrelpath.c: Likewise.
11914 * util/grub-probe.c: Likewise.
11915 * util/grub-script-check.c: Likewise.
11916
11917 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * util/grub-reboot.in: Add missing datarootdir.
11920 Add missing newline.
11921 * util/grub-set-default.in: Add missing datarootdir.
11922 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11923 * util/grub-mkrescue.in: Likewise.
11924
11925 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11928
11929 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * util/grub-kbdcomp.in: Add decent help and gettextize.
11932 * docs/man/grub-kbdcomp.h2m: New file.
11933
11934 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 Migrate grub-mkimage.c to argp.
11937
11938 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11939 (grub-setup): Likewise.
11940 * util/grub-setup.c (print_version): Move to ...
11941 * util/argp_common.c (print_version): ... here.
11942 * util/grub-setup.c (argp_program_version_hook): Move to ...
11943 * util/argp_common.c (argp_program_version_hook): ... here.
11944 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11945 safety.
11946 * util/grub-mkimage.c (main): Migrate to argp.
11947
11948 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * util/grub-mkrescue.in: Use same message as
11951 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11952 for better translations.
11953
11954 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11957 options with generic grub-mkrescue.in with the goal of future
11958 merge.
11959
11960 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/kern/mm.c: Add missing include of i18n.h
11963 * grub-core/lib/relocator.c: Likewise.
11964
11965 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11968 error.
11969 (allocate_pages): Check return value.
11970 Replace fatal with error.
11971 (grub_linux_boot): Replace printf with dprintf.
11972 Check find_mmap_size return value.
11973 Replace fatal with error.
11974 Don't call grub_machine_fini.
11975 (grub_load_elf64): Replace printf with dprintf.
11976 (grub_cmd_linux): Likewise.
11977 (grub_cmd_initrd): Likewise.
11978 (grub_cmd_payload): Likewise.
11979
11980 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11983 message.
11984 * grub-core/video/radeon_fuloong2e.c
11985 (grub_video_radeon_fuloong2e_setup): Likewise.
11986 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11987 * grub-core/video/video.c (grub_video_set_mode): Don't override
11988 standard out of memory message.
11989
11990 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11991
11992 NetBSD disk wedge support.
11993
11994 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11995 [__NetBSD__]: Handle NetBSD disk wedges.
11996 * util/getroot.c (convert_system_partition_to_system_disk)
11997 [__NetBSD__]: Likewise.
11998
11999 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
12000
12001 * util/grub-mkconfig.in: Use umask rather than chmod to create
12002 grub.cfg.new to avoid insecure grub.cfg.
12003
12004 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/commands/ls.c: Gettextize.
12007 * grub-core/commands/setpci.c: Likewise.
12008 * grub-core/commands/videotest.c: Likewise.
12009 * grub-core/disk/geli.c: Likewise.
12010 * grub-core/kern/mm.c: Likewise.
12011 * grub-core/lib/relocator.c: Likewise.
12012 * grub-core/loader/efi/appleloader.c: Likewise.
12013 * grub-core/loader/i386/xnu.c: Likewise.
12014 * grub-core/loader/ia64/efi/linux.c: Likewise.
12015 * grub-core/loader/xnu.c: Likewise.
12016 * grub-core/net/dns.c: Likewise.
12017 * grub-core/net/net.c: Likewise.
12018 * grub-core/script/lexer.c: Likewise.
12019 * grub-core/script/parser.y: Likewise.
12020 * grub-core/script/yylex.l: Likewise.
12021 * util/getroot.c: Likewise.
12022 * util/grub-setup.c: Likewise.
12023
12024 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12027 number.
12028
12029 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12032
12033 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12036 macro.
12037 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12038 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12039
12040 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12043 * util/grub-install.in: Gettextize.
12044 * util/grub-mkconfig.in: Likewise.
12045 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12046 if not available.
12047 (grub_warn): Gettextize.
12048 * util/grub-mknetdir.in: Gettextize.
12049 * util/grub-mkrescue.in: Likewise.
12050 * util/grub-mkstandalone.in: Likewise.
12051 * util/grub-reboot.in: Likewise.
12052 * util/grub-set-default.in: Likewise.
12053 * util/grub.d/00_header.in: Likewise.
12054 * util/grub.d/10_hurd.in: Likewise.
12055 * util/grub.d/10_kfreebsd.in: Likewise.
12056 * util/grub.d/10_linux.in: Likewise.
12057 * util/grub.d/10_netbsd.in: Likewise.
12058 * util/grub.d/10_windows.in: Likewise.
12059 * util/grub.d/20_linux_xen.in: Likewise.
12060 * util/grub.d/30_os-prober.in: Likewise.
12061 * po/POTFILES-shell.in: Regenerate.
12062
12063 2012-02-03 Richard Laager <rlaager@wiktel.com>
12064
12065 * util/grub-mkimage.c (main): Fix format-security warning.
12066 * util/grub-mkrelpath.c (main): Likewise.
12067 * util/grub-probe.c (main): Likewise.
12068
12069 2012-02-03 Richard Laager <rlaager@wiktel.com>
12070
12071 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12072 failure.
12073 Put back lost PRINT_DRIVE.
12074
12075 2012-02-03 Richard Laager <rlaager@wiktel.com>
12076
12077 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12078 (grub_guess_root_devices): Replace strlen with sizeof.
12079 Avoid crash.
12080 (find_root_devices_from_poolname): Remove unused variable.
12081 Handle raidzN.
12082
12083 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 Support install on multi-device filesystems.
12086
12087 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12088 (grub_guess_root_devices): ...this. Return char **. All users updated.
12089 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12090 Removed.
12091 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12092 (find_root_devices_from_poolname): ... here.
12093 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12094 Support zfs-fuse.
12095 (grub_guess_root_device): Rename to ...
12096 (grub_guess_root_devices): ... this. Return char **. All users updated.
12097 * util/grub-install.in: Handle multi-device filesystems.
12098 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12099 argument. All users updated.
12100 Handle multi-device filesystems.
12101 Use 'delim' as separator.
12102 Remove device check to allow filesystems on file.
12103 (main): Support -0 argument. Handle multi-device.
12104 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12105 Fix a cross-device check while on it.
12106 (arguments): Remove root_dev.
12107 (argp_parser): Remove -r.
12108 (main): Remove root_dev.
12109
12110 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12113
12114 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12117 symbol.
12118 Reported by: NODA, Kai <nodakai>.
12119
12120 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 Fix ehci on amd64.
12123
12124 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12125 pointers.
12126 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12127 (grub_ehci_setup_qh): Likewise.
12128 (grub_ehci_find_qh): Likewise.
12129 (grub_ehci_transaction): Likewise.
12130 (grub_ehci_setup_transfer): Likewise.
12131 (grub_ehci_check_transfer): Likewise.
12132 (grub_ehci_portstatus): Likewise.
12133 (grub_ehci_detect_dev): Likewise.
12134 (grub_ehci_transfer_controller_data): New field td_last_phys.
12135 (grub_ehci_setup_transfer): Fill td_last_phys.
12136 (grub_ehci_check_transfer): Use td_last_phys.
12137
12138 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12139
12140 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12141 if no submenu is present.
12142
12143 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12144
12145 CBI support.
12146
12147 * include/grub/usb.h (grub_usbms_protocol_t): New values
12148 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12149 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12150 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12151 (grub_usbms_dev): Add subclass, protocol and intrpt.
12152 Remove in_maxsz and out_maxsz.
12153 (grub_usbms_reset): Rename to ...
12154 (grub_usbms_bo_reset): .. this.
12155 (grub_usbms_cbi_cmd): New function.
12156 (grub_usbms_cbi_reset): Likewise.
12157 (grub_usbms_reset): Likewise.
12158 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12159 (grub_usbms_transfer): Rename to ...
12160 (grub_usbms_transfer_bo): ... this.
12161 (grub_usbms_transfer_cbi): Likewise.
12162 (grub_usbms_transfer): Likewise.
12163
12164 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12165 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12168 the support for the CS5536 modification thereos and few bugfixes.
12169
12170 * grub-core/Makefile.core.def (ehci): New module.
12171 * grub-core/bus/usb/ehci.c: New file.
12172 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12173 port and hubaddr. All users updated.
12174 Save port and hubaddr into dev structure.
12175 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12176 define.
12177 * include/grub/pci.h (grub_dma_phys2virt): New function.
12178 (grub_dma_virt2phys): Likewise.
12179 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12180
12181 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12184 check as some mkfs implementations omit it.
12185
12186 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12189
12190 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12193 Add new member volname2.
12194 (grub_jfs_label): Use volname2 if available.
12195
12196 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12199 over last_mounted as seen in image generated by mkfs.nilfs2.
12200 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12201
12202 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12205 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12206 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12207
12208 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12211 over the sector.
12212
12213 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12216 subvolume name (by removing a bogus and useless check).
12217
12218 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12221 sizeof while on it.
12222
12223 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12226 (grub_scsi_read_capacity10): ... this.
12227 (grub_scsi_read_capacity16): New function.
12228 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12229 0xffffffff.
12230 Fix off-by-one error.
12231 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12232 64-bit unsigned.
12233 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12234 (grub_scsi_read_capacity10): ... this.
12235 (grub_scsi_read_capacity_data): Rename to ...
12236 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12237 (grub_scsi_read_capacity16): New struct.
12238 (grub_scsi_read_capacity16_data): Likewise.
12239 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12240 grub_scsi_cmd_read_capacity10.
12241 New command grub_scsi_cmd_read_capacity16.
12242
12243 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 SCSI >2TiB support.
12246
12247 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12248 (grub_scsi_write16): Likewise.
12249 (grub_scsi_read): Use read16 when necessary.
12250 (grub_scsi_write): Likewise.
12251 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12252 (grub_scsi_write16): Likewise.
12253 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12254
12255 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 SCSI write support (for usbms mainly).
12258
12259 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12260 a const pointer.
12261 (grub_scsi_write): Implement.
12262 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12263
12264 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12267 variable.
12268
12269 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12272
12273 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * po/POTFILES.in: Regenerate.
12276
12277 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12280 with grub_printf to avoid unnecessary fatal failure.
12281
12282 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12285 (INT_MAX): Likewise.
12286 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12287 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12288 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12289 (strcpy): Likewise.
12290 (strstr): Likewise.
12291 (strchr): Likewise.
12292 (strncpy): Likewise.
12293 (strcat): Likewise.
12294 (strncat): Likewise.
12295 (strcoll): Likewise.
12296 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12297 (GRUB_INT_MAX): Likewise.
12298
12299 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12302 unexpected error.
12303 (optimize_utf8): Likewise.
12304 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12305
12306 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * grub-core/boot/i386/pc/lnxboot.S: Use
12309 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12310 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12311 location.
12312 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12313 definition.
12314 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12315
12316 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12319 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12320 now to avoid double free.
12321 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12322 hostdisk.
12323 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12324 * util/grub-probe.c (escape_of_path): Always return a new copy.
12325 (print_full_name): Escape path.
12326 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12327 Fix hints on abstractions.
12328
12329 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12330
12331 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12332 Don't add "root" line if no compatibility hont is available.
12333 Suggested by: Seth Goldberg.
12334
12335 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12338 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12339 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12340 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12341
12342 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12345
12346 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * util/grub-pe2elf.c (ehdr): Make static.
12349 (shdr): Likewise.
12350 (num_sections): Likewise.
12351 (offset): Likewise.
12352
12353 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 Eliminate ofpath limits and possible overflows.
12356
12357 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12358 (OF_PATH_MAX): Removed.
12359 (MAX_DISK_CAT): New const.
12360 (find_obppath): Use allocated rather than preallocated buffer.
12361 Return result. Argument of_path removed. All users updated.
12362 Add missing fdstat.
12363 (xrealpath): New function.
12364 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12365 Allocate rather than use preallocated buffer. All users updated.
12366 (__of_path_common): Use allocated rather than preallocatecd buffer.
12367 Return result. Argument of_path removed. All users updated.
12368 (vendor_is_ATA): Read only needed part form the file.
12369 (check_sas): Allocate depending on contents rather than fixed.
12370 (main) [STANDALONE]: Handle NULL result.
12371
12372 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12375
12376 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Cryptodisk write support.
12379
12380 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12381 (grub_cryptodisk_decrypt): Moved logic to ...
12382 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12383 (grub_cryptodisk_write): Implement.
12384 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12385 (grub_util_fd_write): ... this. Make global.
12386 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12387
12388 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * include/grub/list.h (grub_list_remove): Don't crash if element is
12391 removed twice.
12392
12393 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 Rename ofconsole to console.
12396
12397 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12398 as sysnonym to console.
12399 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12400 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12401 Rename grub_ofconsole_ to grub_console_. All users updated
12402 (grub_console_term_output): Rename "ofconsole" to "console".
12403 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12404 as "console".
12405
12406 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12409 handling.
12410 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12411 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12412 GRUB_DISK_DEVICE_FILE_ID.
12413
12414 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12417 and improve performance.
12418
12419 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12422 missing ieee1275/ prefix on whole disk.
12423
12424 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12427 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12428
12429 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12432
12433 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 Merge common RAID and LVM logic to an abstract diskfilter.
12436 Add LDM support using the same framework.
12437
12438 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12439 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12440 (libgrubmods): Remove grub-core/disk/raid.c and
12441 grub-core/partmap/gpt.c.
12442 * grub-core/Makefile.core.def (ldm): New module.
12443 (raid): Renamed to diskfilter. All users updated.
12444 * grub-core/disk/raid.c: Moved to ...
12445 * grub-core/disk/diskfilter.c: ... here.
12446 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12447 (lv_num): New var.
12448 (find_array): Renamed to ...
12449 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12450 (grub_is_array_readable): Renamed to ...
12451 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12452 (insert_array): New argument id.
12453 (is_node_readable): New function.
12454 (scan_device): Rename to ...
12455 (scan_disk): .. this. Restrict to one disk.
12456 (scan_devices): New function.
12457 (grub_diskfilter_iterate): Support multi-LV.
12458 Skip invisible and nameless LVs.
12459 (grub_diskfilter_memberlist): Support multi-LV.
12460 (grub_diskfilter_read_node): New function.
12461 (grub_raid_read): Most of logic moved to ...
12462 (read_segment): ... here
12463 (read_lv): New function.
12464 (grub_diskfilter_get_vg_by_uuid): New function.
12465 (grub_diskfilter_make_raid): Likewise.
12466 * grub-core/disk/ldm.c: New file.
12467 * grub-core/disk/lvm.c (vg_list): Removed.
12468 (lv_count): Likewise.
12469 (scan_depth): Likewise.
12470 (is_lv_readable): Likewise.
12471 (grub_lvm_getvalue): Advance pointer past the number.
12472 (find_lv): Removed.
12473 (do_lvm_scan): Refactored into ...
12474 (grub_lvm_detect): ... this. Support raid.
12475 (grub_lvm_iterate): Removed.
12476 (grub_lvm_memberlist): Likewise.
12477 (grub_lvm_open): Likewise.
12478 (grub_lvm_close): Likewise.
12479 (read_lv): Likewise.
12480 (read_node): Likewise.
12481 (is_node_readable): Likewise.
12482 (is_lv_readable): Likewise.
12483 (grub_lvm_read): Likewise.
12484 (grub_lvm_write): Likewise.
12485 (grub_lvm_dev): Use diskfilter
12486 (GRUB_MOD_INIT): Likewise.
12487 (GRUB_MOD_FINI): Likewise.
12488 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12489 new interface.
12490 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12492 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12493 grub_diskfilter_read_node.
12494 Fix a bug with xor.
12495 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12496 grub_diskfilter_read_node.
12497 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12498 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12499 (grub_disk_dev_iterate): Move from here...
12500 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12501 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12502 Make global.
12503 (grub_hostdisk_find_partition_start): Likewise.
12504 (grub_hostdisk_os_dev_to_grub_drive): New function.
12505 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12506 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12507 * util/getroot.c (make_device_name): ... here.
12508 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12509 Move to ...
12510 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12511 * grub-core/kern/emu/hostdisk.c
12512 (convert_system_partition_to_system_disk): Move to ...
12513 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12514 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12515 * util/getroot.c (device_is_wholedisk): ... here.
12516 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12517 * util/getroot.c (find_system_device): ... here.
12518 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12519 Move to ...
12520 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12521 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12522 Move to ...
12523 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12524 Handle LDM.
12525 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12526 Move to ...
12527 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12528 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12529 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12530 DISKFILTER.
12531 * include/grub/raid.h: Renamed to ...
12532 * include/grub/diskfilter.h: ... this.
12533 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12534 (GRUB_RAID_LAYOUT_*): Make into array.
12535 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12536 (grub_diskfilter_vg): New struct.
12537 (grub_diskfilter_pv_id): Likewise.
12538 (grub_raid_member): Removed.
12539 (grub_raid_array): Likewise.
12540 (grub_diskfilter_pv): New struct.
12541 (grub_diskfilter_lv): Likewise.
12542 (grub_diskfilter_segment): Likewise.
12543 (grub_diskfilter_node): Likewise.
12544 (grub_diskfilter_get_vg_by_uuid): New proto.
12545 (grub_raid_register): Inline.
12546 (grub_diskfilter_unregister): Likewise.
12547 (grub_diskfilter_make_raid): New proto.
12548 (grub_diskfilter_vg_register): Likewise.
12549 (grub_diskfilter_read_node): Likewise.
12550 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12551 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12552 (grub_util_is_ldm): Likewise.
12553 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12554 (grub_hostdisk_find_partition_start): Likewise.
12555 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12556 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12557 New definition.
12558 (grub_gpt_partition_map_iterate): New proto.
12559 * include/grub/lvm.h (grub_lvm_vg): Removed.
12560 (grub_lvm_pv): Likewise.
12561 (grub_lvm_lv): Likewise.
12562 (grub_lvm_segment): Likewise.
12563 (grub_lvm_node): Likewise.
12564 * util/getroot.c [...]
12565 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12566 (probe_abstraction): Likewise.
12567 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12568 (main): Remove dead logic.
12569
12570 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 Simplify root device discover and don't fail when trying to open
12573 incorrect devices.
12574
12575 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12576 function.
12577 (get_diskname_from_path): Likewise.
12578 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12579 of iterating.
12580
12581 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12584
12585 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12588 pastthe end.
12589
12590 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * util/grub-install.in: Add missing \.
12593 Reported by: gentoofan
12594
12595 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12598 (direct_read): Use correct compressed size.
12599 (grub_squash_read_data): Likewise.
12600
12601 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * docs/grub.texi (Platform limitations): New section.
12604 (Platform-specific operations): Likewise.
12605 * docs/grub-dev.texi (Porting): Likewise.
12606
12607 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 IEEE1275 disk write support.
12610
12611 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12612 const void *.
12613 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12614 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12615 and seek loginc to ...
12616 (grub_ofdisk_prepare): ... here.
12617 (grub_ofdisk_write): Implement.
12618
12619 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 ARC disk write support.
12622
12623 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12624 (reopen): New argument writable. All users updated.
12625 Handle required access mode.
12626 (grub_arcdisk_write): Implement.
12627 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12628 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12629
12630 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12633 (read_sblock): Don't attempt to read superblocks outside the disk size.
12634
12635 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12638 first superblock to find the second one when possible.
12639
12640 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * util/grub-install.in: Fix an ARC bug.
12643 Print a warning if no platform-specific setup is available.
12644
12645 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 Use static allocation rather than scratch pointer in reed_solomon.
12648 It decreases its size significantly and avoids a variable in .text.
12649
12650 * grub-core/lib/reed_solomon.c (scratch): Removed.
12651 (chosenstat): New const or static array.
12652 (sigma): Likewise.
12653 (errpot): Likewise.
12654 (errpos): Likewise.
12655 (sy): Likewise.
12656 (mstat): Likewise.
12657 (errvals): Likewise.
12658 (eqstat): Likewise.
12659 (pol_evaluate): Replace x with log_x argument. All users updated.
12660 (syndroms): Removed.
12661 (gauss_solve): Use statically allocated arrays.
12662 (rs_recover): Likewise.
12663 Calculate syndroms directly.
12664 (decode_block): Use statically allocated arrays.
12665 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12666 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12667
12668 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Eliminate fixed limit on reed solomon decoder length.
12671
12672 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12673 rather than hardcoding the address.
12674 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12675 no_reed_solomon_length.
12676 Move gate_a20 to no-reed-solomon part.
12677 Don't force a particular size of no reed-solomon part.
12678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12679 Removed.
12680 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12681 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12682
12683 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * grub-core/commands/wildcard.c (match_files): Handle filenames
12686 without explicit device.
12687 (wildcard_expand): Don't add explicit device if not already present.
12688 * tests/grub_script_echo1.in: Add a new expansion test.
12689
12690 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 Replace single-linked with double-linked lists. It results in more
12693 compact and more efficient code.
12694
12695 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12696 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12697 (grub_list_remove): Moved from here ...
12698 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12699 (grub_prio_list_insert): Set prev.
12700 * include/grub/list.h (grub_list): Add prev. All users updated.
12701
12702 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 Handle newer autotools. Add some missing quotes while on it.
12705
12706 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12707 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12708 (pkgdata_DATA): ... here.
12709 * Makefile.util.def (update-grub_lib): Removed.
12710 * conf/Makefile.common (pkglib_DATA): Removed.
12711 (pkglib_SCRIPTS): Likewise.
12712 (pkgdata_DATA): New variable.
12713 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12714 needed.
12715 Add missing quotes.
12716 Remove unused variable while on it.
12717 * tests/util/grub-shell.in: Likewise.
12718 * util/grub-install.in: Likewise.
12719 * util/grub-mkconfig.in: Likewise.
12720 * util/grub-mknetdir.in: Likewise.
12721 * util/grub-mkrescue.in: Likewise.
12722 * util/grub-mkstandalone.in: Likewise.
12723 * util/grub.d/00_header.in: Likewise.
12724 * util/grub.d/10_hurd.in: Likewise.
12725 * util/grub.d/10_illumos.in: Likewise.
12726 * util/grub.d/10_kfreebsd.in: Likewise.
12727 * util/grub.d/10_linux.in: Likewise.
12728 * util/grub.d/10_netbsd.in: Likewise.
12729 * util/grub.d/10_windows.in: Likewise.
12730 * util/grub.d/20_linux_xen.in: Likewise.
12731 * util/grub.d/30_os-prober.in: Likewise.
12732 * util/update-grub_lib.in: Removed.
12733
12734 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
12735
12736 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12737 a workaround for intel problem.
12738
12739 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
12740 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12741 2012-01-23 pfsmorigo
12742
12743 * util/grub-install.in: Support dd'in into PreP partition.
12744 * util/grub-probe.c (probe): Support discovering partition type.
12745 (main): Support -t msdos_parttype.
12746
12747 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12748
12749 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12750 infinite recursion using counter.
12751 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12752 init to skip it if the magic check fails.
12753 (dec_stream_header): Init s->crc32.
12754
12755 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12756 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
12757 2012-01-22 Richard Laager <rlaager@wiktel.com>
12758
12759 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12760 All users updated.
12761 (find_bestub): Determine correct size.
12762 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12763 (scan_disk): Align the size down.
12764 Call check pool before find_bestub to have ashift.
12765
12766 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12769 dprintf in no-malloc zone.
12770
12771 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12772
12773 * configure.ac: Add back in test for limits.h.
12774
12775 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Support 4K-sector NTFS.
12778
12779 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12780 (grub_ntfs_data): Remove blocksize.
12781 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12782 Remove data argument. All users updated.
12783
12784 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12785
12786 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12787 being in .text to avoid dprel references.
12788 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12789 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12790 (grub_arch_highmemsize): Likewise.
12791 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12792 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12793 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12794
12795 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12798
12799 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12800 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12801
12802 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12805 GRUB_UTIL.
12806 (grub_set_datetime_cmos): Likewise.
12807
12808 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Make XZ compression parameters dependent on target and not host CPU.
12811
12812 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12813 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12814
12815 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12818 set but not used variable.
12819
12820 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12821
12822 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12823 created when no uuid support is compiled into mkfs.reiser.
12824
12825 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12828 (utf8_to_macroman): Do the opposite.
12829 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12830
12831 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 * configure.ac: Refise build qemu_mips w/o unifont.
12834
12835 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 Eliminate grub_min/grub_max prone to overflow usage.
12838
12839 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12840 (poll_nonroot_hub): Likewise.
12841 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12842 (grub_affs_label): Likewise.
12843 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12844 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12845 (grub_hfs_label): Likewise.
12846 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12847 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12848 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12849 (zap_leaf_array_get): Likewise.
12850 (dnode_get_path): Likewise.
12851 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12852 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12853 * grub-core/script/execute.c (grub_script_break): Likewise.
12854 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12855 grub_max.
12856 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12857 * include/grub/misc.h (grub_min): Removed.
12858 (grub_max): Likewise.
12859
12860 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12861
12862 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12863 direct.inode = 0.
12864
12865 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12868
12869 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12872
12873 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12876 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12877
12878 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12881 rather than a hack for grub_strncasemap.
12882
12883 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 Support multiple initrds
12886 Note: part of this was accidently committed in r3739.
12887
12888 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12889 initrd.
12890 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12891 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12892 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12893 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12894 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12895
12896 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12899 disks with unknown size.
12900 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12901
12902 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 Remove defines pertaining to arbitrary limits not affecting GRUB
12905 anymore.
12906
12907 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12908 (EXT2_MAX_SYMLINKCNT): Likewise.
12909 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12910 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12911 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12912 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12913 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12914 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12915 (DN_MAX_OBJECT_SHIFT): Likewise.
12916 (DN_MAX_OFFSET_SHIFT): Likewise.
12917 (DN_MAX_OBJECT): Likewise.
12918 (DNODES_PER_LEVEL_SHIFT): Likewise.
12919 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12920 (SPA_MAXBLOCKSIZE): Likewise.
12921 (SPA_BLOCKSIZES): Likewise.
12922 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12923 (MZAP_MAX_BLKSZ): Likewise.
12924
12925 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12928 handle NULL appropriately.
12929 Remove MIN.
12930
12931 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 Fix efiemu.
12934
12935 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12936 cpu/types.h.
12937 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12938 * configure.ac: Fix efiemu check.
12939
12940 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12943 grub_probe.
12944 Reported by: adamwill
12945
12946 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12947
12948 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12949
12950 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12951
12952 Fix handling of wide characters in gfxterm.
12953
12954 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12955 (clear_char): Likewise.
12956 (paint_char): Skip code == NULL chars.
12957 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12958
12959 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/normal/charset.c: Move comment to right place.
12962
12963 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12966 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12967 (grub_affs_mount): Revert the correct version checking.
12968
12969 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 * docs/grub.texi (Unicode): Mention several other unsupported features.
12972
12973 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12976 case statements as compile-time one.
12977 (direct_read): Prevent spurious warnings.
12978 (grub_squash_read_data): Likewise.
12979
12980 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 Various squash4 fixes and LZO and XZ support.
12983
12984 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12985 Add xzembed source files.
12986 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12987 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12988 (grub_squash_inode): New subtype long_dir.
12989 (SQUASH_TYPE_LONG_DIR): New inode type.
12990 (COMPRESSION): New enum.
12991 (XZBUFSIZ): New const.
12992 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12993 (read_chunk): Use data->decompress.
12994 (zlib_decompress): New function.
12995 (lzo_decompress): Likewise.
12996 (xz_decompress): Likewise.
12997 (squash_mount): Set new data fields.
12998 (grub_squash_iterate_dir): Handle long dir.
12999 (squash_unmount): Free xzdec and xzbuf.
13000 (grub_squash_open): Check ino type.
13001 (direct_read): Stylistic fixes. Use data->decompress.
13002 (grub_squash_read_data): Likewise.
13003 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13004 (get_byte): Likewise.
13005 (grub_zlib_disk_read): Removed.
13006 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13007 (GRUB_POSIX_BOOL_DEFINED): New define.
13008 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13009 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13010 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13011 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13012
13013 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 Don't override more informative errors.
13016
13017 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13018 * grub-core/font/font.c (open_section): Likewise.
13019 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13020 filename. Don't override errors.
13021 (grub_cmd_openbsd_ramdisk): Don't override errors.
13022 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13023 (grub_cmd_initrd): Likewise.
13024 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13025 (grub_cmd_initrd): Likewise.
13026 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13027 (grub_cmd_linux): Likewise.
13028 (grub_cmd_initrd): Likewise.
13029 (grub_cmd_payload): Likewise.
13030 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13031 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13032 (grub_cmd_module): Likewise.
13033 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13034 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13035 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13036 (grub_cmd_xnu_mkext): Likewise.
13037 (grub_cmd_xnu_ramdisk): Likewise.
13038 (grub_xnu_check_os_bundle_required): Likewise.
13039 (grub_xnu_load_kext_from_dir): Likewise.
13040 (grub_cmd_xnu_kextdir): Likewise.
13041 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13042
13043 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13046 as 1024 in block size field. Found on one of my test images.
13047 Small optimisation while on it.
13048
13049 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13052 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13053 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13054 performance fixes while on it.
13055 (grub_sfs_close): Fix memory leak while on it.
13056 (grub_sfs_label): Convert Latin1 to UTF-8.
13057
13058 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13061 space to avoid overflows.
13062 (grub_hfs_label): Convert from macroman to UTF-8.
13063
13064 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13067
13068 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13071
13072 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * unicode: Import Unicode 6.0 data.
13075
13076 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13079 outside of range.
13080
13081 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Avoid cutting in the middle of UTF-8 character.
13084
13085 * include/grub/charset.h (grub_getend): New function.
13086 * grub-core/script/function.c (grub_script_function_find): Use
13087 grub_getend.
13088 * grub-core/normal/completion.c (add_completion): Likewise.
13089
13090 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13093 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13094 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13095 (GRUB_UNICODE_TAG_END): Likewise.
13096 (GRUB_UNICODE_LAST_VALID): Likewise.
13097
13098 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13101 len and make it smaller. All users updated.
13102 * util/import_unicode.py: Put length and not end character.
13103 Check length.
13104
13105 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 Make better Unicode-compliant and unify some UTF-8 code pathes.
13108
13109 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13110 valid character.
13111 (grub_is_valid_utf8): Use grub_utf8_process.
13112 Check resulting code range.
13113 (grub_utf8_to_ucs4): Use grub_utf8_process.
13114 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13115 valid character.
13116
13117 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13120
13121 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * docs/grub.texi (Filesystems): Mention AFS.
13124
13125 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * docs/grub.texi (Filesystems): Clarify restrictions.
13128 (Regexp): Mention non-Unicode regexp behaviour.
13129 (Other): Mention non-Unicode matching behaviour.
13130
13131 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Make HFS implementation use MacRoman.
13134
13135 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13136 (macroman): New const array.
13137 (macroman_to_utf8): New function.
13138 (utf8_to_macroman): Likewise.
13139 (grub_hfs_find_dir): Use utf8_to_macroman.
13140 (grub_hfs_dir): Use macroman_to_utf8.
13141 Set case_insensitive.
13142
13143 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13146
13147 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 Integrate hints into autogeneration scripts.
13150
13151 * docs/grub.texi (Filesystems): Add a hostdisk example.
13152 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13153 (grub-probe): Add ofpath.
13154 * gentpl.py: Remove group nosparc64.
13155 * grub-core/commands/search.c (cache_entry): New struct.
13156 (cache): New var.
13157 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13158 * grub-core/commands/search_wrap.c (options): Add platform-specific
13159 hint options.
13160 (grub_cmd_search): Handle platform-specific hints.
13161 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13162 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13163 (grub_util_biosdisk_data): Likewise.
13164 (grub_util_biosdisk_open): Set device_map.
13165 (read_device_map): Handle "" as indication of no map.
13166 Set device_map.
13167 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13168 (grub_util_biosdisk_get_compatibility_hint): New function.
13169 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13170 * include/grub/emu/hostdisk.h
13171 (grub_util_biosdisk_get_compatibility_hint): New proto.
13172 * util/grub-install.in: Don't call grub-mkdevicemap.
13173 Add platform-specific hint to load.cfg.
13174 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13176 hints. Set root preliminary to compatibility hint, not to OS name.
13177 * util/grub-probe.c (PRINT_*): Add hints.
13178 (print): Make static.
13179 (escape_of_path): New function.
13180 (guess_bios_drive): Likewise.
13181 (guess_efi_drive): Likewise.
13182 (guess_baremetal_drive): Likewise.
13183 (print_full_name): Likewise.
13184 (probe): Handle hints.
13185 (main): Likewise.
13186 * util/ieee1275/devicemap.c: Removed.
13187 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13188 updated.
13189 (grub_util_devname_to_ofpath): Return NULL on failure.
13190
13191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13192 resource leak.
13193 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13194
13195 * po/POTFILES.in: Regenerated.
13196
13197 Allow purely long options
13198
13199 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13200 (SHORT_ARG_USAGE): Likewise.
13201 (grub_arg_show_help): Compare opt with help_options.
13202 (parse_option): Receive opt as argument. If makes big simplificatons.
13203 All users updated
13204
13205 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13208 Restructure to avoid warning.
13209
13210 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13211
13212 * util/grub-install.in: Account for possible escaped comma in device
13213 name.
13214
13215 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13218 channel.
13219
13220 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13223 allocation and zero-setting.
13224 (grub_ieee1275_get_devname): Check that alias is complete.
13225
13226 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13229 unaligned segments.
13230
13231 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13234 prefix.
13235 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13236 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13237 Add ieee1275 prefix.
13238
13239 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * docs/grub.texi (Filesystems): Update.
13242
13243 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 Support odc, newc and bigendian cpio formats.
13246
13247 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13248 * grub-core/Makefile.core.def (newc): New module.
13249 (odc): Likewise.
13250 (cpio_be): Likewise.
13251 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13252 (MAGIC): Likewise.
13253 (MAGIC2): Likewise.
13254 (head) [MODE_ODC]: Adapt for the format.
13255 (head) [MODE_NEWC]: Likewise.
13256 (head) [!MODE_*]: Write fields of interest as arrays.
13257 (MAGIC_USTAR): Removed.
13258 (read_number) [MODE_NEWC]: Change to hex.
13259 (read_number) [!MODE_*]: Parse binary arrays.
13260 (grub_cpio_find_file): Factor out the code for better structure and
13261 always use read_number.
13262 (grub_cpio_mount): Use MAGIC and MAGIC2.
13263 (grub_cpio_dir): Exit on first hook non-0 return.
13264 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13265 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13266 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13267 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13268 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13269 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13270 * grub-core/fs/newc.c: New file.
13271 * grub-core/fs/odc.c: Likewise.
13272 * grub-core/fs/cpio_be.c: Likewise.
13273
13274 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 Fix handling of tar numbers occupying the whole field.
13277
13278 * grub-core/fs/cpio.c (read_number): New function.
13279 (grub_cpio_find_file): Use read_number instead of strtoull.
13280
13281 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13284 occupying the whole field size.
13285
13286 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13287
13288 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13289
13290 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13293
13294 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13295
13296 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13297 TARGET_IMG_LDFLAGS.
13298
13299 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13302 (mountinfo_entry): Increase the field size to take escaping into
13303 account.
13304 (find_root_device_from_libzfs): Add one byte to size of strings for
13305 security.
13306
13307 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13310 an assert.
13311 * util/grub-setup.c (setup): Likewise.
13312
13313 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13316 _LzmaDecodeA.
13317
13318 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * docs/grub.texi (Internationalisation): New section.
13321
13322 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * docs/grub.texi (Loopback booting): New section.
13325
13326 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
13327
13328 * util/grub-mkstandalone.in: Fix minor typo errors.
13329
13330 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13333
13334 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13335 net/icmp.c and net/icmp6.c.
13336 (http): New module.
13337 (priority_queue): Likewise.
13338 * grub-core/io/bufio.c: Rewritten.
13339 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13340 TYPE_WITH_CONFIGFILE_OPTION.
13341 (legacy_commands): Add bootp and dhcp.
13342 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13343 (grub_legacy_parse): Likewise.
13344 * grub-core/lib/priority_queue.c: New file.
13345 * grub-core/net/arp.c: Add missing license header.
13346 (arp_find_entry): Removed.
13347 (arp_find_entry): Likewise.
13348 (grub_net_arp_resolve): Rename to ...
13349 (grub_net_arp_send_request): ...this.
13350 (grub_net_arp_receive): New card argument.
13351 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13352 Set router and DNS server.
13353 (grub_net_configure_by_dhcp_ack): Handle routing information.
13354 (grub_cmd_bootp): Set checksum.
13355 (grub_bootp_init): Remove net_dhcp.
13356 * grub-core/net/dns.c: New file.
13357 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13358 completion.
13359 (get_card_packet): Handle allocation.
13360 (grub_efinet_findcards): Set mtu.
13361 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13362 (get_card_packet): Handle allocation.
13363 (emucard): Set mtu.
13364 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13365 (GRUB_MOD_INIT): Set mtu.
13366 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13367 mtu.
13368 (get_card_packet): Handle allocation.
13369 (grub_ofnet_findcards): Set mtu.
13370 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13371 assert.
13372 (grub_net_recv_ethernet_packet): Handle IPv6.
13373 * grub-core/net/http.c: New file.
13374 * grub-core/net/icmp.c: Likewise.
13375 * grub-core/net/icmp6.c: Likewise.
13376 * grub-core/net/ip.c (ip6addr): New type.
13377 (ip6hdr): Likewise.
13378 (reassemble): Likewise.
13379 (cmp): New function.
13380 (reassembles): New variable.
13381 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13382 (id): New variable.
13383 (send_fragmented): New function.
13384 (grub_net_send_ip_packet): Rename to ...
13385 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13386 Handle non-UDP.
13387 (grub_net_recv_ip_packets): Rename to ...
13388 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13389 (free_rsm): New function.
13390 (free_old_fragments): Likewise.
13391 (grub_net_recv_ip4_packets): New function.
13392 (grub_net_send_ip6_packet): Likewise.
13393 (grub_net_send_ip_packet): Likewise.
13394 (grub_net_recv_ip6_packets): Likewise.
13395 (grub_net_recv_ip_packets): Likewise.
13396 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13397 (LINK_LAYER_CACHE_SIZE): New const.
13398 (link_layer_find_entry): New function.
13399 (grub_net_link_layer_add_address): Likewise.
13400 (grub_net_link_layer_resolve_check): Likewise.
13401 (grub_net_link_layer_resolve): Likewise.
13402 (grub_net_ipv6_get_slaac): Likewise.
13403 (grub_net_ipv6_get_link_local): Likewise.
13404 (grub_cmd_ipv6_autoconf): Likewise.
13405 (parse_ip): Handle one number representation.
13406 (parse_ip6): New functoion.
13407 (match_net): Handle IPv6.
13408 (grub_net_resolve_address): Handle IPv6 and DNS.
13409 (grub_net_resolve_net_address): Handle IPv6.
13410 (route_cmp): New function.
13411 (grub_net_route_address): Find best route.
13412 (grub_net_addr_to_str): Handle IPv6.
13413 (grub_net_addr_cmp): New function.
13414 (grub_net_add_addr): Register local route.
13415 (print_net_address): Handle net address.
13416 (grub_net_poll_cards): Retransmit TCP.
13417 (grub_net_poll_cards_idle_real): Likewise.
13418 (have_ahead): New function.
13419 (grub_net_seek_real): Use underlying seek.
13420 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13421 * grub-core/net/tcp.c: New file.
13422 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13423 (cmp): New function.
13424 (ack): Likewise.
13425 (tftp_receive): Handle unordered input.
13426 (destroy_pq): New function.
13427 (tftp_close): Close pq.
13428 * grub-core/net/udp.c: Put missing license header.
13429 (grub_net_udp_socket): New function.
13430 (udp_socket_register): Likewise.
13431 (grub_net_udp_close): Likewise.
13432 (grub_net_recv_udp_packet): Check checksum.
13433 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13434 * include/grub/misc.h (grub_memchr): New function.
13435 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13436 (grub_net_card_driver): Return buf in recv.
13437 (grub_net_slaac_mac_list): New struct.
13438 (grub_network_level_protocol_id): Add ipv6.
13439 (grub_net_network_level_addr): Likewise.
13440 (grub_net_network_level_net_addr): Likewise.
13441 (grub_net_app_protocol): Add seek.
13442 (grub_net_socket): Removed.
13443 (grub_net_sockets): Likewise.
13444 (grub_net_socket_register): Likewise.
13445 (grub_net_socket_unregister): Likewise.
13446 (FOR_NET_SOCKETS): Likewise.
13447 (grub_net_add_addr): Add const.
13448 (GRUB_NET_BOOTP_*): New enum.
13449 (grub_net_addr_cmp): New proto.
13450 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13451 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13452 (grub_net_hwaddr_to_str): NEw proto.
13453 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13454 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13455 (grub_dns_init): New proto.
13456 (grub_dns_fini): Likewise.
13457 (grub_net_tcp_retransmit): Likewise.
13458 (grub_net_link_layer_add_address): Likewise.
13459 (grub_net_link_layer_resolve_check): Likewise.
13460 (grub_net_link_layer_resolve): Likewise.
13461 (grub_net_dns_lookup): Likewise.
13462 (grub_net_add_dns_server): Likewise.
13463 (grub_net_remove_dns_server): Likewise.
13464 (GRUB_NET_TRIES): New const.
13465 (GRUB_NET_INTERVAL): Likewise.
13466 * include/grub/net/arp.h: Mostly rewritten.
13467 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13468 * include/grub/net/ip.h: Mostly rewritten.
13469 * include/grub/net/netbuff.h: Indent.
13470 * include/grub/net/tcp.h: New file.
13471 * include/grub/net/udp.h: Mostly rewritten.
13472 * include/grub/priority_queue.h: New file.
13473 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13474 (grub_swap_bytes64_compile_time): Likewise.
13475 (grub_cpu_to_be16_compile_time): Likewise.
13476 (grub_cpu_to_be32_compile_time): Likewise.
13477 (grub_cpu_to_be64_compile_time): Likewise.
13478 (grub_be_to_cpu64_compile_time): Likewise.
13479
13480 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13483 UINT_TO_PTR with cast.
13484
13485 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13488 don't use them.
13489
13490 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13493 already there.
13494
13495 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13498 confusing ipxe.
13499
13500 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13503 Add missing const attribute.
13504 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13505 Likewise.
13506 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13507 Likewise.
13508
13509 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13512 misaligned access.
13513 (serpent_setkey): Likewise.
13514 (serpent_encrypt_internal): Likewise.
13515 (serpent_decrypt_internal): Likewise.
13516 (serpent_encrypt): Don't put an alignment-increasing cast.
13517 (serpent_decrypt): Likewise.
13518 (serpent_test): Likewise.
13519
13520 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13523
13524 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13527
13528 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13529 grub_addr_t casts.
13530 (PTR_TO_UINT64): Likewise.
13531 (PTR_TO_UINT32): Likewise.
13532
13533 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13536 because of stack.
13537 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13538 limit.
13539
13540 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13541
13542 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13543 text_width > available width a bit more gracefully.
13544
13545 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13548 current address calculation.
13549
13550 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13553 stack.
13554 (encode_block): Likewise.
13555
13556 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13559 certainety.
13560
13561 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13564 non-RS part to avoid RS messing with GDT.
13565 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13566 Increase to suit in realmode routines.
13567
13568 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * grub-core/kern/i386/realmode.S: Increase alignment.
13571 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13572
13573 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13576 be deterministic.
13577 (syndroms): Compute 0 syndrom.
13578 (rs_recover): Use 0 syndrom.
13579
13580 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13583
13584 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13587 brackets.
13588
13589 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13592 account.
13593 (get_top_pad): Likewise.
13594 (get_right_pad): Likewise.
13595 (get_bottom_pad): Likewise.
13596
13597 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
13600
13601 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13604 attribute as the structure isn't guaranteed to be properly aligned.
13605 (grub_efi_pci_device_path): Likewise.
13606 (grub_efi_pccard_device_path): Likewise.
13607 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13608 specify the size of `memory_type'.
13609 (grub_efi_vendor_device_path): Likewise.
13610 (grub_efi_controller_device_path): Likewise.
13611 (grub_efi_acpi_device_path): Likewise.
13612 (grub_efi_expanded_acpi_device_path): Likewise.
13613 (grub_efi_atapi_device_path): Likewise.
13614 (grub_efi_scsi_device_path): Likewise.
13615 (grub_efi_fibre_channel_device_path): Likewise.
13616 (grub_efi_1394_device_path): Likewise.
13617 (grub_efi_usb_device_path): Likewise.
13618 (grub_efi_usb_class_device_path): Likewise.
13619 (grub_efi_i2o_device_path): Likewise.
13620 (grub_efi_mac_address_device_path): Likewise.
13621 (grub_efi_ipv4_device_path): Likewise.
13622 (grub_efi_ipv6_device_path): Likewise.
13623 (grub_efi_infiniband_device_path): Likewise.
13624 (grub_efi_uart_device_path): Likewise.
13625 (grub_efi_vendor_messaging_device_path): Likewise.
13626 (grub_efi_hard_drive_device_path): Likewise.
13627 (grub_efi_cdrom_device_path): Likewise.
13628 (grub_efi_vendor_media_device_path): Likewise.
13629 (grub_efi_file_path_device_path): Likewise.
13630 (grub_efi_protocol_device_path): Likewise.
13631 (grub_efi_piwg_device_path): Likewise.
13632 (grub_efi_bios_device_path): Likewise.
13633
13634 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13637 (grub_ucs4_to_utf8_alloc): Likewise.
13638 (grub_ucs4_to_utf8): Likewise.
13639 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13640 (grub_ucs4_to_utf8_alloc): Likewise.
13641
13642 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 AFFS never uses unicode.
13645
13646 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13647 (grub_latin1_to_utf8): New inline function.
13648 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13649
13650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13651
13652 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13653 overflow.
13654
13655 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13658 (grub_squash_dirent_header): Likewise.
13659 (read_chunk): Don't double swap.
13660 (grub_squash_iterate_dir): Fix swap sizes.
13661
13662 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13665
13666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13669 (grub_hfs_iterate_dir): Likewise.
13670
13671 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 Fix video on platforms where unaligned access is forbidden.
13674 Make several optimisations while on it.
13675
13676 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13677 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13678 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13679 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13680 Disable.
13681 (grub_video_fbblit_replace_16bit_1bit):
13682 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13683 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13684 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13685 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13686 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13687 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13688 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13689 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13690 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13691 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13692 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13693 (grub_video_fbblit_replace_index_RGB888): Likewise.
13694 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13695 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13696 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13697 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13698 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13699 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13700 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13701 Disable.
13702 (grub_video_fbblit_blend_XXX565_1bit):
13703 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13704 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13705 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13706 void *.
13707 * grub-core/video/fb/video_fb.c (common_blitter)
13708 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13709 (grub_video_fb_create_render_target_from_pointer)
13710 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13711 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13712 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13713 definition.
13714 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13715
13716 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13719 HH22 and HM10 relocations.
13720
13721 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13724
13725 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13728 allocation succeeded.
13729
13730 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13733 argument a u8 pointer. All users updated.
13734 Handle unaligned buffers.
13735
13736 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13739 add_part to workaround compiler bug.
13740
13741 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13744
13745 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13748 Reserve alignment invariants.
13749 (grub_multiboot_load): Likewise.
13750 (retrieve_video_parameters): Likewise.
13751 (grub_multiboot_make_mbi): Likewise.
13752
13753 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13756 incorrect pointer.
13757
13758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13761 (grub_pata_pio_write): Likewise.
13762
13763 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Add noreturn attributes and remove unreachable code.
13766
13767 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13768 code.
13769 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13770 code. Mark as noreturn.
13771 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13772 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13773 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13774 unreachable code.
13775 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13776 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13777 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13778 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13779 * include/grub/kernel.h (grub_main): Mark as noreturn.
13780 * include/grub/reader.h (grub_rescue_run): Likewise.
13781
13782 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13785 redundant declaration.
13786
13787 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13790 redundant declaration.
13791 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13792
13793 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13796 to ensure alignment.
13797 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13798 alignment. Ensure tmp alignment.
13799 (grub_cmd_hdparm): Ensure buf alignment.
13800 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13801 to ensure alignment.
13802 (grub_ata_dumpinfo): Ensure text alignment.
13803 (grub_atapi_identify): Preserve alignment invariant.
13804 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13805
13806 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13809 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13810 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13811 * include/grub/misc.h (grub_reboot)
13812 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13813 (grub_halt) [__mips__]: Likewise.
13814
13815 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13818 Remove redundant declaration.
13819 (grub_mmap_get_post64): Likewise.
13820 (grub_mmap_get_upper): Likewise.
13821 (grub_mmap_get_lower): Likewise.
13822
13823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13826 uint32_t * to ensure alignment.
13827 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13828
13829 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13832 uint16_t * to ensure alignment.
13833 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13834 alignment.
13835
13836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
13839 to ensure alignment.
13840 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13841
13842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13845 Handle unaligned pointers.
13846 (u32at): Likewise.
13847 (u64at): Likewise.
13848 (fixup): Use byte access instead of v16at.
13849 (find_attr): Fix imporper usage of v32at.
13850 (read_data): Likewise.
13851 (list_file): Handle byte-swapping and unaligned strings.
13852 (grub_ntfs_label): Likewise.
13853
13854 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13857 as it's not necessarily aligned.
13858
13859 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13862 redundant declaration.
13863 (grub_serial_init): Likewise.
13864 (grub_terminfo_init): Likewise.
13865
13866 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13869 function.
13870 (ZAP_HASH_IDX): Likewise.
13871 (ZAP_LEAF_HASH_SHIFT): Likewise.
13872 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13873 (LEAF_HASH): Likewise.
13874 (ZAP_LEAF_NUMCHUNKS): Likewise.
13875 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13876 alignment invariants. Return pointer. All users updated.
13877 (ZAP_LEAF_ENTRY): Make into inline function.
13878 (NBBY): Removed.
13879 (xor): LIkewise.
13880 (xor_out): Use grub_crypto_xor.
13881 (dnode_get_path): Use grub_get_unaligned.
13882 (nvlist_find_value): Likewise.
13883 (grub_zfs_nvlist_lookup_uint64): Likewise.
13884 (grub_zfs_nvlist_lookup_string): Likewise.
13885 (get_nvlist_size): Likewise.
13886 (grub_zfs_open): Likewise.
13887 (fill_fs_info): Likewise.
13888 (grub_zfs_dir): Likewise.
13889 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13890 alignment invariants.
13891 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13892 necessarily aligned.
13893
13894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13897
13898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13901 arithmetic to conserve alignment invariants.
13902
13903 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13906 redundant declaration.
13907 (grub_efiemu_mm_obtain_request): Likewise.
13908 (grub_efiemu_prepare): Likewise.
13909
13910 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13913 to match types.
13914
13915 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13918 case of aunaligned recptr.
13919 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13920 alignment.
13921 (grub_hfsplus_btree_search): Handle unaligned index.
13922
13923 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13926 to get freetag and skip.
13927
13928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13931 array.
13932 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13933 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13934
13935 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13938 name for checksum and fix allocation algorithm.
13939
13940 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * include/grub/types.h (grub_properly_aligned_t): New type.
13943 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13944 (grub_get_unaligned16): Add explicit casts.
13945 (grub_get_unaligned32): Likewise.
13946 (grub_get_unaligned64): Likewise.
13947 (grub_set_unaligned16): New function.
13948 (grub_set_unaligned32): Likewise.
13949
13950 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13953
13954 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13957 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13958 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13959
13960 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13963 conditionals.
13964
13965 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13968 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13969
13970 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 Unify and improve RAID and crypto xor.
13973
13974 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13975 changed to grub_crypto_xor
13976 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13977 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13978 Use bigger types when possible.
13979
13980 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * grub-core/disk/raid.c (scan_devices): Fix condition.
13983
13984 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13987 Make name a const ptr.
13988
13989 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13992 first argument a const pointer.
13993 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13995 proto.
13996 (grub_children_iterate): Likewise.
13997 (grub_machine_mmap_iterate): Remove redundant declaration.
13998
13999 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14002 (grub_cmd_acpi) [!x86]: Disable EBDA.
14003
14004 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 Enable UTF8 in gnulib regexp.
14007
14008 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14009 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14010 (isupper): Use grub_isupper.
14011 (isascii): New inline function.
14012 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14013 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14014 * grub-core/normal/charset.c (grub_utf8_process): New function.
14015 (grub_utf8_to_utf16): Use grub_utf8_process.
14016 (grub_encode_utf8_character): New function.
14017 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14018 * include/grub/charset.h (grub_utf8_process): New declaration.
14019 (grub_encode_utf8_character): Likewise.
14020 * include/grub/misc.h (grub_islower): New inline function.
14021 (grub_isupper): Likewise.
14022 (grub_strchrsub): Moved down to fix the definitions.
14023
14024 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14027 specification.
14028
14029 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * include/grub/loader.h (grub_loader_register_preboot_hook):
14032 Use struct preboot * and not void * for handle. All users updated.
14033 (grub_loader_unregister_preboot_hook): Likewise.
14034
14035 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14038 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14039 UTF-16-BE. All users updated.
14040 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14041 (grub_hfsplus_iterate_dir): Likewise.
14042 (grub_hfsplus_label): Likewise.
14043
14044 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14047
14048 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 Add missing const qualifiers.
14051
14052 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14053 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14054 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14055 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14056 (grub_lvm_check_flag): Likewise.
14057 * grub-core/efiemu/i386/coredetect.c
14058 (grub_efiemu_get_default_core_name): Likewise
14059 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14060 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14061 * grub-core/fs/ntfs.c (fixup): Likewise.
14062 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14063 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14064 (fzap_lookup): Likewise.
14065 (zap_lookup): Likewise.
14066 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14067 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14068 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14069 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14070 (grub_freebsd_add_meta_module): Likewise.
14071 (grub_cmd_freebsd_module): Likewise.
14072 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14073 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14074 (grub_xnu_writetree_get_size): Likewise.
14075 (grub_xnu_writetree_toheap_real): Likewise.
14076 (grub_xnu_find_key): Likewise.
14077 (grub_xnu_create_key): Likewise.
14078 (grub_xnu_create_value): Likewise.
14079 (grub_xnu_register_memory): Likewise.
14080 (grub_xnu_check_os_bundle_required): Likewise.
14081 (grub_xnu_scan_dir_for_kexts): Likewise.
14082 (grub_xnu_load_kext_from_dir): Likewise.
14083 * grub-core/normal/color.c (color_list): Likewise.
14084 * grub-core/normal/completion.c (current_word): Likewise.
14085 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14086 * grub-core/term/serial.c (grub_serial_find): Likewise.
14087 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14088 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14089 Likewise.
14090 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14091 (grub_freebsd_add_meta_module): Likewise.
14092 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14093 * include/grub/net.h (grub_net_card_driver): Likewise.
14094 (grub_net_card): Likewise.
14095 (grub_net_app_protocol): Likewise.
14096 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14097 * include/grub/serial.h (grub_serial_find): Likewise.
14098 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14099 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14100 (grub_xnu_create_value): Likewise.
14101 (grub_xnu_find_key): Likewise.
14102 (grub_xnu_scan_dir_for_kexts): Likewise.
14103 (grub_xnu_load_kext_from_dir): Likewise.
14104
14105 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14106 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14107 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14108 Moved from here ...
14109 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14110
14111 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
14112
14113 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14114
14115 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14118 (read_device): Fix size calculation.
14119
14120 2011-11-25 Robert Millan <rmh@gnu.org>
14121
14122 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14123 (find_root_device_from_libzfs): Add zpool output parser to be used
14124 as fallback when libzfs isn't available.
14125
14126 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14127
14128 * po/Makefile.in.in: Add missing escape-continuation.
14129
14130 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14133
14134 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14137
14138 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14141
14142 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14145
14146 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * grub-core/lib/adler32.c: Add missing license specification.
14149 * grub-core/lib/crc64.c: Likewise.
14150 * grub-core/loader/i386/pc/plan9.c: Likewise.
14151 * grub-core/partmap/plan.c: Likewise.
14152
14153 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14154
14155 Add facility to debug GRUB with gdb under qemu.
14156
14157 * grub-core/gdb_grub.in: New file.
14158 * grub-core/gmodule.pl.in: Likewise.
14159 * grub-core/Makefile.core.def (gmodule.pl): New script.
14160 (gdb_grub): Likewise.
14161
14162 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14163
14164 * util/grub-mount.c (argp_parser): Accept relative pathes.
14165 * util/grub-fstest.c (argp_parser): Likewise.
14166
14167 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14168
14169 Plan9 support.
14170
14171 * Makefile.util.def (libgrubmods): Add
14172 grub-core/partmap/plan.c.
14173 * docs/grub.texi: Notice Plan9 support.
14174 * grub-core/Makefile.core.def (plan9): New module.
14175 (part_plan): Likewise.
14176 * grub-core/loader/i386/pc/plan9.c: New file.
14177 * grub-core/partmap/plan.c: Likewise.
14178 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14179 define.
14180 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14181 * include/grub/mm.h (grub_extend_alloc): New inline function.
14182
14183 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 Make Reed-Solomon faster by using power of generator representation of
14186 GF(256)*.
14187
14188 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14189 (gf_double_t): Likewise.
14190 (gf_invert): Removed.
14191 (gf_powx): New array.
14192 (gf_powx_inv): Likewise.
14193 (scratch): Move higher.
14194 (gf_reduce): Removed.
14195 (gf_mul): Use powx.
14196 (gf_invert): Likewise.
14197 (init_inverts): Replaced with ...
14198 (init_powx): ...this. All users updated.
14199 (pol_evaluate): Replace multiplications with additions.
14200 (rs_encode): Likewise.
14201 (gauss_eliminate): Call gf_invert.
14202 (grub_reed_solomon_add_redundancy): Call init_powx.
14203 (grub_reed_solomon_recover): Call init_powx unconditionally.
14204
14205 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14208
14209 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14212 disk->partiton for safety.
14213
14214 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14217 Fix a memory leak.
14218 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14219
14220 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14223
14224 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14227
14228 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 Fix spaces handling in proc/self/mountinfo.
14231
14232 * util/getroot.c (unescape): New function.
14233 (grub_find_root_device_from_mountinfo): Use unescape.
14234
14235 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 Support ZFS embedding.
14238
14239 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14240 (grub_zfs_fs): Register grub_zfs_embed.
14241
14242 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 Fix MIPS compilation.
14245
14246 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14247 * include/grub/offsets.h: Rename decompressor fields from
14248 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14249 * util/grub-mkimage.c (image_targets): Use new names.
14250
14251 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 Defer multiboot device parsing until we're in compressed part.
14254
14255 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14256 bsd_part. setdevice has fallen into disuse.
14257 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14258 (bsd_part): Likewise.
14259 (boot_dev): New variable.
14260 (multiboot_trampoline): Don't parse multiboot device.
14261 Pass multiboot device in %edx.
14262 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14263 grub_boot_device.
14264 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14265 Likewise.
14266 * grub-core/kern/i386/pc/startup.S: Save edx.
14267 (grub_boot_drive): Removed.
14268 (grub_install_dos_part): Likewise.
14269 (grub_install_bsd_part): Likewise.
14270 (grub_boot_device): New variable.
14271 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14272 (grub_install_bsd_part): Likewise.
14273 (grub_boot_drive): Likewise.
14274 (grub_boot_device): New variable.
14275 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14276 Removed.
14277 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14278 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14279 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14280 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14281 * util/grub-install.in: Remove redundant condition.
14282
14283 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 Fix bug introduced by previous commit.
14286
14287 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14288
14289 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 Use decompressors framework on i386-pc. It increases core size
14292 by 46 bytes but improves compatibility and maintainability.
14293
14294 * grub-core/Makefile.core.def (lzma_decompress): New image.
14295 (kernel): Add i386_pc_ldflags.
14296 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14297 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14298 to real_to_prot, prot_to_real and device info.
14299 * include/grub/offsets.h: Renamed decompressor offsets.
14300 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14301 (image_target_desc): Remove raw_size and rename decompressor fields.
14302 (compress_kernel): Handle lzma.
14303 (generate_image): Handle decompressors on i386-pc.
14304
14305 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * configure.ac: Add -fno-asynchronous-unwind-tables.
14308
14309 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Move assembly code to C by using intwrap. It increases core size
14312 by 88 bytes but improves compatibility and maintainability.
14313
14314 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14315 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14316 ... here. Translated to C.
14317 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14318 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14319 ... here. Translated to C.
14320 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14321 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14322 ... here. Translated to C.
14323 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14324 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14325 ... here. Translated to C.
14326 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14327 * grub-core/term/i386/pc/console.c (grub_console_cls):
14328 ... here. Translated to C.
14329 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14330 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14331 ... here. Translated to C.
14332 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14333 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14334 Translated to C.
14335 * grub-core/term/i386/pc/console.c (int10_9): New function.
14336 (grub_console_putchar): Likewise.
14337 * include/grub/i386/pc/console.h: Removed the not anymore shared
14338 functions.
14339
14340 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 Move grub_chainloader_real_boot out of the kernel.
14343
14344 * grub-core/Makefile.am: Remove machine/loader.h.
14345 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14346 Removed.
14347 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14348 variable.
14349 (grub_relocator16_keep_a20_enabled): Likewise.
14350 (grub_relocator16_boot): Fill new variables.
14351 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14352 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14353 relocator.
14354 (grub_chainloader_unload): Likewise.
14355 (grub_chainloader_cmd): Likewise.
14356 * include/grub/i386/pc/loader.h: Removed.
14357 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14358 and esi. All initialisers updated.
14359
14360 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14361 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
14362
14363 * Makefile.util.def (grub-mount): New util.
14364 * .bzrignore: Add grub-mount.
14365 * configure.ac: Check for fuse and enable grub-mount if available.
14366 * docs/man/grub-mount.h2m: New file.
14367 * util/grub-mount.c: Likewise.
14368
14369 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * grub-core/commands/efi/fixvideo.c: Gettextize.
14372 * grub-core/commands/hashsum.c: Likewise.
14373 * grub-core/commands/i386/cmostest.c: Likewise.
14374 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14375 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14376 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14377 * grub-core/commands/lsmmap.c: Likewise.
14378 * grub-core/commands/menuentry.c: Likewise.
14379 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14380 * grub-core/commands/setpci.c: Likewise.
14381 * grub-core/loader/i386/bsd.c: Likewise.
14382 * grub-core/loader/i386/linux.c: Likewise.
14383 * util/getroot.c: Likewise.
14384 * util/grub-editenv.c: Likewise.
14385 * util/grub-fstest.c: Likewise.
14386 * util/grub-mkfont.c: Likewise.
14387 * util/grub-mkimage.c: Likewise.
14388 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14389 * util/grub-pe2elf.c: Likewise.
14390 * util/grub-probe.c: Likewise.
14391 * util/grub-setup.c: Likewise.
14392 * util/ieee1275/ofpath.c: Likewise.
14393 * util/misc.c: Likewise.
14394 * util/raid.c: Likewise.
14395
14396 2011-11-11 Robert Millan <rmh@gnu.org>
14397
14398 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14399 __attribute__((unused)) from `os_dev', which *is* being used.
14400
14401 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14404 forgotten define.
14405 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14406 GRUB_IA64_DL_GOT_ALIGN.
14407 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14408 GRUB_IA64_DL_TRAMP_ALIGN.
14409
14410 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 Replace grub_fatal with normal errors in i386 linux loader.
14413
14414 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14415 (allocate_pages): Check find_efi_mmap_size return value.
14416 (grub_e820_add_region): Return error.
14417 (grub_linux_boot): Check mmap return value.
14418
14419 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 * grub-core/commands/acpihalt.c: Gettextized.
14422 * grub-core/commands/cacheinfo.c: Likewise.
14423 * grub-core/commands/cmp.c: Likewise.
14424 * grub-core/commands/efi/loadbios.c: Likewise.
14425 * grub-core/commands/gptsync.c: Likewise.
14426 * grub-core/commands/ieee1275/suspend.c: Likewise.
14427 * grub-core/commands/legacycfg.c: Likewise.
14428 * grub-core/commands/memrw.c: Likewise.
14429 * grub-core/commands/minicmd.c: Likewise.
14430 * grub-core/commands/parttool.c: Likewise.
14431 * grub-core/commands/time.c: Likewise.
14432 * grub-core/commands/videoinfo.c: Likewise.
14433 * grub-core/disk/geli.c: Likewise.
14434 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14435 * grub-core/disk/luks.c: Likewise.
14436 * grub-core/disk/lvm.c: Likewise.
14437 * grub-core/font/font_cmd.c: Likewise.
14438 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14439 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14440 * grub-core/gfxmenu/view.c: Likewise.
14441 * grub-core/kern/emu/hostdisk.c: Likewise.
14442 * grub-core/kern/emu/main.c: Likewise.
14443 * grub-core/kern/emu/misc.c: Likewise.
14444 * grub-core/kern/emu/mm.c: Likewise.
14445 * grub-core/kern/mips/arc/init.c: Likewise.
14446 * grub-core/kern/mips/loongson/init.c: Likewise.
14447 * grub-core/kern/partition.c: Likewise.
14448 * grub-core/lib/i386/halt.c: Likewise.
14449 * grub-core/lib/mips/arc/reboot.c: Likewise.
14450 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14451 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14452 * grub-core/loader/i386/xnu.c: Likewise.
14453 * grub-core/loader/multiboot.c: Likewise.
14454 * grub-core/net/bootp.c: Likewise.
14455 * grub-core/net/net.c: Likewise.
14456 * grub-core/normal/term.c: Likewise.
14457 * grub-core/partmap/bsdlabel.c: Likewise.
14458 * grub-core/parttool/msdospart.c: Likewise.
14459 * grub-core/term/gfxterm.c: Likewise.
14460 * grub-core/term/terminfo.c: Likewise.
14461 * grub-core/video/i386/pc/vbe.c: Likewise.
14462 * util/grub-menulst2cfg.c: Likewise.
14463 * util/grub-mkdevicemap.c: Likewise.
14464 * util/grub-mklayout.c: Likewise.
14465 * util/grub-mkrelpath.c: Likewise.
14466 * util/grub-script-check.c: Likewise.
14467 * util/ieee1275/grub-ofpathname.c: Likewise.
14468 * util/resolve.c: Likewise.
14469
14470 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 Support %1$d syntax.
14473
14474 * tests/printf_unit_test.c: New file.
14475 * Makefile.util.def (printf_test): New test.
14476 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14477
14478 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14481 fix.
14482
14483 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14486 dprintf.
14487 * grub-core/font/font.c (grub_font_load): Likewise.
14488
14489 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * util/grub-macho2img.c: Add comment concerning gettext.
14492 * grub-core/lib/legacy_parse.c: Likewise.
14493
14494 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14497 (grub_xvasprintf): Likewise.
14498
14499 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 Add const keyword to grub_env_get and gettextize week days.
14502
14503 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14504 (grub_read_hook_datetime): Return const char *.
14505 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14506 updated.
14507 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14508 Mark for gettext.
14509 (grub_get_weekday_name): Return const char *. Call gettext.
14510 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14511 char * and len as the argument. All users updated.
14512 (grub_script_argv_split_append): Receive const char *.
14513 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14514 * include/grub/env.h (grub_env_get): Likewise.
14515 (grub_env_read_hook_t): Return const char *.
14516 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14517 (grub_script_argv_split_append): Likewise.
14518
14519 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14522
14523 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14526 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14527
14528 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14529
14530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14531 Fix prototype.
14532
14533 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 Fix mips compilation.
14536
14537 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14538 normal decoder.
14539 (hashes): Use in embed decoder as well (for sizes).
14540 (dec_stream_header): Fix embed decompressor logic.
14541 (dec_stream_footer): Likewise.
14542
14543 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14546 an error and not a fatal on unrecognised relocation types.
14547
14548 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14551 Issue error rather than printf on unknown arguments.
14552
14553 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14556 Make buf a const.
14557
14558 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14561 Fix module name.
14562
14563 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14566 leftover debug printf.
14567
14568 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14571
14572 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14575 A stylistic fix.
14576
14577 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14580
14581 2011-11-10 Shea Levy <slevy@tieronedesign.com>
14582
14583 Allow all modules to perform serial IO
14584
14585 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14586 * include/grub/serial.h (grub_serial_port_configure): New inline
14587 function.
14588 (grub_serial_port_fetch): Likewise.
14589 (grub_serial_port_put): Likewise.
14590 (grub_serial_port_fini): Likewise.
14591 (grub_serial_find): New proto.
14592
14593 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 Put symlink at the end of the node and fix a potential
14596 memory corruption.
14597
14598 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14599 Make symlink into an array.
14600 (set_rockridge): Set have_symlink and alloc_dirents.
14601 (grub_iso9660_read_symlink): Use new layout.
14602 (grub_iso9660_iterate_dir): Fix memory corruption.
14603 Use new layout.
14604 (grub_iso9660_dir): Set have_symlink.
14605 (grub_iso9660_open): Likewise.
14606
14607 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 Remove local keyword.
14610
14611 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14612 (version_test_gt): Likewise.
14613 (version_find_latest): Likewise.
14614 (gettext_printf): Likewise.
14615 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14616
14617 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14620
14621 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 Fix ZFS memory and resource leaks.
14624
14625 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14626 All users updated.
14627 Free type on exit.
14628 (fill_vdev_info): New parameter inserted. All users updated.
14629 (check_pool_label): Likewise.
14630 (scan_disk): Likewise.
14631 (scan_devices): Close non-inserted disks.
14632 (fzap_iterate): Free l.
14633 (unmount_device): Free children descripto memory.
14634
14635 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14638 argument (access out of bounds).
14639
14640 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14643 >= 6 drives.
14644
14645 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14648 Fix declaration.
14649
14650 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 Fix several memory leaks.
14653
14654 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14655 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14656 (grub_cpio_dir): Likewise.
14657 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14658 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14659 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14660 (grub_romfs_label): Likewise.
14661 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14662 (squash_unmount): New function.
14663 (grub_squash_dir): Fix memory leak.
14664 (grub_squash_open): Likewise.
14665 (grub_squash_read): Likewise.
14666 (grub_squash_mtime): Likewise.
14667 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14668 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14669 * util/grub-fstest.c (fstest): Likewise.
14670
14671 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14674 avoid accessing beyond the array.
14675
14676 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14679
14680 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 Several AFFS fixes.
14683
14684 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14685 (GRUB_AFFS_FLAG_FFS): Removed.
14686 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14687 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14688 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14689 (grub_fshelp_node): Make block 32-bit.
14690 Add block_cache and last_block_cache.
14691 (grub_affs_read_block): Fill and use block cache.
14692 (grub_affs_read_file): Removed.
14693 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14694 boot block.
14695 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14696 safety.
14697 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14698 space.
14699 (grub_affs_close): Free block cache.
14700 (grub_affs_read): Use grub_fshelp_read_file directly.
14701
14702 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14705 with no error set.
14706
14707 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14710 used variable.
14711 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14712 Likewise.
14713
14714 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14717
14718 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14719 byteswap when needed.
14720
14721 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Fix FreeBSD compilation.
14724
14725 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14726 to avoid circular dependency.
14727 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14728 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14729 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14730
14731 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Fix ZFS crypto error types.
14734
14735 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14736 (grub_gcm_decrypt): Likewise.
14737 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14738 from PBKDF2.
14739
14740 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 Illumos support.
14743
14744 * Makefile.util.def (10_illumos): New script.
14745 * configure.ac: Set COND_HOST_ILLUMOS.
14746 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14747 Support Illumos calls.
14748 (find_partition_start) [__sun__]: Likewise.
14749 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14750 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14751 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14752 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14753 device.
14754 * util/grub-probe.c (probe) [__sun__]: Do character check.
14755 * util/grub.d/10_illumos.in: New file.
14756
14757 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 Support escaped commas in hostdisk.
14760
14761 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14762 (find_grub_drive): Use unescape_cmp.
14763 (make_device_name): Escape commas.
14764
14765 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14766
14767 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14768
14769 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14772 variable.
14773
14774 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 Support trampoline jumps on powerpc.
14777
14778 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14779 __ia64__ path.
14780 (grub_dl_load_segments): Set mod->sz.
14781 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14782 segments.
14783 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14784 (jump): Likewise.
14785 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14786 function.
14787 (trampoline): New struct.
14788 (trampoline_template): New const.
14789 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14790 * include/grub/dl.h (grub_dl): Add sz element.
14791 [__powerpc__]: Follow __ia64__.
14792 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14793 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14794 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14795 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14796
14797 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 ZFS crypto support.
14800
14801 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14802 * grub-core/Makefile.core.def (zfscrypt): New module.
14803 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14804 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14805 it. All users updated.
14806 (grub_zfs_decrypt): New var.
14807 (grub_zfs_load_key): Likewise.
14808 (zio_checksum_functions): Add SHA256+MAC.
14809 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14810 (zio_read): Handle encrypted blocks.
14811 (zap_verify): Remove incorrect check.
14812 (fzap_iterate): Handle non-standard fzap.
14813 (zap_iterate): Likewise.
14814 (zap_iterate_u64): New function.
14815 (dnode_get_fullpath): Load keys.
14816 * grub-core/fs/zfs/zfscrypt.c: New file.
14817 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14818 (grub_crypto_ecb_encrypt): Make input const.
14819 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14820 (grub_crypto_ecb_encrypt): Make input const.
14821 (GRUB_CIPHER_AES): New macro.
14822 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14823 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14824 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14825 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14826 prefix. All users updated.
14827 (grub_zfs_add_key): New proto.
14828 (grub_zfs_decrypt): Likewise.
14829 (grub_zfs_load_key): Likewise.
14830 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14831 * util/grub-fstest.c (options): Add -K option.
14832 (argp_parser): Likewise.
14833
14834 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 Support zle compression on ZFS.
14837
14838 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14839 (decomp_table): Add zle.
14840 * include/grub/zfs/zio.h (zio_compress): Add zle.
14841
14842 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Support BtrFS embedding.
14845
14846 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14847 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14848 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14849 * util/grub-setup.c (setup): Use fs embedding if available.
14850 Add additional sanity check.
14851
14852 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * util/grub-install.in: Fix condition for config_opt.
14855
14856 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Support third redundancy strip on raidz3.
14859
14860 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14861 Return error on singularity. All users updated.
14862 (read_device): Don't stop on 3rd failure on raidz3.
14863
14864 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 Support case-insensitive ZFS subvolumes.
14867
14868 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14869 All users updated.
14870 (zap_hash): Likewise.
14871 (name_cmp): New function.
14872 (zap_leaf_array_equal): New parameter case_insensitive.
14873 All users updated.
14874 (zap_leaf_lookup): Likewise.
14875 (fzap_lookup): Likewise.
14876 (zap_lookup): Likewise.
14877 (dnode_get_path): New parameter case_insensitive. Retrieve case
14878 sensitiviness of a volume. All users updated.
14879 (dnode_get_fullpath): New parameter case_insensitive.
14880 All users updated.
14881 (grub_zfs_dir): Set info.case_insensitiveness.
14882
14883 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 Support second redundancy strip on raidz(2,3).
14886
14887 * grub-core/fs/zfs/zfs.c (powx): New array.
14888 (powx_inv): Likewise.
14889 (poly): New const.
14890 (xor_out): New function.
14891 (gf_mul): Likewise.
14892 (recovery): Likewise.
14893 (read_device): Use second redundancy strip.
14894
14895 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 Use a power of generator representation of GF(256) multiplication group
14898 to save space time and complexity.
14899
14900 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14901 (raid6_table2): Likewise.
14902 (powx): New array.
14903 (powx_inv): Likewise.
14904 (poly): New const.
14905 (grub_raid_block_mul): Replace with ...
14906 (grub_raid_block_mulx): ...this.
14907 (grub_raid6_init_table): Rewritten.
14908 (grub_raid6_recover): Use power of generator representation.
14909
14910 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14913 for the right device.
14914
14915 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14918 expected by grub-mkimage and it's more clear since there is no implicit
14919 padding.
14920
14921 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14924 disk.
14925 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14926
14927 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14928
14929 * util/grub-mkrescue.in: Fix handling xorriso option.
14930
14931 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14934 NULL.
14935
14936 2011-11-03 crocket <crockabiscuit@gmail.com>
14937
14938 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14939
14940 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 XZ CRC64 and SHA256 support.
14943
14944 * Makefile.util.def (libgrubmods): Add crc64.c.
14945 * grub-core/Makefile.core.def (crc64): New module.
14946 * grub-core/lib/crc64.c: New file.
14947 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14948 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14949 Fix the type.
14950 (MAX_HASH_SIZE): New define.
14951 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14952 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14953 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14954 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14955 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14956 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14957 Handle non-crc32 hashes.
14958 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14959 (dec_stream_header): Handle non-crc32 hashes.
14960 (dec_stream_footer): Likewise.
14961 (dec_block_header): Likewise.
14962 (dec_main): Likewise.
14963 (xz_dec_init): Likewise.
14964 (xz_dec_reset): Likewise.
14965 (xz_dec_end): Likewise.
14966 * util/import_gcry.py: Add CRC64 line.
14967
14968 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14971 as well.
14972
14973 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 Make reiserfs label retrieval similar to other *_label functions.
14976
14977 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14978 (REISERFS_MAX_LABEL_LENGTH): Removed.
14979 (REISERFS_LABEL_OFFSET): Likewise.
14980 (grub_reiserfs_label): Rewritten.
14981
14982 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14985 field.
14986
14987 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14990
14991 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14994 drive failure on both raidz and raidz2.
14995
14996 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 Fix RAIDZ(2) for >= 5 devices.
14999
15000 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15001 asize argument. All users updated.
15002
15003 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 Fix RAIDZ(2).
15006
15007 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15008 (fill_vdev_info_real): Set ashift.
15009 (read_device): Rewrite RAIDZ part based on reverse engineering.
15010
15011 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15014 don't report potentially unavialiable fields in debug output.
15015 (find_path): Fix double-free and memory leak.
15016
15017 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 Read label on UFS1.
15020
15021 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15022 (grub_ufs_fs): Always set .label.
15023
15024 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 Use shifts in UFS.
15027
15028 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15029 (grub_ufs_data): New field log2_blksz.
15030 (grub_ufs_read_file): Use shifts.
15031 (grub_ufs_mount): Check block size and logarithm it.
15032
15033 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15036 long symlinks.
15037
15038 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 Handle symlinks and long names on tar and cpio.
15041
15042 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15043 (ATTR_FILE): Likewise.
15044 (ATTR_DIR): Likewise.
15045 (ATTR_LNK): Likewise.
15046 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15047 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15048 L and K entries.
15049 (grub_cpio_mount): Zero-fill data.
15050 (handle_symlink): New function.
15051 (grub_cpio_dir): Handle symlinks.
15052 (grub_cpio_open): Likewise.
15053 (grub_cpio_close) [MODE_USTAR]: Free linkname.
15054
15055 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 Fix iso9660 filename limitations and fix memory leaks.
15058
15059 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15060 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15061
15062 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 Fix JFS file name length limitations.
15065
15066 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15067 (grub_jfs_diropen): Fix maximum filename length.
15068 (grub_jfs_getent): Fix filename length.
15069 (grub_jfs_lookup_symlink): Fix size checks.
15070
15071 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15074 string.
15075
15076 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Leverage BFS implementation to read AFS.
15079
15080 * Makefile.util.def (libgrubmods): Add afs.c.
15081 * grub-core/Makefile.core.def (afs): New module
15082 * grub-core/fs/afs.c: New file.
15083 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15084
15085 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
15088
15089 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/fs/bfs.c: Run indent.
15092
15093 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 BFS implementation based on the specification.
15096
15097 * grub-core/fs/bfs.c: New file.
15098 * Makefile.util.def (libgrubmods): Add bfs.c.
15099 * grub-core/Makefile.core.def (bfs): New module.
15100
15101 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 * util/grub-fstest.c (cmd_cp): Clarify error message.
15104 (cmd_cmp): Likewise.
15105
15106 2011-10-30 Yves Blusseau <blusseau@zetam.org>
15107
15108 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15109 and befs_be.
15110
15111 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 Remove afs and befs because of copyright problem.
15114
15115 * grub-core/fs/afs.c: Removed.
15116 * grub-core/fs/afs_be.c: Removed.
15117 * grub-core/fs/befs.c: Removed.
15118 * grub-core/fs/befs_be.c: Removed.
15119 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15120 * grub-core/Makefile.core.def (afs): Removed.
15121 (afs_be): Likewise.
15122 (befs): Likewise.
15123 (befs_be): Likewise.
15124
15125 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 Prefer rockridge over Joliet.
15128
15129 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15130 to ...
15131 (set_rockridge): ... here.
15132 (grub_iso9660_mount): Check rockridge on the primary label when
15133 discovering. Ignore Joliet if Rockridge is present.
15134
15135 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 Use shifts in nilfs2.
15138
15139 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15140 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15141 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15142 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15143 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15144 (grub_nilfs2_entries_per_block): Replaced with ...
15145 (grub_nilfs2_log_entries_per_block_log): ... this.
15146 (grub_nilfs2_blocks_per_group): Replaced with ...
15147 (grub_nilfs2_blocks_per_group_log): ... this.
15148 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15149 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15150 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15151 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15152 (grub_nilfs2_palloc_entry_offset): Replaced ...
15153 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15154 (grub_nilfs2_dat_translate): Use shifts.
15155 (grub_nilfs2_read_inode): Likewise.
15156 (GRUB_MOD_INIT): Ensure that logs are correct.
15157
15158 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 Use shifts in minix filesystem.
15161
15162 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15163 (GRUB_MINIX_ZONE2SECT): Likewise.
15164 (grub_minix_data): Replace block_size with log_block_size.
15165 (grub_minix_read_file): Use shifts.
15166 (grub_minix_mount): Check block size and take a logarithm.
15167
15168 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 Use shifts in squash4.
15171
15172 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15173 (squash_mount): Check block size and take logarithm.
15174 (direct_read): Use shifts.
15175
15176 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 Correct befs block counting logic.
15179
15180 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15181 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15182 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15183 (grub_afs_read_inode): Use block_shift.
15184 (RANGE_SHIFT): New definition.
15185 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15186 unexpected conditions, use shifts and appropriate types.
15187 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15188
15189 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/disk/raid.c (scan_devices): Check partition.
15192 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15193
15194 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15195
15196 Support BFS (befs) UUID.
15197
15198 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15199 (grub_afs_small_data_element_header): New struct.
15200 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15201 (grub_afs_read_attribute) [MODE_BFS]: New function.
15202 (grub_afs_iterate_dir): Allocate for complete inode.
15203 (grub_afs_mount): Likewise.
15204 (grub_afs_uuid) [MODE_BFS]: New function.
15205 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15206
15207 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15210 (zfs_unmount): Fix memory leak.
15211
15212 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15213
15214 Support NTFS reparse points.
15215
15216 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15217 (symlink_descriptor): New struct.
15218 (grub_ntfs_read_symlink): New function.
15219 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15220 (grub_ntfs_open): Likewise.
15221
15222 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15225
15226 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 fstest xnu_uuid subcommand.
15229
15230 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15231 grub-core/commands/xnu_uuid.c.
15232 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15233 (fstest): Handle xnu_uuid.
15234 (options): Document xnu_uuid.
15235 (argp_parser): Parse xnu_uuid.
15236
15237 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15240 -l argument. Add newline at the end if printing.
15241 (GRUB_MOD_INIT): Document -l.
15242
15243 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15246
15247 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 ZFS multi-device and version 33 support.
15250
15251 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15252 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15253 (grub_zfs_data): Add multidev-ice-related fields.
15254 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15255 (dva_get_offset): Make dva const.
15256 (zfs_fetch_nvlist): New function.
15257 (fill_vdev_info_real): Likewise.
15258 (fill_vdev_info): Likewise.
15259 (check_pool_label): Likewise.
15260 (scan_disk): Likewise.
15261 (scan_devices): Likewise.
15262 (read_device): Likewise.
15263 (read_dva): Likewise.
15264 (zio_read_gang): Use read_dva.
15265 (zio_read_data): Likewise.
15266 (zap_leaf_lookup): Add missing endian conversion.
15267 (zap_verify): Add missing endian conversion. All users updated.
15268 (fzap_lookup): Likewise.
15269 (fzap_iterate): Likewise.
15270 (dnode_get_path): Handle SA bonus.
15271 (nvlist_find_value): Make input const. All users updated.
15272 (unmount_device): New function.
15273 (zfs_unmount): Use unmount_device.
15274 (zfs_mount): Use scan_disk.
15275 (zfs_mtime): New function.
15276 (grub_zfs_open): Handle system attributes.
15277 (fill_fs_info): Likewise.
15278 (grub_zfs_dir): Likewise.
15279 (grub_zfs_fs): Add mtime.
15280 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15281 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15282 (SA_MTIME_OFFSET): Likewise.
15283 (SA_SYMLINK_OFFSET): Likewise.
15284 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15285 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15286 (fstest): Support zfsinfo.
15287 (argp_parser): Likewise.
15288
15289 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15292 error.
15293
15294 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 ZFS fixes.
15297
15298 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15299 sharing the same block. Iterate over correct number of indices.
15300 (dnode_get_path): Handle symlinks correctly.
15301
15302 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15303
15304 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15305
15306 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 Read label on HFS+.
15309
15310 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15311 (grub_hfsplus_btree_search): Fix types.
15312 (grub_hfsplus_label): Implement.
15313
15314 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15317
15318 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15321
15322 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Fix symlink handling on iso9660.
15325
15326 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15327 All users updated.
15328 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15329 (grub_iso9660_read_symlink): Moved most of code ...
15330 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15331
15332 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15333
15334 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15335 Use union to avoid breaking strict-aliasing rules.
15336
15337 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 Support multi-extent iso files.
15340
15341 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15342 Add node.
15343 (grub_fshelp_node): Revamp. All users updated.
15344 (FLAG_*): New enum.
15345 (read_node): New function.
15346 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15347 All users updated.
15348 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15349 (get_node_size): New function.
15350 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15351 entries.
15352 Fix memory leak on . and ..
15353 (grub_iso9660_read): Use read_node.
15354 (grub_iso9660_close): Free node.
15355
15356 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 Fix tar 4G limit and handle paths containing dot.
15359
15360 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15361 (canonicalize): New function.
15362 (grub_cpio_find_file): Use canonicalize. Store offs in
15363 grub_disk_addr_t.
15364 (grub_cpio_dir): Use grub_disk_addr_t.
15365 (grub_cpio_open): Likewise.
15366
15367 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15370
15371 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15372 unused flags.
15373 (grub_squash_inode): Add long_file and block_size.
15374 (grub_squash_cache_inode): New struct.
15375 (grub_squash_dirent): Make types into enum.
15376 (SQUASH_TYPE_LONG_REGULAR): New type.
15377 (grub_squash_frag_desc): Add field size.
15378 (SQUASH_BLOCK_FLAGS): New enum.
15379 (grub_squash_data): Use grub_squash_cache_inode.
15380 (grub_fshelp_node): Make ino_chunk 64-bit.
15381 (read_chunk): Minor argument change. All users updated.
15382 (squash_mount): Use correct le_to_cpu.
15383 (grub_squash_open): Handle LONG_REGULAR.
15384 (direct_read): New function.
15385 (grub_squash_read_data): Handle blocks correctly.
15386
15387 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15388
15389 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15390
15391 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15394
15395 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 Fix 2G limit on ZFS.
15398
15399 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15400 types.
15401 (uberblock_verify): Likewise.
15402 (dmu_read): Likewise.
15403 (grub_zfs_read): Likewise. Remove invalid cast.
15404
15405 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15408 (grub_jfs_blkno): Fix incorrect shift.
15409 (grub_jfs_read_file): Use more appropriate types.
15410
15411 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 Support triple indirect on minix2 and minix3.
15414
15415 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15416 Declare triple_indir_zone.
15417 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15418 indirect.
15419
15420 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Minix FS fixes.
15423
15424 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15425 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15426 Rename ctime to mtime. All users updated.
15427 (grub_minix_get_file_block): Fix types and double indirect computations.
15428
15429 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15432 if no label is found.
15433 (grub_fat_iterate_dir): Fix file size type.
15434 (grub_fat_iterate_dir): Likewise.
15435
15436 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15439 save some space.
15440 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15441 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15442
15443 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15446
15447 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * util/import_gcry.py: Accept space between # and include.
15450
15451 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15454
15455 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15458
15459 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15460 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15461 yylex_strncpy.
15462 * grub-core/script/yylex.l: Add fine-grained #pragma.
15463
15464 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15467 New inline function.
15468 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15469 Likewise.
15470 (memset) [GRUB_UTIL]: Likewise.
15471 (memcmp) [GRUB_UTIL]: Likewise.
15472
15473 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15476 inline function rather than a define.
15477
15478 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * util/grub-setup.c: Add missing include.
15481
15482 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * util/ieee1275/grub-ofpathname.c: Add missing include.
15485
15486 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15489 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15490 Likewise.
15491
15492 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15495 grub_memcmp usage.
15496
15497 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * util/grub-install.in: Add datarootdir as per automake manual
15500 suggestion.
15501 * util/grub-mknetdir.in: Likewise.
15502
15503 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15506 suggestion.
15507 * util/grub.d/10_kfreebsd.in: Likewise.
15508 * util/grub.d/10_linux.in: Likewise.
15509 * util/grub.d/10_netbsd.in: Likewise.
15510 * util/grub.d/10_windows.in: Likewise.
15511 * util/grub.d/20_linux_xen.in: Likewise.
15512
15513 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 Remove redundant grub_kernel_image_size.
15516
15517 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15518 _edata and _start.
15519 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15520 the small code. It moves it only by few bytes but simplifies the code.
15521 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15522 _start.
15523 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15524 (grub_kernel_image_size): Removed.
15525 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15526 (grub_kernel_image_size): Removed.
15527 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15528 compiled with Apple toolchain.
15529 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15530 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15531 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15532 (grub_total_module_size): Likewise.
15533 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15534 Removed.
15535 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15536 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15537 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15538 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15539 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15540 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15541 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15542 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15543 Removed.
15544 (grub_total_module_size): Removed.
15545 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15546 (image_targets): Likewise.
15547 Set .compressed_size to no field on sparc.
15548 (generate_image): Remove kernel_image_size handling.
15549
15550 2011-10-19 Szymon Janc <szymon@janc.net.pl>
15551
15552 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15553 NULL pointer dereference.
15554
15555 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15558 done with a dedicated section.
15559
15560 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15561 Ensure the correct position of boot_path.
15562 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15563 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15564 other fields.
15565 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15566 * include/grub/boot.h: Removed. All references removed.
15567 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15568 Removed.
15569 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15570
15571 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15574 name.
15575
15576 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15579
15580 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15583 Don't add the bogus brackets.
15584
15585 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 ExFAT support.
15588
15589 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15590 * grub-core/Makefile.core.def (exfat): New module.
15591 * grub-core/fs/exfat.c: New file.
15592 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15593 (GRUB_FAT_ATTR_*): Make into an enum.
15594 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15595 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15596 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15597 (GRUB_FAT_MAXFILE): Removed.
15598 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15599 (grub_current_fat_bpb_t): New type.
15600 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15601 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15602 (grub_fat_dir_node_t): New type.
15603 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15604 (fat_log2) [MODE_EXFAT]: Removed.
15605 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15606 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15607 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15608 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15609 (grub_fat_label) [MODE_EXFAT]: New function.
15610 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15611 reserved_first_sector to 0.
15612
15613 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15614
15615 Move grub_reboot out of the kernel.
15616
15617 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15618 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15619 * grub-core/lib/efi/reboot.c: ... here.
15620 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15621 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15622 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15623 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15624 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15625 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15626 * grub-core/lib/ieee1275/reboot.c: ... here.
15627 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15628 * grub-core/lib/mips/arc/reboot.c: ... here.
15629 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15630 * grub-core/lib/mips/loongson/reboot.c: ...here.
15631 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15632 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15633 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15634 * include/grub/i386/reboot.h: New file.
15635 * include/grub/mips/loongson/ec.h: Fix includes.
15636 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15637 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15638 * grub-core/lib/i386/reboot.c: New file.
15639
15640 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Make grub_prefix into module to fix the arbitrary limit and save
15643 some space.
15644
15645 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15646 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15647 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15648 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15649 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15650 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15651 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15652 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15653 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15654 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15655 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15656 * include/grub/ia64/efi/kernel.h: Removed.
15657 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15658 (grub_prefix): Removed.
15659 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15660 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15661 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15662 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15663 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15664 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15665 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15666 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15667 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15668 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15669 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15670 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15671 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15672 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15673 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15674 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15675 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15676 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15677 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15678 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15679 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15680 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15681 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15682 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15683 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15684 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15685 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15686 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15687 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15688 from module.
15689 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15690 prefix_end.
15691 (image_targets): Likewise.
15692 (generate_image): Put prefix as a module.
15693
15694 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 Replace grub_module_iterate with FOR_MODULES.
15697
15698 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15699 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15700 (grub_efi_modules_addr): ...this.
15701 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15702 (grub_efi_init): Set grub_modbase.
15703 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15704 (grub_modbase): New variable.
15705 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15706 (grub_modbase): New variable.
15707 (grub_machine_init): Set grub_modbase.
15708 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15709 (grub_modbase): New variable.
15710 (grub_machine_init): Set grub_modbase.
15711 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15712 (grub_modbase): New variable.
15713 (grub_machine_init): Set grub_modbase.
15714 * grub-core/kern/main.c (grub_module_iterate): Remove.
15715 (grub_modules_get_end): Use grub_modbase.
15716 (grub_load_modules): Use FOR_MODULES.
15717 (grub_load_config): Likewise.
15718 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15719 (grub_modbase): New variable.
15720 (grub_machine_init): Set grub_modbase.
15721 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15722 (grub_modbase): New variable.
15723 (grub_machine_init): Set grub_modbase.
15724 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15725 Removed.
15726 (grub_modbase): New variable.
15727 (grub_machine_init): Set grub_modbase.
15728 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15729 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15730 (grub_module_iterate): Likewise.
15731 (grub_modbase): New variable declaration.
15732 (FOR_MODULES): New macro.
15733
15734 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15737 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15738
15739 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 Fix few obvious type discrepancies.
15742
15743 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15744 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15745 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15746 variable.
15747 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15748 and connected types.
15749 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15750 offset.
15751 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15752 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15753 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15754 and connected types.
15755
15756 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 Fix python 3.x incompatibilities.
15759
15760 * gentpl.py: Put brackets around print strings.
15761 * util/import_gcry.py: Open explicitly as utf-8.
15762 Use in instead of has_key.
15763
15764 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15767 (GRUB_XFS_INO_AGBITS): Make into inline function.
15768 (GRUB_XFS_INO_INOINAG): Likewise.
15769 (GRUB_XFS_INO_AG): Likewise.
15770 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15771 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15772 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15773 (GRUB_XFS_EXTENT_SIZE): Likewise.
15774 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15775 (GRUB_XFS_NEXT_DIRENT): Likewise.
15776 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15777 (grub_xfs_read_file): Fix offset type.
15778
15779 2011-10-15 Robert Millan <rmh@gnu.org>
15780
15781 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15782
15783 2011-10-15 Robert Millan <rmh@gnu.org>
15784
15785 Fix build problem on FreeBSD and GNU/kFreeBSD.
15786
15787 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15788
15789 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15792
15793 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15794 types.
15795 (grub_hfsplus_btree_recoffset): Likewise.
15796 (grub_hfsplus_btree_recptr): Likewise.
15797 (grub_hfsplus_find_block): Likewise.
15798 (grub_hfsplus_btree_search): Likewise.
15799 (grub_hfsplus_read_block): Likewise.
15800 (grub_hfsplus_read_file): Likewise.
15801 (grub_hfsplus_mount): Likewise.
15802 (grub_hfsplus_btree_iterate_node): Likewise.
15803 (grub_hfsplus_btree_search): Likewise.
15804 (grub_hfsplus_iterate_dir): Likewise.
15805 (grub_hfsplus_read): A small code simplification.
15806
15807 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/kern/emu/hostdisk.c
15810 (convert_system_partition_to_system_disk): Don't assume that children
15811 of mapper nodes are mapper nodes.
15812
15813 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15816 * include/grub/misc.h (grub_isxdigit): New function.
15817 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15818 switched to grub_isxdigit.
15819 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15820 number starting with a letter.
15821
15822 2011-10-09 Robert Millan <rmh@gnu.org>
15823
15824 LVM support for FreeBSD and GNU/kFreeBSD.
15825
15826 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15827 GNU/kFreeBSD.
15828 (LVM_DEV_MAPPER_STRING): Move from here ...
15829 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15830 * util/getroot.c: Include `<grub/util/lvm.h>'.
15831 (grub_util_get_dev_abstraction): Enable
15832 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15833 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15834 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15835 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15836 support it.
15837 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15838 GNU/kFreeBSD.
15839 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15840 when LVM abstraction is required for ${GRUB_DEVICE}.
15841
15842 2011-10-06 Szymon Janc <szymon@janc.net.pl>
15843
15844 Add support for LZO compression in GRUB:
15845 - import of minilzo library,
15846 - LZO decompression for btrfs,
15847 - lzop files decompression.
15848
15849 * grub-core/io/lzopio.c: New file.
15850 * grub-core/lib/adler32.c: Likewise.
15851 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15852 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15853 * grub-core/lib/minilzo/minilzo.c: Likewise.
15854 * grub-core/lib/minilzo/minilzo.h: Likewise.
15855 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15856 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15857 grub-core/lib/minilzo/minilzo.c to common.
15858 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15859 cflags in cppflags.
15860 * grub-core/Makefile.core.def (btrfs): Likewise.
15861 * grub-core/Makefile.core.def (lzopio): New module.
15862 (adler32): Likewise.
15863 * grub-core/fs/btrfs.c: Include minilzo.h.
15864 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15865 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15866 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15867 (grub_btrfs_lzo_decompress): New function.
15868 (grub_btrfs_extent_read): Add support for LZO compression type.
15869 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15870 (GRUB_USHRT_MAX): Likewise.
15871 (GRUB_UINT_MAX): Likewise.
15872 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15873 (UINT_MAX): Likewise.
15874 (CHAR_BIT): Likewise.
15875 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15876 grub-core/lib/posix_wrap/limits.h
15877 (UCHAR_MAX): Likewise.
15878 * include/grub/file.h (grub_file_filter_id): New compression filter
15879 GRUB_FILE_FILTER_LZOPIO.
15880 * include/grub/file.h (grub_file_filter_id): Set
15881 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15882 * include/grub/types.h (grub_get_unaligned16): New function.
15883 (grub_get_unaligned32): Likewise.
15884 (grub_get_unaligned64): Likewise.
15885 * util/import_gcry.py (cryptolist): Add adler32.
15886
15887 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15890 in perspective decreases the complexity of build system and fixes
15891 compilation right now.
15892
15893 2011-10-01 Ales Nesrsta <starous@volny.cz>
15894
15895 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15896 (fixed problem related to using UHCI with coreboot).
15897
15898 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15899
15900 * gentpl.py: Use Autogen macros so that the output template file
15901 (Makefile.tpl) size is reduced.
15902
15903 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
15904
15905 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15906 extra_dist.
15907
15908 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15909
15910 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15911 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15912
15913 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15914
15915 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15916 _fullpath.
15917
15918 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15919
15920 Remove extra declaration of sleep for mingw32.
15921
15922 * util/misc.c (sleep) [__MINGW32__]: Removed.
15923 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15924
15925 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15926
15927 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15928 type and packname.
15929 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15930 Resurrected.
15931 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15932 (grub_netbsd_btinfo_bootwedge): New struct.
15933 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15934 New function.
15935 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15936
15937 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15938
15939 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15940 loader.
15941
15942 2011-09-28 Andreas Born <futur.andy@googlemail.com>
15943
15944 Fix incorrect identifiers in bash-completion.
15945
15946 * util/bash-completion.d/grub-completion.bash.in
15947 (_grub_mkpasswd-pbkdf2): Rename to ...
15948 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15949 (_grub_script-check): Rename to ...
15950 (_grub_script_check): ... this. All users updated.
15951
15952 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15955 Return 0 if disk isn't biosdisk.
15956
15957 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15958
15959 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15960 on NetBSD.
15961 * Makefile.util.def (grub-fstest): Likewise.
15962
15963 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15964
15965 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15966 Get sector size from disk label.
15967
15968 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
15969
15970 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15971 */README* as well as README*.
15972 Reported by: Axel Beckert.
15973
15974 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15977 case of less than 256 MiB of RAM.
15978
15979 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 * grub-core/commands/wildcard.c (make_regex): Handle @.
15982
15983 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15986
15987 2011-08-21 Szymon Janc <szymon@janc.net.pl>
15988
15989 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15990 AC_LANG_CONFTEST macros.
15991
15992 2011-08-20 Szymon Janc <szymon@janc.net.pl>
15993
15994 Add grub-fstest option to uncompress data for commands.
15995
15996 * util/grub-fstest.c (uncompress): New var.
15997 (options): New option -u.
15998
15999 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16000
16001 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16002 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16003
16004 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16005
16006 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16007 file type was not recognized correctly (not gzip or corrupted).
16008
16009 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16012 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16013
16014 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16017 loongson.
16018 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16019 video_radeon_fuloong2e.
16020 * grub-core/video/radeon_fuloong2e.c: New file.
16021 * include/grub/video.h (grub_video_id_t): Add new ID
16022 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16023
16024 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16027 define.
16028 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16029 that PRID matches the detected subplatform and reset the subplatform
16030 if it doesn't.
16031
16032 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16035
16036 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Fix PCI iterating on functions >= 4.
16039
16040 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16041 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16042 Removed.
16043 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16044 (grub_pci_read): Fix bitmask.
16045 (grub_pci_read_word): Likewise.
16046 (grub_pci_read_byte): Likewise.
16047 (grub_pci_write): Likewise.
16048 (grub_pci_write_word): Likewise.
16049 (grub_pci_write_byte): Likewise.
16050
16051 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16054 can still be specified in TARGET_CFLAGS)
16055
16056 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16057
16058 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16059
16060 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16061 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16062 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16063 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16064 (FULOONG): Rename to ...
16065 (FULOONG2F): ... this. All users updated.
16066 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16067 (machtype_fuloong2f_str): ... this.
16068 (machtype_fuloong2e_str): New string.
16069 Check for machtype_fuloong2e_str.
16070 * grub-core/loader/mips/linux.c (loongson_machtypes)
16071 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16072 * grub-core/term/serial.c (loongson_defserial)
16073 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16074 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16075 loongson_defserial.
16076 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16077 Rename to ...
16078 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16079 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16080 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16081 to IMAGE_FULOONG2F_FLASH. All users updated.
16082 (image_targets): Rename images.
16083 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16084
16085 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16086
16087 Make enable of disk cache statistics code configurable.
16088
16089 * configure.ac: --enable-cache-stats added.
16090 * config.h.in (DISK_CACHE_STATS): New define.
16091 * grub-core/Makefile.core.def (cacheinfo): New command.
16092 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16093 * grub-core/commands/cacheinfo.c: New file.
16094 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16095 moved to cacheinfo.c.
16096 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16097 debug code.
16098 * include/grub/disk.h: Likewise.
16099
16100 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16101
16102 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16103 * grub-core/Makefile.am: Likewise.
16104
16105 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16108 non-zero pull.
16109
16110 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16113 All users updated.
16114 (grub_jfs_lookup_symlink): Use correct starting inode.
16115
16116 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * util/grub-setup.c (main): Add missing gcry initialisation.
16119
16120 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 Don't accept text modes on EFI when booting Linux.
16123
16124 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16125 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16126
16127 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16128 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16129
16130 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16131 use of "/path/.." as in grub-install for EFI as well as handling
16132 symlinks correctly.
16133 Fixes Debian bug #637768.
16134
16135 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16136
16137 * util/grub-probe.c: Remove duplicate #include.
16138
16139 2011-08-10 Robert Millan <rmh@gnu.org>
16140
16141 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16142
16143 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16144 function.
16145 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16146 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16147
16148 2011-08-03 Robert Millan <rmh@gnu.org>
16149
16150 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16151 la_array as packed.
16152 Reported by: Zachary Bedell
16153
16154 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16155
16156 * configure.ac: The Loongson port requires grub-mkfont due to its
16157 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16158 be built.
16159
16160 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16161
16162 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16163 processing arguments (otherwise help2man fails when GRUB has not yet
16164 been installed).
16165
16166 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16167
16168 New script grub-mkstandalone.
16169
16170 * Makefile.util.def (grub-mkstandalone): New script.
16171 * docs/man/grub-mkstandalone.h2m: New file.
16172 * util/grub-mkstandalone.in: Likewise.
16173
16174 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 Support ATA disks with 4K sectors.
16177
16178 * include/grub/ata.h (grub_ata): New member log_sector_size.
16179 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16180 (grub_ata_identify): Read sector size.
16181 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16182
16183 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * util/grub-install.in: Don't use uhci outside of x86.
16186
16187 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * util/grub-mkrescue.in: Add missing quotes.
16190
16191 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16194 dereference.
16195
16196 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16199
16200 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 * include/grub/video.h: add missing EXPORT_FUND on
16203 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16204
16205 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * include/grub/mips/kernel.h: Fix define conflict.
16208
16209 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16212 all four ways.
16213
16214 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
16215
16216 Preferred resolution detection for VBE.
16217
16218 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16219 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16220 the Flat Panel extension, in line with the X.org VESA driver.
16221 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16222 New function.
16223 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16224 (grub_vbe_bios_read_edid): Likewise.
16225 (grub_vbe_get_preferred_mode): Likewise.
16226 (grub_video_vbe_setup): When the mode is "auto", try to get the
16227 preferred mode from VBE, and use the largest mode that is no larger
16228 than the preferred mode (some BIOSes expose a preferred mode that is
16229 not in their mode list!). If this fails, fall back to 640x480 as a
16230 safe conservative choice.
16231 (grub_video_vbe_get_edid): New function.
16232 (grub_video_vbe_adapter): Add get_edid.
16233 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16234 (struct grub_video_adapter): Add get_edid.
16235 (grub_video_edid_checksum): Add prototype.
16236 (grub_video_edid_preferred_mode): Likewise.
16237 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16238 structure.
16239
16240 * grub-core/commands/videoinfo.c (print_edid): New function.
16241 (grub_cmd_videoinfo): Print EDID if available.
16242
16243 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16244 is more appropriate on a wider range of platforms than 640x480.
16245 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16246 documentation.
16247
16248 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16251
16252 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * po/POTFILES.in: Regenerate.
16255
16256 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16259 incorrect memory usage.
16260
16261 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * util/grub-install.in: Source grub-mkconfig_lib.
16264
16265 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 Remove getroot.c from core on emu platform.
16268
16269 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16270 kern/emu/raid.c.
16271 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16272 useless.
16273 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16274 * util/getroot.c (get_win32_path): ... here.
16275 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16276 * util/getroot.c (fini_libzfs): ... here.
16277 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16278 * util/getroot.c (grub_get_libzfs_handle): ... here.
16279 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16280 Moved from here...
16281 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16282 * grub-core/kern/emu/misc.c
16283 (grub_make_system_path_relative_to_its_root): Moved from here...
16284 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16285 * grub-core/kern/emu/getroot.c: Moved from here ...
16286 * util/getroot.c: ... here. All users updated.
16287 * grub-core/kern/emu/raid.c: Moved from here ...
16288 * util/raid.c: ... here. All users updated.
16289
16290 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * po/POTFILES.in: Regenerate.
16293
16294 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 Fix compilation on GNU/Linux.
16297
16298 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16299 Disable geli.
16300 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16301 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16302 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16303
16304 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16305 2011-07-07 Michael Gorven <michael@gorven.za.net>
16306 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16307
16308 LUKS and GELI support.
16309
16310 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16311 grub-core/disk/luks.c, grub-core/disk/geli.c,
16312 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16313 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16314 grub-core/lib/arg.c.
16315 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16316 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16317 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16318 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16319 (grub-bin2h): Add libgcry.a.
16320 (grub-mkimage): Likewise.
16321 (grub-mkrelpath): Likewise.
16322 (grub-script-check): Likewise.
16323 (grub-editenv): Likewise.
16324 (grub-mkpasswd-pbkdf2): Likewise.
16325 (grub-pe2elf): Likewise.
16326 (grub-fstest): Likewise.
16327 (grub-mkfont): Likewise.
16328 (grub-mkdevicemap): Likewise.
16329 (grub-probe): Likewise.
16330 (grub-ofpath): Likewise.
16331 (grub-mklayout): Likewise.
16332 (example_unit_test): Likewise.
16333 (grub-menulst2cfg): Likewise.
16334 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16335 * grub-core/Makefile.core.def (cryptodisk): New module.
16336 (luks): Likewise.
16337 (geli): Likewise.
16338 * grub-core/disk/AFSplitter.c: New file.
16339 * grub-core/disk/cryptodisk.c: Likewise.
16340 * grub-core/disk/geli.c: Likewise.
16341 * grub-core/disk/luks.c: Likewise.
16342 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16343 grub_util_is_lvm.
16344 (grub_util_get_dm_abstraction): New function.
16345 (grub_util_follow_gpart_up): Likewise.
16346 (grub_util_get_geom_abstraction): Likewise.
16347 (grub_util_get_dev_abstraction): Use new functions.
16348 (grub_util_pull_device): Pull GELI and LUKS.
16349 (grub_util_get_grub_dev): Handle LUKS and GELI.
16350 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16351 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16352 (follow_geom_up): Removed.
16353 (grub_util_fd_seek): New function.
16354 (open_device): Use grub_util_fd_seek.
16355 (nread): Rename to ..
16356 (grub_util_fd_read): ... this. All users updated.
16357 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16358 (grub_crypto_cbc_decrypt): Likewise.
16359 (grub_crypto_hmac_write): Likewise.
16360 (grub_crypto_hmac_buffer): Likewise.
16361 (grub_password_get): Extend to util.
16362 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16363 New member modname.
16364 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16365 * include/grub/cryptodisk.h: New file.
16366 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16367 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16368 LUKS and GELI.
16369 (grub_util_follow_gpart_up): New proto.
16370 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16371 (grub_util_fd_read): Likewise.
16372 (grub_cryptodisk_cheat_mount): Likewise.
16373 (grub_util_cryptodisk_print_uuid): Likewise.
16374 (grub_util_get_fd_sectors): Likewise.
16375 * util/grub-fstest.c (mount_crypt): New var.
16376 (fstest): Mount crypto if requested.
16377 (options): New option -C.
16378 (argp_parser): Parse -C.
16379 (main): Init and fini gcry.
16380 * util/grub-install.in: Support cryptodisk install.
16381 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16382 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16383 cryptodisk.
16384 (prepare_grub_to_access_device): Likewise.
16385 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16386 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16387 (probe_cryptodisk_uuid): New function.
16388 (probe_abstraction): Likewise.
16389 (probe): Use new functions.
16390 * util/import_gcry.py: Create Makefile.utilgcry.def.
16391 Add modname member.
16392
16393 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 Lazy device scanning.
16396
16397 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16398 (grub-setup): Remove util/raid.c.
16399 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16400 * grub-core/disk/lvm.c (scan_depth): New variable.
16401 (grub_lvm_iterate): Rescan if necessary.
16402 (find_lv): New function based on grub_lvm_open.
16403 (grub_lvm_open): Use find_lv. Rescan on error.
16404 (is_node_readable): New function.
16405 (is_lv_readable): Likewise.
16406 (grub_lvm_scan_device): Skip already found disks.
16407 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16408 Stop if searched device is found and readable.
16409 * grub-core/disk/raid.c (inscnt): New variable.
16410 (scan_depth): Likewise.
16411 (scan_devices): New function based on grub_raid_register. Abort if
16412 looked for device is found.
16413 (grub_raid_iterate): Rescan if needed.
16414 (find_array): NEw function based on -grub_raid_open.
16415 (grub_raid_open): Use find_array and rescan.
16416 (insert_array): Set became_readable_at.
16417 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16418 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16419 New function.
16420 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16421 (grub_util_pull_device): New function.
16422 (grub_util_get_grub_dev): Call grub_util_pull_device.
16423 * util/raid.c: Moved to ..
16424 * grub-core/kern/emu/raid.c: ... here.
16425 (grub_util_raid_getmembers): New parameter "bootable".
16426 All users updated. Support 1.x.
16427 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16428 All users updated.
16429 * include/grub/disk.h (grub_disk_pull_t): New enum.
16430 (grub_disk_dev): Change iterate prototype.
16431 All users updated.
16432 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16433 New proto.
16434 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16435 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16436 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16437 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16438 All users updated.
16439 * include/grub/util/raid.h: Removed.
16440
16441 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 * po/POTFILES.in: Regenerate.
16444
16445 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 Unify sparc init with other ieee1275.
16448
16449 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16450 instead of kern/sparc64/ieee1275/init.c.
16451 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16452 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16453 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16454 grub/machine/kernel.h.
16455 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16456 (grub_claim_heap) [__sparc__]: Use sparc version.
16457 (grub_machine_init): Moved args parsing to
16458 (grub_parse_cmdline): ...this.
16459 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16460 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16461 New definition.
16462 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16463
16464 Move BOOTP to separate file.
16465
16466 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16467 * grub-core/net/net.c: Move all BOOTP functions to
16468 * grub-core/net/bootp.c: ... here.
16469
16470 Use frame interface on PXE.
16471
16472 * grub-core/Makefile.core.def (pxecmd): Removed.
16473 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16474 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16475 * grub-core/i386/pc/pxe.c: Moved from here ...
16476 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16477 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16478 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16479
16480 EFI network support.
16481
16482 * grub-core/Makefile.core.def (efinet): New module.
16483 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16484 here...
16485 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16486 All users updated.
16487 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16488 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16489 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16490 * grub-core/net/drivers/efi/efinet.c: New file.
16491 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16492 (grub_efi_net_config): New extern var.
16493
16494 Various cleanups and bugfixes.
16495
16496 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16497 error.
16498 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16499 disk declared as partition.
16500 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16501 leak on failure.
16502 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16503 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16504 (grub_debug_zalloc): Likewise.
16505 (grub_debug_realloc): Likewise.
16506 (grub_debug_memalign): Likewise.
16507 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16508 Check that target is IPv4.
16509 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16510 local-mac-address as fallback.
16511 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16512 memory leak.
16513 * grub-core/net/ip.c (ipchksum): Rename to ...
16514 (grub_net_ip_chksum): ... this. All users updated.
16515 (grub_net_recv_ip_packets): Special handling for DHCP.
16516 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16517
16518 Unify prefix handling
16519
16520 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16521 (grub_machine_get_bootlocation): ... this.
16522 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16523 (grub_machine_get_bootlocation): ... this.
16524 (grub_prefix): New variable.
16525 (prefix): Removed.
16526 (root_dev): New variable.
16527 (dir): Likewise.
16528 (main): Use new variables.
16529 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16530 Revamped into ...
16531 (grub_machine_get_bootlocation): ... this.
16532 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16533 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16534 (grub_machine_get_bootlocation): ... this.
16535 (grub_machine_set_prefix): Removed.
16536 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16537 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16538 Revamped into ...
16539 (grub_machine_get_bootlocation): ... this.
16540 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16541 (grub_set_prefix_and_root): ... this. All users updated.
16542 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16543 Revamped into ...
16544 (grub_machine_get_bootlocation): ... this.
16545 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16546 (grub_machine_get_bootlocation): New proto.
16547 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16548
16549 Less intrusive and more reliable seek on network implementation.
16550
16551 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16552 (grub_file_seek): Don't call grub_file_net_seek.
16553 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16554 (grub_net_fs_read_real): .. this.
16555 (grub_net_seek_real): Use net->offset.
16556 (grub_net_fs_read): Seek if necessary.
16557
16558 Unify IEEE1275 netwotk config with the other platforms.
16559
16560 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16561 New variable.
16562 (grub_machine_get_bootlocation): Support network.
16563 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16564 Support type and device parsing.
16565 (grub_ieee1275_get_device_type): New function.
16566 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16567 into ...
16568 (grub_ieee1275_net_config_real): ... this.
16569 (grub_ofnet_probecards): Removed.
16570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16571 * include/grub/ieee1275/ofnet.h: Removed.
16572 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16573 extern var.
16574 (grub_ieee1275_get_device_type): New function.
16575
16576 Unify network device closing across platforms and make more robust.
16577
16578 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16579 grub_grubnet_fini.
16580 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16581 already.
16582 * grub-core/net/net.c (grub_net_network_level_interface_register):
16583 Update num_ifaces.
16584 (grub_net_card_unregister): Close all interfaces.
16585 (receive_packets): Don't poll if no iterfaces are registered.
16586 Open if necessary.
16587 (grub_net_fini_hw): New function.
16588 (grub_net_restore_hw): Likewise.
16589 (fini_hnd): New variable.
16590 (GRUB_MOD_INIT): Register preboot hook.
16591 (GRUB_MOD_FINI): Run and unregister preboot hook.
16592
16593 Poll network cards when idle.
16594
16595 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16596 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16597 * grub-core/net/net.c (receive_packets): Save last poll time.
16598 (grub_net_poll_cards_idle_real): New function.
16599 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16600 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16601 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16602
16603 Rename ofnet interfaces.
16604
16605 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16606 (grub_ofnet_findcards): Use ofnet_%s names.
16607
16608 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16609
16610 Cleanup socket opening.
16611
16612 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16613 (grub_net_fs_close): Likewise.
16614 (grub_net_fs_read_real): Use eof member.
16615 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16616 (+grub_net_udp_close): New inline function.
16617
16618 * include/grub/net/tftp.h: Moved to the top of ...
16619 * grub-core/net/tftp.c: ... here.
16620 * include/grub/net/ip.h: Moved mostly to the top of ...
16621 * grub-core/net/ip.c: ... here.
16622 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16623 * grub-core/net/ethernet.c: ... here.
16624
16625 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16626
16627 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16628 FS name.
16629
16630 * include/grub/net/ip.h (ipv4_ini): Removed.
16631 (ipv4_fini): Likewise.
16632
16633 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16634 (grub_net_send_ip_packets): Likewise.
16635
16636 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16637
16638 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16639 grub_read_cmos prototype.
16640
16641 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 VGA text support in qemu-mips
16644
16645 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16646 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16647 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16648 text.
16649 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16650 * grub-core/kern/vga_init.c: ... this.
16651 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16652 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16653 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16654 Adjust.
16655 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16656 GRUB_MACHINE_PCI_IO_BASE.
16657
16658 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 MIPS qemu flash support.
16661
16662 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16663 magic.
16664 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16665 (grub_machine_init): Probe memory if its size isn't known.
16666 * util/grub-mkimage.c (image_targets): Add flash targets.
16667 (generate_image): Handle flash targets.
16668
16669 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 MIPS qemu at_keyboard support.
16672
16673 * gentpl.py (videoinkernel): Add qemu-mips.
16674 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16675 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16676 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16677 modules.
16678 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16679 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16680 * grub-core/term/serial.c (grub_serial_register)
16681 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16682
16683 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 CMOS support on sparc.
16686
16687 * gentpl.py (cmos): Add powerpc and sparc.
16688 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16689 powerpc and sparc.
16690 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16691 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16692 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16693 grub_set_datetime_cmos.
16694 * grub-core/lib/ieee1275/cmos.c: New file.
16695 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16696 (find_rtc): Set no_ieee1275_rtc on error.
16697 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16698 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16699 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16700 fail. Move value to argument. All users updated
16701 (grub_cmos_write): Likewise.
16702 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16703 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16704 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16705 grub_get_datetime_cmos and grub_set_datetime_cmos.
16706
16707 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16708
16709 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16710 sourcing grub-mkconfig_lib.
16711 * util/update-grub_lib.in: Likewise.
16712 * util/grub.d/00_header.in: Likewise.
16713 * util/grub.d/10_hurd.in: Likewise.
16714 * util/grub.d/10_kfreebsd.in: Likewise.
16715 * util/grub.d/10_linux.in: Likewise.
16716 * util/grub.d/10_netbsd.in: Likewise.
16717 * util/grub.d/10_windows.in: Likewise.
16718 * util/grub.d/20_linux_xen.in: Likewise.
16719 * util/grub.d/30_os-prober.in: Likewise.
16720
16721 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16724 default_bg_color rather than black.
16725 (grub_gfxterm_fullscreen): Likewise.
16726 (grub_gfxterm_background_color_cmd): Save new background color in
16727 default_bg_color.
16728
16729 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16732
16733 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16736 mismerge.
16737
16738 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 Chainloading on coreboot support.
16741
16742 * grub-core/Makefile.core.def (chain): Add coreboot.
16743 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16744
16745 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16748 if it happens.
16749
16750 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 Implement time command.
16753
16754 * grub-core/Makefile.core.def (time): New module.
16755 * grub-core/commands/time.c: New file.
16756 * grub-core/script/parser.y: Remove "time" keyword.
16757 * grub-core/script/yylex.l: Likewise.
16758
16759 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16760
16761 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16762
16763 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16766 when handling leftovers.
16767
16768 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16771 so that help2man doesn't fail.
16772
16773 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16776 type in pointers on sparc64.
16777 (get_card_packet): Likewise.
16778
16779 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
16780
16781 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16782 with `*'.
16783 (grub_cmd_videoinfo): Fetch current video mode.
16784
16785 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16788 because of underlying system restrictions.
16789
16790 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16793 necessary.
16794
16795 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 Coreboot video support.
16798
16799 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16800 (vbe): Likewise.
16801 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16802 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16803 here ...
16804 * grub-core/kern/i386/int.S: ... here.
16805 * grub-core/video/i386/pc/vbe.c: Updated includes.
16806 * grub-core/video/i386/pc/vga.c: Likewise.
16807 * include/grub/i386/coreboot/memory.h
16808 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16809 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16810 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16811 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16812 Disable interrupts.
16813 * include/grub/i386/pc/vga.h: Removed. All users updated.
16814
16815 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16818 definitions for dprintf.
16819 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16820
16821 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16824 prototype.
16825 (get_card_packet): Likewise.
16826
16827 2011-06-26 Yves Blusseau <blusseau@zetam.org>
16828
16829 Display the path of the file when file is not found
16830
16831 * grub-core/fs/fat.c: Display the filename when file is not found.
16832 * grub-core/fs/fshelp.c: Likewise.
16833 * grub-core/fs/hfs.c: Likewise.
16834 * grub-core/fs/jfs.c: Likewise.
16835 * grub-core/fs/minix.c: Likewise.
16836 * grub-core/fs/ufs.c: Likewise.
16837 * grub-core/fs/btrfs.c: Likewise.
16838 * grub-core/commands/i386/pc/play.c: Likewise.
16839
16840 2011-06-26 Szymon Janc <szymon@janc.net.pl>
16841
16842 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16843 pointer checks before calling grub_free().
16844 * grub-core/commands/wildcard.c (match_devices): Likewise.
16845 * grub-core/commands/wildcard.c (match_files): Likewise.
16846 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16847 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16848 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16849 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16850 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16851 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16852 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16853 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16854 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16855
16856 2011-06-25 Patrick <p55@mailinator.com>
16857
16858 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16859
16860 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16863 (grub_pxe_send): Likewise.
16864 (GRUB_MOD_INIT): Fix types.
16865
16866 2011-06-24 Szymon Janc <szymon@janc.net.pl>
16867
16868 * grub-core/io/xzio.c: Fix code style issues
16869
16870 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16871 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
16872
16873 Network infrastructure.
16874 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16875
16876 * include/grub/net/arp.h: New file.
16877 * include/grub/net/device.h: Likewise.
16878 * include/grub/net/ethernet.h: Likewise.
16879 * include/grub/net/ip.h: Likewise.
16880 * include/grub/net/netbuff.h: Likewise.
16881 * include/grub/net/tftp.h: Likewise.
16882 * include/grub/net/udp.h: Likewise.
16883 * include/grub/ieee1275/ofnet.h: Likewise.
16884 * include/grub/emu/export.h: Likewise.
16885 * include/grub/net.h: Likewise.
16886 * grub-core/net/arp.c: Likewise.
16887 * grub-core/net/ethernet.c: Likewise.
16888 * grub-core/net/ip.c: Likewise.
16889 * grub-core/net/udp.c: Likewise.
16890 * grub-core/net/tftp.c: Likewise.
16891 * grub-core/net/netbuff.c: Likewise.
16892 * grub-core/net/net.c: Likewise.
16893 * grub-core/net/drivers/emu/emunet.c: Likewise.
16894 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16895 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16896 export.h.
16897 * grub-core/Makefile.core.def (net): New module.
16898 (tftp): Likewise.
16899 (ofnet): Likewise.
16900 (emunet): Likewise.
16901 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16902 network protocols.
16903 * grub-core/kern/device.c (grub_net_open) : New variable.
16904 (grub_device_open): Handle network device.
16905 (grub_device_close): Likewise.
16906 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16907 (grub_grubnet_fini): Likewise.
16908 (grub_file_seek): Seek in network device.
16909 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16910 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16911 network root.
16912 (grub_machine_fini): Call grub_grubnet_fini.
16913 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16914 network.
16915 (grub_ieee1275_get_aliasdevname): New function.
16916 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16917 Add unofficial Solaris network info.
16918 (grub_multiboot_make_mbi): Likewise.
16919 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16920 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16921 * include/grub/device.h (grub_fs): Removed.
16922 * include/grub/err.h (grub_err_t): Add network-related values.
16923 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16924 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16925 (grub_ieee1275_get_aliasdevname): New proto.
16926 * include/grub/net.h: Rewritten.
16927
16928 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16931 names.
16932
16933 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16936 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16937 it truncates the output.
16938 Reported by: Ximin Luo.
16939
16940 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16941
16942 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16943
16944 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16947 partmap before abstraction.
16948
16949 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16950
16951 * util/grub-mkconfig_lib.in: Add missing quotes.
16952
16953 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16956 old method if mountinfo would return /dev/root and /dev/root doesn't
16957 exist.
16958
16959 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 ZFS zlib support
16962
16963 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16964 (decomp_table): Add zlib entries.
16965 (zio_read): USe 8 bits for compression function rather than 3.
16966 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16967
16968 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * grub-core/disk/ahci.c: Add missing license statements.
16971 * grub-core/fs/romfs.c: Likewise.
16972 * grub-core/lib/ia64/setjmp.S: Likewise.
16973 * grub-core/loader/i386/pc/freedos.c: Likewise.
16974 * grub-core/loader/ia64/efi/linux.c: Likewise.
16975 * grub-core/video/colors.c: Likewise.
16976 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16977
16978 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 AHCI support.
16981
16982 * grub-core/Makefile.core.def (ata_pthru): Removed.
16983 (ahci): New module.
16984 (pata): Likewise.
16985 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16986 on unload.
16987 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16988 readwrite.
16989 (grub_hdparm_do_check_powermode_cmd): Likewise.
16990 (grub_hdparm_do_smart_cmd): Likewise.
16991 (grub_hdparm_set_val_cmd): Likewise.
16992 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16993 * grub-core/disk/ahci.c: New file.
16994 * grub-core/disk/ata.c: Factor out the low-level part into ...
16995 * grub-core/disk/pata.c: ... here.
16996 * grub-core/disk/ata_pthru.c: Contents moved to ...
16997 * grub-core/disk/pata.c: ... here.
16998 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16999 (grub_scsi_iterate): Use grub_scsi_names.
17000 (grub_scsi_open): Likewise.
17001 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17002 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17003 (grub_ata_regs_t): New struct.
17004 (grub_disk_ata_pass_through_parms): Likewise.
17005 (grub_ata_device): Renamed to ...
17006 (grub_ata): ... this.
17007 (grub_ata_dev): New struct.
17008 Removed all low-level inline functions.
17009 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17010 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17011 iterate hooks and open. All users updated.
17012 * util/grub-install.in: Handle AHCI disk module.
17013
17014 2011-06-23 Szymon Janc <szymon@janc.net.pl>
17015
17016 Add support for DRI and RSTn markers in JPEG files.
17017
17018 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17019 (JPEG_MARKER_RST0): Likewise.
17020 (JPEG_MARKER_RST1): Likewise.
17021 (JPEG_MARKER_RST2): Likewise.
17022 (JPEG_MARKER_RST3): Likewise.
17023 (JPEG_MARKER_RST4): Likewise.
17024 (JPEG_MARKER_RST5): Likewise.
17025 (JPEG_MARKER_RST6): Likewise.
17026 (JPEG_MARKER_RST7): Likewise.
17027 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17028 (grub_jpeg_decode_dri): New function.
17029 (grub_jpeg_decode_sos): Move image data related part into
17030 grub_jpeg_decode_data function.
17031 (grub_jpeg_decode_data): New function.
17032 (grub_jpeg_reset): New function.
17033 (grub_jpeg_decode_jpeg): Handle new markers.
17034
17035 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 * util/ieee1275/ofpath.c (check_sas): Close fd.
17038 (main): Free of_path.
17039 Reported by: David Volgyes <dvolgyes>.
17040
17041 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17044 Reported by: David Volgyes <dvolgyes>.
17045
17046 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17049 file after stat.
17050 Reported by: David Volgyes <dvolgyes>.
17051
17052 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17055
17056 Reported by: David Volgyes <dvolgyes>.
17057
17058 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17061 Prevent memory leak.
17062
17063 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17066 (main): Close file.
17067 Reported by: David Volgyes <dvolgyes>.
17068
17069 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17072 to continue if allocation is failed.
17073
17074 Reported by: David Volgyes <dvolgyes>.
17075
17076 2011-06-23 David Volgyes <dvolgyes>
17077
17078 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17079 dereference.
17080
17081 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Fix spurious warning.
17084
17085 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17086 (acorn_partition_map_find): Use .bin member.
17087
17088 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17091 /dev/root as a valid device.
17092
17093 2011-06-23 Jim Meyering <meyering@redhat.com>
17094
17095 Avoid NULL deref in grub_device_open.
17096
17097 * grub-core/kern/device.c (grub_device_open): Don't dereference
17098 a NULL pointer upon failed grub_env_get.
17099
17100 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 Support non-512B sectors and agglomerate reads.
17103
17104 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17105 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17106 (disk_io_guid): Removed.
17107 (make_devices): Locate solely by BlockIO.
17108 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17109 (grub_efidisk_read): Use read_blocks.
17110 (grub_efidisk_write): Use write_blocks.
17111 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17112 log_sector_size.
17113 (get_safe_sectors): Handle non-512B sectors.
17114 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17115 sectors.
17116 (grub_biosdisk_write): Handle non-512B sectors.
17117 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17118 (grub_scsi_read): Remove special non-512B block handling (now handled
17119 one level up).
17120 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17121 and do sanity checks.
17122 (grub_disk_adjust_range): Handle non-512B sectors.
17123 (transform_sector): New function.
17124 (grub_disk_read_small): Likewise.
17125 (grub_disk_read): Rewritten.
17126 (grub_disk_write): Handle non-512B sectors.
17127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17128 log_sector_size.
17129 (open_device): Use log_sector_size.
17130 (grub_util_biosdisk_read): Likewise.
17131 (grub_util_biosdisk_write): Likewise.
17132 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17133 non-512B sectors.
17134 (pc_partition_map_embed): Likewise.
17135 * include/grub/disk.h (grub_disk): New field log_sector_size.
17136 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17137 (GRUB_DISK_CACHE_BITS): Increased to 6.
17138 * util/grub-fstest.c (fstest): New command testload.
17139 (argp_parser): Likewise.
17140
17141 2011-06-16 Robert Millan <rmh@gnu.org>
17142
17143 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17144 `ata' driver on kernel of FreeBSD 9.
17145
17146 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17147 (get_ataraid_disk_name): New functions.
17148 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17149 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17150 get_ataraid_disk_name() and get_ada_disk_name().
17151
17152 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
17153
17154 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17155 input format.
17156
17157 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
17158
17159 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17160 `ftp.gnu.org' for `alpha.gnu.org'.
17161
17162 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17163
17164 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17165 partitions under /dev/disk/by-id/.
17166
17167 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17168
17169 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17170 after ten consecutive open failures. Scanning all the way up to
17171 10000 is excessive and can cause serious performance problems in
17172 some configurations.
17173 Fixes Ubuntu bug #787461.
17174
17175 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17178 opening new one.
17179
17180 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
17181 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 Don't stat devices unless we have to.
17184
17185 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17186 dir == /dev/mapper.
17187 (grub_guess_root_device): Use already known os_dev if possible.
17188 * grub-core/kern/emu/hostdisk.c
17189 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17190 if device is known to be a dm one.
17191
17192 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
17193
17194 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17195 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17196 Reported by: Pawel Tecza.
17197
17198 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17201 (lsefisystab): Likewise.
17202 (lssal): Likewise.
17203 (lsefimmap): Likewise.
17204 (hdparm): Enable on qemu-mips.
17205 (setjmp): Add ia64 nodist.
17206 (serial): Simplify tags.
17207
17208 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17209
17210 * Makefile.util.def (grub-ofpathname): Install manual page.
17211
17212 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17213
17214 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17215
17216 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17217
17218 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17219
17220 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17223 into dprintf.
17224
17225 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 Use full 64-bit division.
17228
17229 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17230 (grub_divmod64): ... this.
17231 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17232 version.
17233
17234 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17235
17236 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17237 `source'.
17238
17239 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17240
17241 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17242 to avoid accidents when debugging with 'sh -x'.
17243 * grub-core/gensyminfo.sh.in: Likewise.
17244 * tests/example_scripted_test.in: Likewise.
17245 * tests/grub_cmd_regexp.in: Likewise.
17246 * tests/grub_script_blanklines.in: Likewise.
17247 * tests/grub_script_dollar.in: Likewise.
17248 * tests/grub_script_expansion.in: Likewise.
17249 * tests/grub_script_final_semicolon.in: Likewise.
17250 * tests/partmap_test.in: Likewise.
17251 * tests/util/grub-shell-tester.in: Likewise.
17252 * tests/util/grub-shell.in: Likewise.
17253
17254 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17255
17256 Move gfxmenu color handling to video, so that gfxterm can use it
17257 too.
17258
17259 * grub-core/gfxmenu/named_colors.c: Move to ...
17260 * grub-core/video/colors.c: ... here. Rename
17261 grub_gui_get_named_color to grub_video_get_named_color.
17262 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17263 * grub-core/video/colors.c (my_isxdigit): ... here.
17264 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17265 Move to ...
17266 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17267 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17268 to ...
17269 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17270
17271 * include/grub/gui.h (grub_gui_color_t): Move to ...
17272 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17273 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17274 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17275 * include/grub/gui.h (grub_gui_map_color): Move to ...
17276 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17277 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17278 to ...
17279 * include/grub/video.h (grub_video_get_named_color): ... here.
17280 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17281 * include/grub/video.h (grub_video_parse_color): ... here.
17282
17283 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17284 video/colors.c.
17285 (gfxmenu): Remove gfxmenu/named_colors.c.
17286 (video) [videomodules]: Add video/colors.c.
17287
17288 Add a background_color command.
17289
17290 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17291 function.
17292 (GRUB_MOD_INIT): Register background_color command.
17293 (GRUB_MOD_FINI): Unregister background_color command.
17294 (redraw_screen_rect): Allow blend/replace of text layer to be
17295 controlled independently from whether there is a background bitmap.
17296 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17297 changing bitmap.
17298
17299 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17300
17301 Patch BPB in ntldr and chainloader --bpb.
17302
17303 * grub-core/fs/fat.c: Include grub/fat.h.
17304 (grub_fat_bpb): Moved to ...
17305 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17306 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17307 grub/ntfs.h.
17308 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17309 Moved from here...
17310 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17311 here.
17312 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17313 New function.
17314 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17315 (GRUB_MOD_INIT): Show --bpb.
17316 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17317 * grub-core/normal/main.c (features): New variable.
17318 (GRUB_MOD_INIT): Set feature_* variables.
17319 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17320 proto.
17321 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17322
17323 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17326 for cleanness.
17327
17328 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 FreeDOS direct loading support.
17331
17332 * docs/grub.texi (Supported OS): Add FreeDOS.
17333 * grub-core/Makefile.core.def (freedos): New module.
17334 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17335 variable.
17336 (grub_relocator16_boot): Handle %ebx.
17337 * grub-core/lib/i386/relocator16.S: Likewise.
17338 * grub-core/loader/i386/pc/freedos.c: New file.
17339
17340 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 Long Linux command line support.
17343
17344 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17345 (maximal_cmdline_size): New variable.
17346 (allocate_pages): Use maximal_cmdline_size.
17347 (grub_cmd_linux): Set and use maximal_cmdline_size.
17348 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17349 (allocate_pages): Use maximal_cmdline_size.
17350 (grub_cmd_linux): Set and use maximal_cmdline_size.
17351 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17352 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17353 and cmdline_size.
17354
17355 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17356 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17357
17358 Improve devmapper support
17359
17360 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17361 (grub_util_is_lvm): New function.
17362 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17363 than lvm if not dmraid.
17364 Handle mapped md nodes.
17365 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17366 (grub_util_device_is_mapped): ... this. Make always available. All users
17367 updated.
17368 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17369 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17370 dmraid nodes.
17371 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17372
17373 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17376
17377 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17378 * grub-core/modinfo.sh.in: New file.
17379 * grub-core/Makefile.core.def (modinfo.sh): New script.
17380 * util/grub-mknetdir.in: Use modinfo.sh.
17381 * util/grub-mkrescue.in: Likewise.
17382
17383 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17384
17385 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17386 Fix potential usage of Elf32 instead of Elf64 when compiling on
17387 32-bit architecture. Add endianness macros while on it.
17388
17389 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 Use mipsel- rather than mips- in directories involving mipsel ports to
17392 allow both endiannesses coexist.
17393
17394 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17395 mips. All conditions adjusted.
17396 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17397 variable.
17398 * util/grub-install.in: Adjust conditions to take renaming into account.
17399 * util/grub-mkimage.c (image_targets): Likewise. New target
17400 mips-qemu_mips-elf for bigendian mips.
17401
17402 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Avoid unnecessary copying on MIPS.
17405
17406 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17407 early if src == dest.
17408 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17409 compression is none.
17410
17411 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 Reduce memory footprint on SGI by putting modules before the kernel
17414 as opposed to after.
17415
17416 * grub-core/Makefile.core.def (kernel): Increase linking address.
17417 (none_decompress): Likewise.
17418 (xz_decompress): Likewise.
17419 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17420 address.
17421 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17422 layout change.
17423 (grub_arch_modules_addr): New function.
17424 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17425 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17426 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17427 here.
17428 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17429 (grub_total_modules_size): ... this. Make global.
17430 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17431 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17432 New definition.
17433 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17434 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17435 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17436 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17437 * util/grub-mkimage.c (image_target_desc): New flag
17438 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17439 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17440 (generate_image): Handle images with modules before kernel.
17441
17442 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 Prevent potential loss of memory map by overwrite on qemu-mips.
17445
17446 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17447 Save ram size in $s4.
17448 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17449 All users changed to grub_arch_memsize.
17450 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17451 Loongson.
17452 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17453 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17454 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17455 external variable.
17456
17457 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17458
17459 * .bzrignore: Remove grub-dumpbios.
17460
17461 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17464 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17465 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17466 existing options which append).
17467 * docs/grub.texi (Simple configuration): Document new options.
17468 Reported by: Ian Jackson. Fixes Debian bug #617538.
17469
17470 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17471
17472 * util/grub-fstest.c (cmd_cat): New function.
17473 (fstest): Handle CMD_CAT.
17474 (options): Add cat.
17475 (argp_parser): Handle cat.
17476
17477 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17478
17479 * Makefile.util.def (grub-bin2h): Don't install.
17480 * docs/man/grub-bin2h.h2m: Remove.
17481
17482 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17485 place.
17486
17487 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 Reenable qemu-mips port.
17490
17491 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17492 Fix small arc bug while on it.
17493 * gentpl.py: Handle qemu_mips.
17494 * grub-core/Makefile.am: Likewise.
17495 * grub-core/Makefile.core.def: Likewise.
17496 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17497 inappropriate includes.
17498 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17499 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17500 * grub-core/kern/main.c (grub_modules_get_end)
17501 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17502 * grub-core/kern/mips/qemu-mips: Moved to ..
17503 * grub-core/kern/mips/qemu_mips: ... this.
17504 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17505 (grub_machine_init): Call terminfo_init and serial_init.
17506 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17507 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17508 New variable.
17509 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17510 parameter passing.
17511 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17512 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17513 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17514 * include/grub/mips/qemu_mips/cmos.h: New file.
17515 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17516 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17517 Removed.
17518 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17519 Use correct mips-style address.
17520 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17521 (GRUB_TICKS_PER_SECOND): Removed.
17522 (grub_get_rtc): Likewise.
17523 (grub_cpu_idle): Likewise.
17524 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17525 New definition.
17526 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17527 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17528 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17529 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17530 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17531 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17532 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17533 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17534
17535 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17536
17537 SGI ARCS port.
17538
17539 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17540 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17541 platforms.
17542 * configure.ac: New target mips-arc.
17543 * gentpl.py: Likewise.
17544 * grub-core/Makefile.am: Likewise.
17545 * grub-core/Makefile.core.def: Likewise.
17546 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17547 (none_decompress): Likewise.
17548 (lsdev): New module.
17549 (datetime): Use lib/arc/datetime.c on ARC.
17550 (part_dvh): New module.
17551 * grub-core/commands/arc/lsdev.c: New file.
17552 * grub-core/disk/arc/arcdisk.c: Likewise.
17553 * grub-core/kern/mips/arc/init.c: Likewise.
17554 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17555 aligned addresses.
17556 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17557 support.
17558 (grub_arch_dl_relocate_symbols): Likewise.
17559 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17560 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17561 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17562 platforms.
17563 * grub-core/lib/arc/datetime.c: New file.
17564 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17565 pci.h on non-loongson.
17566 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17567 (grub_linux_boot): Set unused registers to 0.
17568 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17569 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17570 * grub-core/mmap/mips/uppermem.c: ...here.
17571 * grub-core/partmap/dvh.c: New file.
17572 * grub-core/term/arc/console.c: Likewise.
17573 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17574 (grub_terminfo_set_current): Add terminal "arc".
17575 (grub_terminfo_readkey): Support ARC sequences.
17576 * include/grub/arc/arc.h: New file.
17577 * include/grub/arc/console.h: Likewise.
17578 * include/grub/disk.h (grub_disk_dev_id): Add
17579 GRUB_DISK_DEVICE_ARCDISK_ID.
17580 * include/grub/mips/arc/kernel.h: New file.
17581 * include/grub/mips/arc/memory.h: Likewise.
17582 * include/grub/mips/arc/time.h: Likewise.
17583 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17584 * include/grub/mips/kernel.h (grub_halt): ... here.
17585 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17586 here...
17587 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17588 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17589 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17590 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17591 proto.
17592 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17593 from here ...
17594 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17595 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17596 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17597 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17598 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17599 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17600 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17601 (grub_phys_addr_t): Moved from here ...
17602 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17603 (grub_vtop): Moved from here ...
17604 * include/grub/mips/memory.h (grub_vtop): ... here.
17605 (grub_map_memory): Moved from here ...
17606 * include/grub/mips/memory.h (grub_map_memory): ... here.
17607 (grub_unmap_memory): Moved from here ...
17608 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17609 (grub_machine_mmap_iterate): Moved from here ...
17610 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17611 (grub_mmap_get_lower): Moved from here ...
17612 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17613 (grub_mmap_get_upper): Moved from here ...
17614 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17615 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17616 here ...
17617 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17618 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17619 here ...
17620 * include/grub/mips/time.h (grub_get_rtc): ... here.
17621 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17622 here ...
17623 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17624 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17625 here ...
17626 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17627 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17628 definition.
17629 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17630 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17631 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17632 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17633 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17634 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17635 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17636 (GRUB_MACHINE_LINK_ADDR): Likewise.
17637 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17638 to 6.
17639 * util/grub-install.in: Run dvhtool on ARC.
17640 * util/grub-mkimage.c (image_targets): Add mips-arc.
17641 (generate_image): Handle ECOFF output for mips-arc.
17642
17643 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17644
17645 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17646 blocks.
17647
17648 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17651 after enabling port.
17652
17653 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 Skip incorrect USB devices.
17656
17657 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17658 configcnt == 0.
17659 * include/grub/usb.h (grub_usb_err_t): New enum value
17660 GRUB_USB_ERR_BADDEVICE.
17661
17662 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 Fuloong video init support.
17665
17666 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17667 well.
17668 (grub_vga_read_arx): New function.
17669 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17670 definition.
17671 (framebuffer): New members io, mmioptr and mmiobase.
17672 (read_sis_cmd): New function.
17673 (write_sis_cmd): Likewise.
17674 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17675 rather than 640x400.
17676 * grub-core/video/sis315_init.c: New file.
17677
17678 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17681 non-loongson.
17682 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17683 to grub_dl_register_symbol.
17684
17685 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 Fix compilation errors.
17688
17689 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17690 potentially unused.
17691 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17692 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17693 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17694 to loongson machines.
17695
17696 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 Several FS mtime support.
17699
17700 * grub-core/fs/affs.c (grub_affs_time): New struct.
17701 (grub_affs_file): New field mtime.
17702 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17703 type. Removed 'size'. New field 'di'. All users updated.
17704 (grub_affs_mount): Simplify checsum checking.
17705 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17706 (grub_affs_dir): Handle mtime.
17707 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17708 (grub_cpio_dir): Likewise.
17709 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17710 (grub_hfs_filerec): New field mtime.
17711 (grub_hfs_dir): Handle mtime.
17712 (grub_hfs_mtime): New function.
17713 (grub_hfs_fs): Register grub_hfs_mtime.
17714 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17715 (grub_iso9660_dir): New field mtime.
17716 (grub_fshelp_node): New field dirent.
17717 (iso9660_to_unixtime): New function.
17718 (iso9660_to_unixtime2): Likewise.
17719 (grub_iso9660_read_symlink): Use node->dirent.
17720 (grub_iso9660_iterate_dir): Likewise.
17721 (grub_iso9660_dir): Set mtime.
17722 (grub_iso9660_mtime): New function.
17723 (grub_iso9660_fs): Register grub_iso9660_mtime.
17724 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17725 (grub_jfs_inode): New fields atime, ctime and mtime.
17726 (grub_jfs_dir): Set mtime.
17727 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17728 * grub-core/fs/ntfs.c (list_file): Set mtime.
17729 (grub_ntfs_dir): Likewise.
17730 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17731 (grub_reiserfs_iterate_dir): Set mtime.
17732 (grub_reiserfs_dir): Likewise.
17733 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17734 (grub_fshelp_node): Likewise.
17735 (grub_sfs_iterate_dir): Set mtime.
17736 (grub_sfs_dir): Likewise.
17737 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17738 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17739 (grub_xfs_inode): New fields atime, mtime, ctime.
17740 (grub_xfs_dir): Set mtime.
17741 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17742 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17743 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17744
17745 Support UDF symlinks.
17746
17747 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17748 (grub_ufs_read_symlink): New function. All users updated.
17749
17750 Check amiga partmap checksum.
17751
17752 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17753 (grub_amiga_partition): Likewise.
17754 (amiga_partition_map_checksum): New function.
17755 (amiga_partition_map_iterate): Check checksum.
17756
17757 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 ROMFS support.
17760
17761 * Makefile.util.def (libgrubmods.a): Add romfs.
17762 * grub-core/Makefile.core.def (romfs): New module.
17763 * grub-core/fs/romfs.c: New file.
17764
17765 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17766
17767 Squashfs v4 support.
17768
17769 * Makefile.util.def (libgrubmods.a): Add squash4.
17770 * grub-core/Makefile.core.def (squash4): New module.
17771 * grub-core/fs/squash4.c: New file.
17772 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17773 disk_input_start, disk_input.
17774 (get_byte): Handle disk_input.
17775 (grub_zlib_disk_read): New function.
17776 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17777
17778 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17779 2011-05-15 Feiran Zheng <famcool@gmail.com>
17780
17781 * Makefile.util.def (libgrubmods.a): Add minix3.
17782 * grub-core/Makefile.core.def (minix3): New module.
17783 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17784 (GRUB_MINIX_BSIZE): Removed.
17785 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17786 (grub_minix_ino_t): New type.
17787 (grub_minix_le_to_cpu_ino): New macro.
17788 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17789 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17790 (grub_minix_data): New field block_size.
17791 (grub_minix_read_file): Handle 64-bit correctly.
17792 * grub-core/fs/minix3.c: New file.
17793
17794 2011-05-15 Tristan Gingold <gingold@free.fr>
17795 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
17796 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 IA64 support.
17799
17800 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17801 * configure.ac: Add ia64-efi target.
17802 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17803 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17804 * gentpl.py: Add ia64_efi platform.
17805 Rename x86_efi to efi and Add ia64-efi. All users updated.
17806 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17807 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17808 Remove kern/generic/rtc_get_time_ms.c on EFI.
17809 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17810 kern/ia64/dl_helper.c on ia64-efi.
17811 Add kern/emu/cache.c on emu.
17812 (linux): Use on loader/ia64/efi/linux.c on ia64.
17813 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17814 whether symbol is a function.
17815 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17816 (grub_symbol): New field 'isfunc'.
17817 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17818 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17819 (grub_dl_load_segments): Place all sections into the same region.
17820 [__ia64__]: Create trampolines and got.
17821 [GRUB_MACHINE_EMU]: Call mprotect.
17822 (grub_dl_resolve_symbols): Resolve symbol type as well.
17823 [__ia64__]: Create function descriptors.
17824 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17825 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17826 (grub_get_rtc): New function.
17827 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17828 * grub-core/kern/emu/cache.S: Renamed to ...
17829 * grub-core/kern/emu/cache_s.S: ... this.
17830 [__ia64__]: Add a nop.
17831 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17832 [__ia64__]: New function.
17833 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17834 * grub-core/kern/ia64/dl.c: New file.
17835 * grub-core/kern/ia64/dl_helper.c: Likewise.
17836 * grub-core/kern/ia64/efi/init.c: New file.
17837 * grub-core/kern/ia64/efi/startup.S: Likewise.
17838 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17839 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17840 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17841 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17842 * grub-core/loader/ia64/efi/linux.c: New file.
17843 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17844 (GRUB_MOD_DEP): Likewise.
17845 (grub_dl) [__ia64__]: New fields got and tramp.
17846 (grub_dl): New field 'base'.
17847 (grub_dl_register_symbol): New argument isfunc. All users updated.
17848 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17849 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17850 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17851 (grub_ia64_dl_get_tramp_got_size): New proto.
17852 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17853 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17854 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17855 * include/grub/efi/api.h: Skip call wrappers on ia64.
17856 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17857 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17858 * include/grub/elf.h (ELF_ST_INFO): New definition.
17859 * include/grub/ia64/efi/kernel.h: New file.
17860 * include/grub/ia64/efi/memory.h: Likewise.
17861 * include/grub/ia64/efi/time.h: Likewise.
17862 * include/grub/ia64/kernel.h: Likewise.
17863 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17864 * include/grub/ia64/time.h: New file.
17865 * include/grub/ia64/types.h: Likewise.
17866 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17867 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17868 New protos.
17869 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17870 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17871 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17872 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17873 All users updated.
17874 (EFI64_HEADER_SIZE): New definition. All users updated.
17875 (image_targets): Add ia64-efi.
17876 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17877 jumpers_addr. All users updated.
17878 Create function descriptors.
17879 (count_funcs): New function.
17880 (unaligned_uint32): New struct.
17881 (MASK20): New definition.
17882 (MASK19): Likewise.
17883 (MASKF21): Likewise.
17884 (add_value_to_slot_20b): New function.
17885 (add_value_to_slot_21_real): Likewise.
17886 (add_value_to_slot_21): Likewise.
17887 (ia64_kernel_trampoline): New struct.
17888 (nopm): New variable.
17889 (jump): Likewise.
17890 (make_trampoline): New function.
17891 (relocate_addresses): Handle ia64.
17892 (make_reloc_section): Likewise.
17893 (load_image): Likewise.
17894
17895 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17898 warning. Move variables before code while on it.
17899
17900 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 Fuloong support.
17903
17904 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17905 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17906 * grub-core/boot/mips/loongson/fuloong.S: New file.
17907 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17908 Explicitly init CS5536.
17909 [FULOONG]: Don't use serial until CS5536 is available.
17910 Set GPIO based on dumps.
17911 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17912 [FULOONG]: Handle GPIO and memory controller differences.
17913 Parse machine type in $a2.
17914 * grub-core/boot/mips/startup_raw.S: Determine and save the
17915 architecture.
17916 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17917 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17918 init on architecture type.
17919 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17920 SIS315E. Don't init at_keyboard on fuloong.
17921 (grub_halt): Support Fuloong.
17922 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17923 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17924 (loongson_machtypes): New array.
17925 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17926 type.
17927 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17928 config. All users updated. Handle CS5536 serial.
17929 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17930 default port on machine type. Register serial as inactive.
17931 * grub-core/video/sis315pro.c: New file.
17932 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17933 definition.
17934 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17935 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17936 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17937 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17938 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17939 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17940 to ...
17941 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17942 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17943 definition.
17944 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17945 (grub_arch_machine): New extern var.
17946 * include/grub/mips/loongson/serial.h
17947 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17948 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17949 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17950 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17951 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17952 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17953 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17954 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17955 * include/grub/term.h (grub_term_register_input_inactive): New inline
17956 function.
17957 (grub_term_register_output_inactive): Likewise.
17958 * include/grub/video.h (grub_video_driver_id): New value
17959 GRUB_VIDEO_DRIVER_SIS315PRO.
17960 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17961 New field "names". All users updated.
17962 New field value IMAGE_FULOONG_FLASH.
17963 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17964
17965 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17966
17967 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17968 and add some clarification.
17969
17970 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17973 platforms if kernel is compressed.
17974
17975 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17978 unused modules since currently referrence counter isn't reliable and
17979 there isn't much memory to recover there anyway.
17980
17981 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17984 rather than resetting it to allow modules to reference themselves
17985 in init.
17986
17987 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17990 counter on dependencies since grub_dl_unref already handles this.
17991
17992 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17995 on error if not already done.
17996
17997 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 Fix few potential memory misusage.
18000
18001 * grub-core/font/font.c (load_font_index): Don't free char_index to
18002 avoid double free.
18003 (grub_font_load): Zero-fill font at alloc for safety.
18004 Close file on error.
18005 (free_font): Free bmp_idx.
18006
18007 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * docs/grub.texi (Installation): Fix several outdated claims.
18010
18011 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 Handle module_license on windows.
18014
18015 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18016 sections shifted.
18017 (insert_string): Make argument const char * instead of char *.
18018 (write_section_data): Handle long section names.
18019 Handle module_license.
18020
18021 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18024 handle class-free menuentries.
18025 (grub_normal_add_menu_entry): Add a check to be sure.
18026
18027 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18030 PgUp and PgDown.
18031
18032 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * configure.ac: Bump version to 1.99.
18035
18036 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 Give ATA device a bit more time on first try in order to allow disks
18039 to spin up.
18040
18041 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18042 if dev->present is 1. Reset dev->present on failure.
18043 (grub_ata_device_initialize): Set dev->present to 1.
18044 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18045 (grub_ata_device): New member 'present'.
18046
18047 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * util/grub-mkimage.c (generate_image): Update hash.
18050
18051 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 Flush caches on DMA memory.
18054
18055 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18056 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18057 (grub_dma_free): Likewise.
18058 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18059
18060 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18063 to avoid asm treating ld and sd as macros.
18064
18065 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18068 decompressor.
18069
18070 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18073 grub_decompress_core since later would fail if grub_decompress_core
18074 is too far.
18075
18076 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18077
18078 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18079 R_MIPS_JALR since it's used by newer compiler.
18080
18081 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18082
18083 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18084
18085 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18088 file_path to 0 for surety.
18089 (grub_chainloader_boot): Set exit_data to NULL.
18090 Unset the loader once done.
18091 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18092
18093 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18094
18095 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18096 unknown key into a dprintf.
18097
18098 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18101 on first non-existant partition.
18102
18103 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18106 openning fails.
18107 Reported by: Mark Korenberg.
18108
18109 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18112 overflow.
18113
18114 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18117 before closing to ensure that it will be readable by grub-setup.
18118
18119 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18122 (devpath_1): Use MAKE_PIWG_PATH.
18123 (devpath_2): Likewise.
18124 (devpath_3): Likewise.
18125 (devpath_4): Likewise.
18126 (devpath_5): Likewise.
18127 (devpath_6): Likewise.
18128
18129 The appleldr.mod was checked that to be binary identical to previous
18130 version.
18131
18132 2011-05-05 Zach <mikezackles>
18133
18134 Support 2010 Macbooks.
18135
18136 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18137 (devs): Add devpath_6.
18138
18139 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18142 /dev/random. /dev/urandom is good enough for our purposes (salting).
18143
18144 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18147
18148 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18151 hexadecimal.
18152
18153 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18156 and not 0 on failure.
18157
18158 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18159
18160 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18161 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18162 disk; otherwise grub_fs_probe will not fall back to the next
18163 filesystem.
18164 (grub_pxefs_open): Likewise, for consistency.
18165 Reported and tested by: Ezekiel Grave.
18166
18167 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18168
18169 * tests/partmap_test.in: Don't hardcode path to parted.
18170 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18171
18172 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
18173
18174 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18175 of `ls' to find out which devices are available.
18176
18177 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18180 than source address for efi mmap buffer.
18181
18182 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18185 wrong action on non-detecting the magic.
18186
18187 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18190 already supplied by another part of the module (fixes compilation on
18191 FreeBSD).
18192
18193 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18196 match the one used by mdadm.
18197
18198 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18199
18200 * po/README: Add instructions for creating po/LINGUAS.
18201
18202 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18203
18204 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18205 #551428.
18206
18207 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18208 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18209 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18210 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18211 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18212 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18213 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18214 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18215 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18216 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18217 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18218 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18219 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18220 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18221 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18222 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18223 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18224 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18225 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18226 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18227 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18228 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18229
18230 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18231
18232 * grub-core/kern/emu/getroot.c
18233 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18234 test that was incorrectly reintroduced in r3214.
18235 Reported by: Ian Dall. Fixes Savannah bug #33133.
18236
18237 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18238
18239 Fix stack pointer handling in 16-bit relocator.
18240
18241 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18242 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18243 Fixes Ubuntu bug #683904.
18244
18245 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * configure.ac: Bump version to 1.99~rc2.
18248
18249 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18252 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18253 * grub-core/lib/x86_64/setjmp.S: Likewise.
18254 * grub-core/lib/mips/setjmp.S: Likewise.
18255 * grub-core/lib/powerpc/setjmp.S: Likewise.
18256 * grub-core/lib/sparc64/setjmp.S: Likewise.
18257
18258 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18261 * grub-core/lib/efi/datetime.c: Likewise.
18262
18263 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18266 New function.
18267 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18268 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18269 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18270
18271 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18274 bitmap.
18275 (grub_gfxterm_term_init): Likewise.
18276
18277 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 Take into account the decorations the computing menu entry width.
18280
18281 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18282 (grub_gfxmenu_create_box): Register get_border_width.
18283 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18284 if available.
18285 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18286 get_border_width.
18287
18288 2011-04-18 Endres Puschner <code@e7p.de>
18289
18290 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18291 Don't skip first class.
18292
18293 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18296 chunks.
18297 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18298
18299 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Complete 64-bit division support.
18302
18303 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18304 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18305 * include/grub/misc.h (grub_divmod64): Rename to ...
18306 (grub_divmod64_full): ... this.
18307 (grub_divmod64): New inline function.
18308
18309 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18312
18313 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18316 performing the necessary test.
18317
18318 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18321 (kfreebsd.elf): Likewise.
18322 (pc-chainloader.elf): Likewise.
18323 (ntldr.elf): Likewise.
18324
18325 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 Identify RAID by its UUID rather than (guessed) name.
18328
18329 * grub-core/disk/raid.c (ascii2hex): New function.
18330 (grub_raid_open): Accept mduuid/%s specification.
18331 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18332 (get_mdadm_uuid): ... this.
18333 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18334
18335 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18338 to negative size.
18339
18340 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18341
18342 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18343 btrfs subvolume.
18344 * util/grub.d/20_linux_xen.in: Likewise.
18345
18346 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18347
18348 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18349 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18350
18351 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18352 Build a list of relevant visible mounts using the mnt_id and
18353 parent_mnt_id fields, and then scan that list at the end.
18354
18355 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18356
18357 * docs/grub.texi (normal): New section.
18358 (normal_exit): New section.
18359 (Embedded configuration): Add reference to normal.
18360 (GRUB only offers a rescue shell): Likewise.
18361 * docs/grub-dev.texi (Error Handling): Fix typo.
18362
18363 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18364
18365 * NEWS: Drop obsolete entry about probe-only btrfs support.
18366
18367 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * util/import_gcry.py: Fix typo.
18370
18371 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 * NEWS: Add btrfs support.
18374
18375 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18376 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18377
18378 BtrFS support. Written by me (Vladimir) with important bugfixes and
18379 even more important testing by Colin.
18380
18381 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18382 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18383 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18384 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18385 mem_input_off and mem_input. All users updated to accept in-RAM input.
18386 (gzio_seek): New function.
18387 (test_zlib_header): Likewise.
18388 (grub_gzio_read): Likewise.
18389 (grub_zlib_decompress): Likewise.
18390 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18391 Accept partial and non-virtual mounts.
18392 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18393 avoid receiving /dev/dm-X as device.
18394 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18395 Handle bind and partial mounts.
18396 * grub-core/lib/crc.c: New file.
18397 * include/grub/deflate.h: Likewise.
18398 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18399 proto.
18400 * include/grub/lib/crc.h: New file.
18401
18402 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 Implement automatic module license checking according to new GNU
18405 guidelines.
18406
18407 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18408 (grub_dl_load_core): Use grub_dl_check_license.
18409 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18410 (GRUB_MOD_LICENSE): Likewise.
18411 (GRUB_MOD_DUAL_LICENSE): Likewise.
18412 All modules updated.
18413
18414 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18415
18416 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18417 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18418 loaders.
18419 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18420
18421 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18422
18423 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18424
18425 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18428 failed.
18429
18430 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18431
18432 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18433 parenthesis in the middle of the filename.
18434
18435 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18438 rather than trying to put initrd way too high.
18439 Reported by: Ryan Lortie <desrt@desrt.ca>
18440
18441 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18444 improperly removed string.
18445
18446 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18447
18448 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18449 is_disk.
18450 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18451 (open_device) Likewise.
18452 (grub_util_biosdisk_close): Likewise.
18453 Reported by: Mark Korenberg.
18454
18455 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18456
18457 * util/grub-mkconfig_lib.in: Add missing quotes.
18458
18459 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
18460
18461 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18462 is NULL.
18463
18464 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 Dynamically count the number of lines for the lower banner.
18467
18468 * grub-core/normal/menu_entry.c (per_term_screen): New member
18469 num_entries.
18470 (print_down): Use num_entries.
18471 (update_screen): Likewise.
18472 (grub_menu_entry_run): Set num_entries.
18473 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18474 num_entries.
18475 (grub_print_message_indented): Move real part to ...
18476 (grub_print_message_indented_real): ... here. Additional argument
18477 dry_run.
18478 (draw_border): Additional argument num_entries.
18479 (print_message): Additional argument dry_run.
18480 (print_entries): Receive menu viewer data.
18481 (grub_menu_init_page): New argment num_entries.
18482 (menu_text_set_chosen_entry): Use num_entries.
18483 (grub_menu_try_text): Likewise.
18484 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18485 All users updated.
18486 (grub_ucs4_count_lines): New function.
18487 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18488 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18489 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18490 (grub_term_border_height): Likewise.
18491 (grub_term_num_entries): Likewise.
18492
18493 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18496 Remove now unused string.
18497
18498 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18499
18500 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18501 build system.
18502 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18503
18504 (Comment): Fix typo.
18505 (Getting started): General copy-editing.
18506 (Typical Development Experience): Likewise.
18507 (Error Handling): Likewise.
18508 (Video API): Likewise.
18509
18510 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18511
18512 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18513 throughout.
18514
18515 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18516
18517 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18518 directory.
18519
18520 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18521
18522 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18523 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18524 "development".
18525
18526 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18529 grub_strcpy since the lines aren't necessarily 0-terminated.
18530
18531 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18534 root on legacy.
18535
18536 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18537
18538 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18539 (GRUB_MOD_INIT): DEVICE isn't optional.
18540
18541 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18544 word on new line if it's too long anyway. Fixes a hang.
18545
18546 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18549 const.
18550 * util/grub-setup.c (main): Reuse md device name if available.
18551 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18552 not GRUB name as argument.
18553 Based on patch by: Florian Wagner <fwagner>.
18554
18555 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18558 Place mbi on low memory for better compatibility.
18559
18560 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18563
18564 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18565 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18566
18567 * autogen.sh: Ensure that collate and ctype locale is C.
18568 * conf/Makefile.common: Likewise.
18569
18570 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * grub-core/normal/menu.c: Add missing include.
18573
18574 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
18577
18578 2011-04-08 Martin Zuther <mzuther@mzuther.de>
18579
18580 * util/grub-mkconfig.in: Ignore emacsen backup.
18581
18582 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18583
18584 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18585 on open.
18586 (grub_util_biosdisk_close): Likewise.
18587
18588 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18591 const attribute and use grub_isdigit.
18592
18593 2011-04-06 Andrey <dev_null@ukr.net>
18594
18595 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18596 gcc warning.
18597
18598 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18601 useful grub_dprintf's.
18602
18603 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18606
18607 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18610
18611 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 Output errors if theme loading failed.
18614
18615 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18616 grub_gfxterm_fullscreen on error paths to ...
18617 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18618 theme loading error.
18619
18620 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18623 space for older compilers.
18624 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18625
18626 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18629 and report them as not RAID members since they are useless for GRUB.
18630 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18631
18632 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 Increase LVM implementation robustness in order not to crash on
18635 configurations like pvmove. Previously code assumed that in some places
18636 only lvs or only pvs are used whereas it seems that they are used
18637 interchangeably.
18638
18639 * grub-core/disk/lvm.c (read_node): New function.
18640 (read_lv): Use read_node.
18641 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18642 Match volumes only at the end when all lvs are found. Take both
18643 pvs (first) and lvs (second) into account.
18644 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18645 mirror_* into node_*. All users updated.
18646 (grub_lvm_stripe): Merge this ...
18647 (grub_lvm_mirror): ... and this ...
18648 (grub_lvm_node): ... into this. All users updated.
18649
18650 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18653 of function to allow further scanning for LVMs.
18654
18655 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18658 on failed seek as it breaks open fd reusage.
18659
18660 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18661
18662 * util/grub-install.in: Add a recommendation to use --recheck before
18663 reporting bugs.
18664
18665 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18668 are obtained.
18669
18670 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 GRUB developper manual based on existing Internals section and
18673 contributions by the various authors with active copyright assignment.
18674
18675 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18676 * docs/font_char_metrics.png: New file.
18677 * docs/font_char_metrics.txt: Likewise.
18678 * docs/grub-dev.texi: Likewise.
18679 * docs/grub.texi (Internals): Move from here ...
18680 * docs/grub-dev.texi: ... here.
18681
18682 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18683
18684 Store the loopback device as data on loopback grub_disk structures,
18685 rather than the file it points to. This fixes use of freed memory
18686 if an existing loopback device is replaced.
18687
18688 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18689 disk->data, not dev->file.
18690 (grub_loopback_read): Adjust file assignment to match.
18691 Fixes Ubuntu bug #742967.
18692
18693 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18694
18695 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18696 when replacing an existing device.
18697
18698 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18701 memory corruptions.
18702
18703 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18704 unsigned.
18705 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18706 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18707 (grub_jfs_read_inode): Likewise.
18708 (grub_jfs_opendir): Likewise. Remove now useless casts.
18709 (grub_jfs_getent): Likewise.
18710 Make ino a grub_uint32_t rather than int.
18711 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18712 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18713 division and module with bit operations.
18714 (grub_jfs_find_file): Make ino a grub_uint32_t.
18715 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18716
18717 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18718
18719 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18720 warning. (This was in fact always initialised before use, but GCC
18721 wasn't smart enough to prove that.)
18722 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18723
18724 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18725
18726 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18727 stack alignment.
18728 (efi_wrap_1): Likewise.
18729 (efi_wrap_2): Likewise.
18730 (efi_wrap_3): Likewise.
18731 (efi_wrap_4): Likewise.
18732 (efi_wrap_5): Likewise.
18733 (efi_wrap_6): Likewise.
18734 (efi_wrap_10): Likewise.
18735 Based on information by: Red Hat/Peter Jones.
18736
18737 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18738
18739 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18740 set-but-not-used variable.
18741
18742 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18743
18744 * docs/grub.texi (Simple configuration): Be more explicit about
18745 GRUB_DEFAULT, and add an example.
18746 Reported by: Leslie Rhorer.
18747
18748 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18749
18750 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18751 shell".
18752
18753 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18754
18755 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18756 * util/grub.d/20_linux_xen.in: Likewise.
18757
18758 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 * util/grub.d/10_linux.in: Try alternative config filenames where
18761 we parse config file.
18762 * util/grub.d/20_linux_xen.in: Likewise.
18763
18764 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18765
18766 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18767 * util/grub.d/20_linux_xen.in: Likewise.
18768
18769 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * grub-core/disk/raid.c (insert_array): Add few potentially
18772 useful grub_util_info.
18773 (grub_raid_register): Likewise.
18774
18775 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18778 Preserve partition number in mdadm code path.
18779
18780 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18783 few potentially useful grub_util_info.
18784
18785 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18788
18789 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18790
18791 * docs/grub.texi (default): Use @example rather than nested
18792 itemized lists to avoid breaking gendocs.
18793
18794 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18795
18796 * docs/grub.texi (Future): Update.
18797
18798 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * docs/grub.texi (Environment): New chapter.
18801 (Changes from GRUB Legacy): Link to "Environment block" section for
18802 details of limitations.
18803 (Simple configuration): Likewise. Link to documentation of gfxmode
18804 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18805 respectively.
18806 (Shell-like scripting): Note that normal variables are stored in the
18807 environment.
18808 (gettext): Link to documentation of lang and locale_dir.
18809 (list_env): New section.
18810 (load_env): New section.
18811 (save_env): New section.
18812
18813 (Reporting bugs): Fix typo.
18814
18815 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18818 the example.
18819
18820 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * grub-core/term/at_keyboard.c (set_scancodes)
18823 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18824
18825 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18826
18827 * docs/grub.texi (Menu-specific commands): Remove some semantics
18828 that were true in GRUB Legacy but not in GRUB 2.
18829 (submenu): New section.
18830 (false): New section.
18831 (read): New section.
18832 (true): New section.
18833
18834 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18835
18836 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18837
18838 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18839
18840 * docs/grub.texi (Simple configuration): Explain some of the
18841 current limitations of grub-mkconfig.
18842 Reported by: Leslie Rhorer.
18843
18844 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 Old macs search for boot.efi rather than for bootia32.efi.
18847
18848 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18849 * util/grub-mkrescue.in: Likewise.
18850 Suggested by: Peter Jones.
18851
18852 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18855
18856 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18859 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18860 (grub_lvm_mirror): New struct.
18861 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18862 (grub_lvm_iterate): Iterate only visible volumes.
18863 (grub_lvm_read): Factor out to ..
18864 (read_lv): ... this. Support mirrors.
18865 (grub_lvm_read): New wrapper function.
18866 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18867 stripped or mirrored.
18868
18869 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18872
18873 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18874
18875 * docs/grub.texi (loopback): New section.
18876
18877 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18878
18879 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18880 removed -p option.
18881
18882 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18883
18884 * docs/grub.texi (BIOS installation): New section, partly based on
18885 previous text in other sections.
18886 (Installing GRUB using grub-install): Replace BIOS discussion with a
18887 cross-reference.
18888 (Images): Likewise.
18889
18890 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18893 [HAVE_DIOCGDINFO]: Add safety checks.
18894
18895 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18898 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18899
18900 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18901
18902 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18903 real_sb->size is zero (e.g. RAID-0), get the disk size from
18904 real_sb->data_size instead.
18905 Fixes Ubuntu bug #743136.
18906
18907 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18910 printf clauses for printing size and start.
18911
18912 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18915 Reported and tested by: Timothy Nikkel.
18916
18917 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18920 (dirty_region_add_real): ... this.
18921 (dirty_region_add): Don't discard margin refresh when performing
18922 scheduled repaint.
18923
18924 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 * grub-core/lib/relocator.c (allocate_regstart)
18927 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18928 terminals are capabple of malloc-free operation.
18929 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18930 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18931
18932 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18933
18934 * util/grub-setup.c: Copy the partition table zone if floppy support
18935 is disabled, even if no partition table is found.
18936
18937 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18938 during POST if an invalid partition table is contained in the PBR
18939 of the active partition when GRUB is installed to a partition.
18940
18941 2011-03-28 Colin Watson <cjwatson@debian.org>
18942
18943 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18944 comment.
18945
18946 2011-03-28 Colin Watson <cjwatson@debian.org>
18947
18948 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18949 to be specific about what kind of RAID device we're scanning for.
18950
18951 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18952
18953 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18954 return freed string.
18955
18956 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18959
18960 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 Use libgeom on FreeBSD to detect partitions.
18963
18964 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18965 (grub-mkrelpath): Likewise.
18966 (grub-script-check): Likewise.
18967 (grub-editenv): Likewise.
18968 (grub-mkpasswd-pbkdf2): Likewise.
18969 (grub-fstest): Likewise.
18970 (grub-mkfont): Likewise.
18971 (grub-mkdevicemap): Likewise.
18972 (grub-probe): Likewise.
18973 (grub-setup): Likewise.
18974 (grub-ofpathname): Likewise.
18975 (grub-mklayout): Likewise.
18976 (example_unit_test): Likewise.
18977 (grub-menulst2cfg): Likewise.
18978 * grub-core/Makefile.core.def (grub-emu): Likewise.
18979 (grub-emu-lite): Likewise.
18980 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18981 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18982 define HAVE_DIOCGDINFO.
18983 (follow_geom_up) [FreeBSD]: New function.
18984 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18985 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18986 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18987 unconditionally of HAVE_DIOCGDINFO.
18988
18989 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 Fix FreeBSD compilation problem.
18992
18993 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18994 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18995
18996 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
18997
18998 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18999 Switch back to page zero before loading a kernel, since some kernel
19000 drivers expect that.
19001 Thanks to: Felix Kuehling.
19002
19003 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19006 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19007 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19008
19009 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19012 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19013
19014 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19017 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19018 malloc is disabled.
19019
19020 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19023 for modules headers when counting the needed allocation size.
19024
19025 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19028 if no ASCII character is found to prevent crash.
19029
19030 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19031
19032 * grub-core/video/bitmap.c (match_extension): Ignore case.
19033
19034 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19037
19038 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * grub-core/script/parser.y: Declare "time" as valid argument.
19041
19042 2011-03-23 Peter Jones <pjones@redhat.com>
19043
19044 Fix incorrect assert failure reporting.
19045
19046 * grub-core/tests/example_functional_test.c (example_test): Add
19047 a failure comment.
19048 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19049 (failure_start): ...this. Check that malloc succeeded.
19050 Don't call xvasprintf. Return failure struct.
19051 (failure_append_vtext): New function.
19052 (failure_append_text): Likewise.
19053 (add_failure): Likewise.
19054 (grub_test_assert_helper): Likewise.
19055 * include/grub/test.h (grub_test_assert_helper): New declaration.
19056 (grub_test_assert): Macro rewritten.
19057
19058 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19061
19062 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19065
19066 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19069 into GRUB-style one.
19070
19071 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19074 error and not grub_errno.
19075 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19076
19077 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19080 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19081
19082 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * grub-core/efiemu/i386/pc/cfgtables.c
19085 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19086 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19087 (grub_xnu_unlock): Likewise.
19088 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19089
19090 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19091
19092 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19093 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19094 * grub-core/commands/hashsum.c (aliases): Likewise.
19095 * grub-core/commands/setpci.c (pci_registers): Likewise.
19096 * grub-core/disk/usbms.c (attach_hook): Likewise.
19097 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19098 (zio_checksum_table): Likewise.
19099 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19100 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19101 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19102 * grub-core/lib/relocator.c (leftovers): Likewise.
19103 (extra_blocks): Likewise.
19104 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19105 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19106 (modules_last): Likewise.
19107 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19108 (devices): Likewise.
19109 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19110 (modules_last): Likewise.
19111 * grub-core/normal/auth.c (users): Likewise.
19112 * grub-core/normal/context.c (initial_menu): Likewise.
19113 (current_menu): Likewise.
19114 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19115 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19116 (grub_serial_terminfo_input_template): Likewise.
19117 (grub_serial_terminfo_output_template): Likewise.
19118 (grub_serial_terminfo_input): Likewise.
19119 (grub_serial_terminfo_output): Likewise.
19120 (registered): Likewise.
19121 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19122
19123 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19126 grub_video_mode_type_t.
19127 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19128 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19129 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19130
19131 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * util/grub-install.in: Correct the x86-64 name as x86_64.
19134
19135 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
19136
19137 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19138 initial chunk read from the kernel always includes GRUB's multiboot
19139 header, which is now outside the first sector.
19140
19141 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19144 cached mmap_size, so that this works correctly when called multiple
19145 times.
19146 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19147
19148 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19149
19150 * docs/grub.texi (Simple configuration): Tidy up formatting.
19151
19152 2011-03-07 Szymon Janc <szymon@janc.net.pl>
19153
19154 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19155 Set-but-not-used variable removed.
19156
19157 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 Workaround yet another IEEE1275 bug.
19160
19161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19162 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19163 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19164 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19165 is set.
19166 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19167 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19168
19169 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19172 error.
19173
19174 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
19175
19176 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19177 empty, since in that case we can only generate either nothing or a
19178 syntactically invalid configuration file.
19179 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19180
19181 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19182
19183 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19184 (Making a GRUB bootable CD-ROM): Likewise.
19185 (Invoking grub-mkrescue): New section.
19186 Reported by: Yann Dirson. Fixes Debian bug #612585.
19187
19188 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19189
19190 * util/grub-install.in: Remove unnecessary brackets from tr
19191 arguments.
19192 * util/grub.d/10_hurd.in: Likewise.
19193 * util/grub.d/10_kfreebsd.in: Likewise.
19194 * util/grub.d/10_linux.in: Likewise.
19195 * util/grub.d/20_linux_xen.in: Likewise.
19196 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19197
19198 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
19199
19200 * include/grub/file.h (not_easly_seekable): Rename to ...
19201 (not_easily_seekable): ... this. Update all users.
19202
19203 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
19204
19205 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19206 grub-mkrescue.
19207
19208 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * util/grub-mkimage.c (generate_image): Refuse to create the images
19211 bigger than the actual flash (512K) in Loongson machines. 512K is also
19212 the biggest chip supported by them.
19213
19214 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19217
19218 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
19219
19220 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19221 super_offset field.
19222
19223 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * util/grub-install.in: Ignore install device on platforms
19226 where it doesn't make sense. Always use UUIDs except on pc, efi and
19227 sparc64.
19228 Reported by: Daniel Kahn Gillmor.
19229
19230 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19233
19234 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19237 (iterate_real): Don't rely on partition being non-NULL.
19238
19239 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19242 supported platforms. Put a compile time assert for this rather than
19243 generate a warning with 32-bit shift.
19244
19245 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19248 logical expression more readable.
19249
19250 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19253 even if some elements have a name.
19254 Reported by: Alexander GQ Gerasiov.
19255
19256 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19257
19258 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19259 path unreadable if `grub-probe -t abstraction' fails, for example if
19260 memberlist fails on an LVM volume group.
19261 Reported by: Darius Jahandarie.
19262
19263 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19264
19265 * docs/grub.texi (Simple configuration): Document
19266 GRUB_PRELOAD_MODULES.
19267
19268 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
19269
19270 * .bzrignore: Remove nonexistent grub-pbkdf2.
19271
19272 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * configure.ac: Bump version to 1.99~rc1.
19275
19276 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19279 for safety.
19280
19281 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19284 module.
19285
19286 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19287
19288 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19289
19290 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19293 diskdevid.
19294
19295 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 Fix compilation on cygwin.
19298
19299 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19300 -R .drectve on cygwin.
19301 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19302 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19303 (COND_CYGWIN): New condition.
19304 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19305 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19306 not @TARGET_OBJ2ELF@.
19307 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19308 type to determine whether aux is to be used.
19309
19310 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19313 realpath'ed device string.
19314 Handle floppy (somewhat).
19315 Issue error in unknown case rather than garbage.
19316 Reported by: Axel Beckert.
19317
19318 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 * util/grub.d/00_header.in (load_video): Handle the case when no video
19321 drivers available.
19322 Thanks to: Axel Beckert.
19323
19324 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19325
19326 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19327 variable. Fixes problem on big endian platforms.
19328
19329 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19332 It doesn't work well there.
19333
19334 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19337 warning.
19338 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19339 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19340 counter.
19341
19342 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 Use alias->path rather than buggy "canon".
19345
19346 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19347 (ofdisk_hash_add): New argument curcan. All users updated.
19348
19349 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19350
19351 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19352
19353 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19356 loadmask before doing any calculations. Use correct type for offset.
19357 (grub_linux_load64): Likewise.
19358
19359 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19360
19361 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19362 with NULL.
19363 (console_grub_equivalences_unshift): Likewise.
19364 Reported by: Daniel Dehennin.
19365
19366 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19369 (set_env_limn_ro): Likewise.
19370 (GRUB_MOD_INIT): Likewise.
19371 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19372 ARRAY_SIZE while on it.
19373 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19374 * grub-core/normal/context.c (grub_env_export): Move from here ...
19375 * grub-core/kern/env.c (grub_env_export): ... here.
19376 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19377 prefix.
19378 * grub-core/kern/main.c (grub_main): Export root and prefix.
19379 * include/grub/env.h (grub_env_export): Export.
19380 Reported by: Seth Goldberg.
19381
19382 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19385 Take into account space used by ELF sections and multiboot palette.
19386 Reported by: Grégoire Sutre.
19387
19388 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19389
19390 * BUGS: New file.
19391
19392 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 Pass more appropriate video id to Linux.
19395
19396 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19397 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19398 fill have_vga.
19399 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19400 shift params->lfb_size.
19401 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19402
19403 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19406
19407 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19410 separator and pass bootpath/devid even if only one of them is available.
19411 Reported by: Seth Goldberg.
19412
19413 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19416 implementations bug on them.
19417
19418 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19419 memory.
19420 (filter_memory_map): Likewise.
19421
19422 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19425 Reported by: nebuchadnezzar.
19426
19427 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19430 Reported by: nebuchadnezzar.
19431
19432 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 Submenu default support.
19435
19436 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19437 auto_boot. All users updated.
19438 Declared static.
19439 Handle chosen and default with submenus.
19440 (grub_menu_execute_with_fallback): Declared static.
19441 Don't notify failure if autobooted. Upper level does it.
19442 (menuentry_eq): New function.
19443 (get_entry_number): Use menuentry_eq.
19444 (show_menu): New parameter "autobooted". All users updated.
19445 (grub_show_menu): Likewise.
19446 * include/grub/normal.h (grub_show_menu): Likewise.
19447 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19448 (grub_menu_execute_with_fallback): Likewise.
19449
19450 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * util/grub-mklayout.c (usage): Update help text.
19453
19454 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19457
19458 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 * util/grub-menulst2cfg.c (main): Trim the line.
19461
19462 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19465 (grub_machine_init): Don't check amount of low memory as reportedly
19466 INT 12h can be broken and if low memory is too low we wouldn't have
19467 gotten into grub_machine_init anyway.
19468
19469 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19472 (grub_machine_mmap_iterate): Take low memory into account
19473
19474 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19477 badfs.
19478 Reported by: TiCPU.
19479
19480 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19481
19482 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19483 members errors.
19484
19485 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19486
19487 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19488 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19489
19490 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19491
19492 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19493 openbsd and netbsd types being in part_bsd module.
19494
19495 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19496
19497 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19498 (_FILE_OFFSET_BITS): Likewise.
19499 Reported by: Seth Goldberg.
19500
19501 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19502
19503 * configure.ac: Check for libdevmapper header.
19504
19505 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19508 avoid aliasing.
19509 (fzap_lookup): Likewise.
19510 (dnode_get): Likewise.
19511 (make_mdn): Likewise.
19512 (zfs_mount): Likewise.
19513 (fzap_iterate): Use temporary pointer to avoid aliasing.
19514 (grub_zfs_read): Likewise.
19515 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19516 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19517 pointers to avoid aliasing.
19518 (grub_cmd_xnu_kernel64): Likewise.
19519 (grub_xnu_load_driver): Likewise.
19520
19521 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19522
19523 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19524 aliasing warning.
19525 (grub_cmd_terminal_output): Likewise.
19526 Reported and tested by: Grégoire Sutre.
19527
19528 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19531 warning.
19532 Reported and tested by: Grégoire Sutre.
19533
19534 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * configure.ac: Do CPU substitution even if it's specified explicitly.
19537 Reported and tested by: Alain Greppin.
19538
19539 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19542 Reported and tested by: Alain Greppin.
19543
19544 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 Satisfy some bison versions need for inttypes.h.
19547
19548 * grub-core/lib/posix_wrap/inttypes.h: New file.
19549 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19550 (int16_t): Likewise.
19551 (int32_t): Likewise.
19552 (int64_t): Likewise.
19553 Reported and tested by: Alain Greppin.
19554
19555 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19558 Silence spurious warning.
19559 Reported and tested by: Alain Greppin.
19560
19561 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19562
19563 * docs/grub.texi (Support automatic decompression): Update with xz
19564 decompression support.
19565
19566 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19567
19568 Improve loaders' kernel command line handling.
19569
19570 * grub-core/lib/cmdline.c: New file.
19571 * include/grub/lib/cmdline.h: Likewise.
19572 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19573 grub_create_loader_cmdline to create kernel command line.
19574 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19575 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19576 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19577 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19578 (linux): Add lib/cmdline.c on common.
19579
19580 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19581
19582 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19583 inopos might be unaligned.
19584
19585 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19586
19587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19588 endian transformations.
19589 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19590 Based on report by: Doug Nazar.
19591
19592 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
19593
19594 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19595 array->members[i].start_sector.
19596 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19597
19598 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19601 Reported and tested by: Grégoire Sutre.
19602
19603 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19604
19605 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19606 avoid causing test failures by clearing the screen.
19607
19608 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19609
19610 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19611 Fix prefix check to handle the case where dir ends with a slash
19612 (most significantly, "/" itself).
19613 Reported by: Michael Vogt.
19614
19615 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 Run terminfo_cls on initing terminfo output to clear the screen and
19618 move the cursor to (0,0).
19619
19620 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19621 Call grub_terminfo_output_init.
19622 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19623 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19624 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19625
19626 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19629 only when needed.
19630
19631 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19632
19633 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19634 CTRL.
19635
19636 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 The E820 type 5 is BADRAM, not EXEC_CODE.
19639
19640 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19641 (GRUB_E820_BADRAM): New define.
19642 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19643 into reserved. Propagate BADRAM.
19644 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19645 (GRUB_E820_BADRAM): New define.
19646
19647 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19650 Ignore the memory post-4G.
19651 (grub_relocator_firmware_alloc_region): Additional debug statement.
19652
19653 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19656 names.
19657 Reported by: David Pravec.
19658
19659 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19662 BIOSes.
19663
19664 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19667 Prevent overflow.
19668 (grub_reed_solomon_recover): Likewise.
19669
19670 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19673
19674 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19677 variable.
19678
19679 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19682 descriptions of extract_legacy_entries_source and
19683 extract_legacy_entries_configfile.
19684 Reported by: Seung Soo, Ha.
19685
19686 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
19687
19688 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19689 on devices that do not implement function 0.
19690
19691 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19692
19693 * grub-core/fs/hfsplus.c: Make parent unsigned.
19694 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19695 overflows.
19696 (grub_hfsplus_cmp_extkey): Likewise
19697
19698 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * util/grub-install.in: Correctly use bootloader_id and not
19701 GRUB_DISTRIBUTOR on efibootmgr line.
19702
19703 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19706
19707 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
19708
19709 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19710 Xen and reorder menu item wording to make it clearer that this entry
19711 will launch Xen. Print separate messages when loading Xen and
19712 Linux.
19713
19714 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19717 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19718 loop in case of incorrect amiga partmap.
19719
19720 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19721
19722 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19723 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19724 Reported by:EHeM.
19725
19726 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19729 spurious warning.
19730 Reported by: crocket
19731
19732 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19735 Preload EFIemu.
19736 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19737
19738 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19741 is loaded
19742 (grub_cmd_xnu_kextdir): Likewise.
19743 (grub_cmd_xnu_splash): Likewise.
19744
19745 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 Avoid using Reed-Solomon with 0 redundancy.
19748
19749 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19750 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19751 or 0 redundancy.
19752 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19753 (grub_reed_solomon_recover): Likewise.
19754
19755 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19756
19757 Don't use disk subsystem in freebsd_boot.
19758
19759 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19760 (freebsd_biosdev): Likewise.
19761 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19762 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19763
19764 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 Handling of files of unknown size is currently limited. They can't be
19767 used e.g. for initrd or modules. Moreover gzip handling of not
19768 easily seekable files is buggy. Disable unknown file size for now. May
19769 be inefficient but works.
19770
19771 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19772 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19773
19774 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19775
19776 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19777 floppy probe.
19778
19779 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19780
19781 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19782
19783 2010-12-25 Shea Levy <shlevy>
19784
19785 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19786
19787 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19788
19789 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19790 Windows Server 2008.
19791 Reported by: Devin Giddings.
19792
19793 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19796 writing an error message because of async power management.
19797 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19798 (grub_reboot): Likewise.
19799
19800 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19801
19802 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19803 keep unit tests from failing when they shouldn't.
19804
19805 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19806
19807 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19808 previous patch increased the size of the RS code by 20 bytes (at
19809 least with gcc-4.4), so increase this by 20 bytes to match.
19810 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19811
19812 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19815 scratch area. Make sure to initialise chosen in standalone mode as
19816 well as non-standalone.
19817 Reported by: Robert Hooker and Andy Whitcroft.
19818 Tested by: Andy Whitcroft.
19819
19820 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19821
19822 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19823 constructing a new unescaped string and passing it to grub_xputs in
19824 one go, rather than passing characters to grub_printf one at a time.
19825
19826 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19827
19828 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19829 initialising utf16.
19830
19831 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19832
19833 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19834 comment. Add an extra layer of quotation, requiring the output of
19835 this function to be used in a printf format string.
19836 (gettext_printf): New function.
19837 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19838 Extract translatable strings from here-documents and use a temporary
19839 variable instead, so that xgettext can find them.
19840 * util/grub.d/10_kfreebsd.in: Likewise.
19841 * util/grub.d/10_linux.in: Likewise.
19842 * util/grub.d/20_linux_xen.in: Likewise.
19843
19844 * po/grub.d.sed: New file.
19845 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19846 arguments. Set c-format flags on all strings extracted from
19847 util/grub.d/ (xgettext refuses to include these itself for strings
19848 it extracted from a shell file, but these really are c-format).
19849
19850 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19853 Avoid next pointing to nowhere.
19854
19855 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19858 rather than assuming than rootblock is exactly in the middle.
19859 (grub_affs_label): Likewise.
19860
19861 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19864 reserved_first_sector to 0.
19865 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19866 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19867 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19868
19869 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 Fix handling of UTF-16 UDF labels.
19872
19873 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19874 (read_string): .. here.
19875 (grub_udf_label): Use read_string.
19876
19877 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19878
19879 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19880 editor under argument scope.
19881 Reported by: Jordan Uggla
19882
19883 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19886
19887 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
19888
19889 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19890 line, and other keys scroll an entire page (previous handling was
19891 for \r and \n to scroll a page and other keys to scroll two lines).
19892
19893 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19896 Set ptrdest to correct get_physical_target_address rather than
19897 incorrect get_virtual_current_address.
19898
19899 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19900
19901 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19902 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19903
19904 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19905
19906 * .bzrignore: Ignore grub-core/rs_decoder.S.
19907
19908 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19909
19910 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19911 .mo/.mo.gz opening sequence to ...
19912 (grub_mofile_open_lang): ... here.
19913 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19914 * util/grub.d/00_header.in (grub_lang): Include country part of
19915 locale.
19916 Reported by: Mario Limonciello.
19917
19918 2010-12-09 Robert Millan <rmh@gnu.org>
19919
19920 * NEWS: Document addition of ZFS support.
19921
19922 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
19923
19924 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19925 rather than `/ 2', as the latter requires -Wa,--divide which would
19926 require bumping our minimum binutils version.
19927
19928 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19929
19930 * util/grub-script-check.c (main): Print script line number on
19931 error.
19932
19933 2010-12-01 Robert Millan <rmh@gnu.org>
19934
19935 * grub-core/fs/zfs/zfs.c: New file.
19936 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19937 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19938 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19939 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19940
19941 * include/grub/zfs/dmu.h: Likewise.
19942 * include/grub/zfs/dmu_objset.h: Likewise.
19943 * include/grub/zfs/dnode.h: Likewise.
19944 * include/grub/zfs/dsl_dataset.h: Likewise.
19945 * include/grub/zfs/dsl_dir.h: Likewise.
19946 * include/grub/zfs/sa_impl.h: Likewise.
19947 * include/grub/zfs/spa.h: Likewise.
19948 * include/grub/zfs/uberblock_impl.h: Likewise.
19949 * include/grub/zfs/vdev_impl.h: Likewise.
19950 * include/grub/zfs/zap_impl.h: Likewise.
19951 * include/grub/zfs/zap_leaf.h: Likewise.
19952 * include/grub/zfs/zfs.h: Likewise.
19953 * include/grub/zfs/zfs_acl.h: Likewise.
19954 * include/grub/zfs/zfs_znode.h: Likewise.
19955 * include/grub/zfs/zil.h: Likewise.
19956 * include/grub/zfs/zio.h: Likewise.
19957 * include/grub/zfs/zio_checksum.h: Likewise.
19958
19959 * Makefile.util.def: Build ZFS into libgrubmods.
19960 * grub-core/Makefile.core.def: Build zfs.mod.
19961
19962 2010-11-30 Szymon Janc <szymon@janc.net.pl>
19963
19964 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19965 variable.
19966 * grub-core/commands/wildcard.c (match_files): Likewise.
19967
19968 2010-11-30 Robert Millan <rmh@gnu.org>
19969
19970 * grub-core/loader/i386/bsd.c
19971 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19972 whether kernel is loaded using grub_loader_is_loaded(), rather
19973 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19974 certain error conditions.
19975
19976 2010-11-30 Robert Millan <rmh@gnu.org>
19977
19978 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19979 (grub_cmd_echo): Call grub_refresh() after printing a message.
19980
19981 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 Avoid using tricks for initialising endian variables.
19984
19985 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19986 Make const.
19987 (GRUB_MOD_INIT): Don't byte-swap.
19988 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19989 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19990 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19991 (grub_swap_bytes32_compile_time): Likewise.
19992 (grub_cpu_to_le32_compile_time): Likewise.
19993 (grub_cpu_to_le16_compile_time): Likewise.
19994
19995 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * util/grub-setup.c (setup): Stop recommending --force. People who
19998 understand the dangers of blocklists are able to find this option
19999 anyway and the ones who don't shouldn't use it anyway.
20000
20001 2010-11-26 Robert Millan <rmh@gnu.org>
20002
20003 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20004 Update all users.
20005
20006 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
20007
20008 Fix LVM-on-RAID probing.
20009
20010 * util/grub-probe.c (probe): Remember which disk was detected as
20011 RAID (perhaps an LVM physical volume). Use that disk's raidname
20012 rather than that of the top-level disk.
20013
20014 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
20015
20016 Fix cmdline argument quotes for setparams command of menuentry
20017 definitions.
20018
20019 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20020 quotes for arguments.
20021 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
20022 grub_strchrsub function instead.
20023
20024 * include/grub/misc.h (grub_strchrsub): New function.
20025
20026 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20027
20028 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20029 effort by skipping "." and ".." entries up-front.
20030 Suggested by: Michael Lazarev.
20031
20032 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20033
20034 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20035 ldflags to ldadd, to fix link line ordering.
20036 (none_decompress): Likewise.
20037
20038 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20039
20040 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20041 platforms.
20042 (grub-emu-lite): Remove kern/emu/cache.S.
20043
20044 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20045
20046 * util/deviceiter.c (compare_devices): If the by-id link for a
20047 device couldn't be resolved, fall back to sorting by the by-id link
20048 rather than segfaulting.
20049 Reported and tested by: Daniel Mierswa.
20050
20051 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20052
20053 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20054 ldflags, to fix link line ordering.
20055
20056 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20057
20058 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20059 linkers are picky about this.
20060
20061 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20062
20063 * grub-core/Makefile.am (command.lst): Adjust sed expression
20064 ordering so that extended and priority commands aren't treated as
20065 ordinary commands.
20066
20067 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20068
20069 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20070 Remove byte-swapping function calls, which are not valid in
20071 structure initialisers.
20072 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20073 non-const.
20074 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20075 grub_gpt_partition_type_bios_boot.
20076
20077 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20078
20079 Fix test program build on GNU/kFreeBSD.
20080
20081 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20082 $(LIBNVPAIR)' library dependencies.
20083
20084 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20085
20086 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20087
20088 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20089
20090 * util/grub-install.in: Remove excessive quoting that broke
20091 installations to RAID devices.
20092
20093 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20096 bootloader version instead of 0.
20097
20098 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20101 warning.
20102
20103 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20104
20105 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20106 retrieve the metadat sector if size isn't known.
20107 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20108
20109 2010-11-18 Robert Millan <rmh@gnu.org>
20110
20111 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20112 with grub_memcmp().
20113
20114 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20117 arrow.
20118 Reported by: Jordan Uggla.
20119
20120 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 Make better UTF compliant.
20123
20124 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20125 sequences as incorrect.
20126 (grub_is_valid_utf8): Likewise.
20127 (grub_utf8_to_ucs4): Likewise.
20128 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20129 (grub_ucs4_to_utf8_alloc): Likewise.
20130 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20131
20132 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 Make legacy_source behave like source.
20135
20136 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20137 grub_show_menu.
20138 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20139
20140 2010-11-16 Colin Watson <cjwatson@debian.org>
20141
20142 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20143 (-Wunused implies -Wunused-parameter, but not vice versa).
20144
20145 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
20146
20147 * configure.ac: Make error messages less confusing by testing for
20148 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20149 accepted, but produces a diagnostic if something else is wrong).
20150
20151 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20154 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20155 (now unused).
20156 (grub_keyboard_controller_init)
20157 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20158 read the initial state since controller isn't inited yet.
20159
20160 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20163 allocate_regbeg may need to create new chunk header.
20164
20165 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 Fix quoting in legacy parser.
20168
20169 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20170 single quotes.
20171 (grub_legacy_parse): Likewise.
20172 Reported by: Jordan Uggla.
20173 Tested by: Jordan Uggla.
20174
20175 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 Don't add -lgcc on i386 and x86_64.
20178
20179 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20180 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20181 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20182
20183 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * configure.ac: Add -Wno-trampolines when supported.
20186
20187 2010-11-14 Modestas Vainius <modax@debian.org>
20188
20189 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20190 fakeraid.
20191
20192 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20193
20194 Add generic logical block size support for UDF.
20195
20196 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20197 (GRUB_UDF_BLKSZ): Removed.
20198 (struct grub_udf_data): New field "lbshift" to hold the logical block
20199 size of the file system in log2 format. All users updated.
20200 (sblocklist): Change type to unsigned.
20201 (grub_udf_mount): Change type of "sblklist" to unsigned.
20202 Move AVDP search before VRS recognition, because the latter requires
20203 knowledge of the logical block size, which is detected during the
20204 former.
20205 Detect and validate logical block size during AVDP search, adding
20206 support for block sizes 512, 1024 and 4096.
20207 Make VRS recognition independent of block size.
20208
20209 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20210
20211 Properly handle deleted files on UDF.
20212
20213 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20214 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20215 set.
20216
20217 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20218
20219 Support reading files larger than 2 GiB.
20220
20221 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20222 "offset" to grub_off_t.
20223 (grub_udf_read_file): Likewise for parameter "pos".
20224
20225 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20228 unavailable.
20229 (Simple configuration): Refer to Changes from GRUB Legacy about
20230 save_env availability.
20231
20232 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * util/grub-install.in: Ignore empty partition table detection
20235 instead of trying to include part_ module.
20236
20237 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20240 LVM on RAID support.
20241
20242 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 Properly define WORDS_BIGENDIAN in wrapped environments.
20245
20246 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20247 definition.
20248 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20249
20250 Reported by: Manoel Rebelo Abranches.
20251 Tested by: Manoel Rebelo Abranches.
20252
20253 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 * util/grub-mkconfig.in: Fix quoting.
20256
20257 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 Support big ext2 files.
20260
20261 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20262 (grub_ext2_read_block): Support triple indirect blocks.
20263 (grub_ext2_read_file): Use 64-bit types and read size_high.
20264 (grub_ext2_open): Read size_high.
20265 Reported by: Ximin Luo.
20266 Tested by: Manoel Rebelo Abranches.
20267
20268 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * util/grub-install.in: Handle filenames containing spaces.
20271 Reported by: Jordan Uggla.
20272 Tested by: Jordan Uggla.
20273
20274 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * util/grub-mkconfig.in (grub_script_check): New variable.
20277 Use grub_script_check instead of grub-script-check.
20278 Reported by: Barry Jackson.
20279
20280 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 * docs/grub.texi (menu): Correct the order.
20283 Reported by: D. Hugh Redelmeier.
20284
20285 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20288 jump.
20289
20290 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20291
20292 * include/grub/elfload.h (grub_elf32_size): New parameter.
20293 All users updated.
20294 Return maximum segments alignment.
20295 (grub_elf64_size): Likewise.
20296 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20297 Return maximum segments alignment.
20298 (grub_elf64_size): Likewise.
20299 * grub-core/loader/powerpc/ieee1275/linux.c:
20300 (grub_linux_claimmap_iterate): New function. Uses the
20301 "available" property in the "memory" node for memory allocation
20302 for kernel in the PowerPC loader.
20303 (grub_linux_load32): Correctly find linux entry point offset.
20304 (grub_linux_load64): Likewise.
20305
20306 2010-11-07 Robert Millan <rmh@gnu.org>
20307
20308 On mips-yeeloong, build with -march=loongson2f when this flag is
20309 available (GCC >= 4.4).
20310 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20311 `-march=mips3'.
20312 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20313 or otherwise add -march=mips3.
20314
20315 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20316
20317 Suppress shell expansion on echo '*' and echo "*" like cases.
20318 Reported by: Jordan Uggla.
20319
20320 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20321 string arguments before shell expansion.
20322 * tests/grub_cmd_echo.in: New testcases.
20323
20324 2010-11-07 Robert Millan <rmh@gnu.org>
20325
20326 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20327 transition.
20328
20329 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * grub-core/kern/emu/hostdisk.c
20332 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20333
20334 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20337 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20338 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20339
20340 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20343
20344 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20345
20346 * util/grub-install.in: Replace useless recomendation to pass
20347 --modules with a recomendation to report a bug.
20348
20349 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20350
20351 Properly register serial terminfo.
20352 Reported by: Jordan Uggla
20353
20354 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20355 const.
20356 (grub_serial_terminfo_output_template): Likewise.
20357 (grub_cmd_serial): Register "serial" with terminfo.
20358 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20359 grub_serial_terminfo_output.
20360
20361 2010-11-05 Robert Millan <rmh@gnu.org>
20362
20363 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20364 needed).
20365
20366 2010-11-05 Robert Millan <rmh@gnu.org>
20367
20368 On Yeeloong, pass machine type information to Linux.
20369
20370 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20371 (LOONGSON_MACHTYPE): New macro, set to
20372 "machtype=lemote-yeeloong-2f-8.9inches".
20373 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20374 additional argument to Linux.
20375
20376 2010-11-04 Robert Millan <rmh@gnu.org>
20377
20378 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20379 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20380 (its SATA disks are detected as slaveless IDE master drives on
20381 kFreeBSD).
20382 Reported by Carsten Aulbert.
20383
20384 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
20385
20386 * util/bin2h.c (main): Fix spelling error in generated output.
20387
20388 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20389
20390 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20391
20392 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20395 vga= option is supplied.
20396
20397 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20400 * util/grub.d/10_kfreebsd.in: Likewise.
20401 * util/grub.d/10_linux.in: Likewise.
20402 * util/grub.d/20_linux_xen.in: Likewise.
20403
20404 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20407 argument as an argument to no-argument option.
20408
20409 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * util/grub.d/10_linux.in: Add missing load_video with explicit
20412 GRUB_GFXPAYLOAD_LINUX.
20413
20414 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20415
20416 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20417
20418 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20421 elements with invlid index.
20422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20423 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20424 members.
20425 * include/grub/raid.h (grub_raid_member): New struct.
20426 (grub_raid_array): Transform devices and start_sector into usage of
20427 grub_raid_member. All users updated
20428 (allocated_devs): New member.
20429
20430 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20433 is modified
20434
20435 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20436
20437 NetBSD build fix for getline function conflict from gnulib.
20438
20439 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20440 components that depend on gnulib headers.
20441 (libgrubmods.a): Renamed from earlier libgrub.a.
20442 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20443
20444 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20447 install rather than creating a broken install.
20448
20449 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * util/grub-setup.c (argp): Remove misleading example of installing to
20452 a partition.
20453
20454 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * util/grub-setup.c (setup): Clarify the error message.
20457
20458 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20461
20462 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * grub-core/kern/emu/misc.c
20465 (grub_make_system_path_relative_to_its_root)
20466 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20467
20468 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * grub-core/kern/emu/misc.c
20471 (grub_make_system_path_relative_to_its_root): Revert r2882.
20472
20473 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20476 useless field head. All users updated.
20477 (free_subchunk): Correct handling of IN_REGION subchunk.
20478
20479 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
20480
20481 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20482 (Supported kernels): Likewise.
20483
20484 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20485
20486 Make mktemp invocations portable.
20487
20488 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20489 exit if mktemp fails.
20490 * tests/grub_script_blockarg.in: Likewise.
20491 * tests/partmap_test.in: Likewise.
20492 * tests/util/grub-shell-tester.in: Likewise.
20493 * tests/util/grub-shell.in: Likewise.
20494 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20495 * Makefile.am: Likewise, and chain shell commands with `&&'
20496 instead of ';'.
20497 * util/grub-mkrescue.in: Use the same explicit template as above, and
20498 exit if mktemp fails.
20499
20500 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20501
20502 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20503 Linux kernel, reported by Dennis Schridde.
20504
20505 2010-10-17 Szymon Janc <szymon@janc.net.pl>
20506
20507 * grub-core/normal/auth.c (grub_auth_check_authentication):
20508 Set-but-not-used variable removed.
20509
20510 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20513 32-bit linux protocol.
20514
20515 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20518 cursor shape for sanity.
20519
20520 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * docs/grub.texi (Installation): Document buggy BIOS install.
20523
20524 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * docs/grub.texi (Installation): Indent.
20527
20528 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 * util/grub-setup.c (setup): New parameter allow_floppy.
20531 (arguments): New member allow_floppy.
20532 (argp_parser): Handle --allow-floppy.
20533 (main): Pass allow_floppy.
20534 * util/grub-install.in: New option --allow-floppy passed though to
20535 grub-setup.
20536
20537 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 * util/grub-install.in: Handle partitionless disks.
20540
20541 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * util/grub-setup.c (setup): Don't clean blocklists before readability
20544 verfification.
20545
20546 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * docs/grub.texi (Installation): Document embedding zone. Remove
20549 obsolete grub-install example.
20550
20551 2010-10-16 Szymon Janc <szymon@janc.net.pl>
20552
20553 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20554 Set-but-not-used variable ifdef'ed.
20555 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20556 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20557 variable removed.
20558 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20559 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20560 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20561 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20562 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20563 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20564 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20565 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20566 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20567 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20568 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20569 Likewise.
20570
20571 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20574 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20575 enum value.
20576
20577 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20580 synonym to _S5_. Needed for some DSDTs.
20581
20582 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 Userspace ACPI parser debugging.
20585
20586 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20587 headers and add relevant defines. Don't include standard headers.
20588 (main) [GRUB_DSDT_TEST]: New function.
20589 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20590 Don't declare functions.
20591
20592 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Remove dead grub_efi_mm_fini.
20595
20596 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20597 (ALLOCATED_PAGES_SIZE): Likewise.
20598 (MAX_ALLOCATED_PAGES): Likewise.
20599 (allocated_pages): Likewise.
20600 (grub_efi_allocate_pages): Don't record allocated pages.
20601 (grub_efi_free_pages): Likewise.
20602 (grub_efi_mm_init): Likewise.
20603 (grub_efi_mm_fini): Removed.
20604
20605 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20606
20607 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20608 (grub_efi_mm_init): Take into account the memory map size increase.
20609
20610 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20613 (serial_hw_put): Wait based on real time rather than port reads. Don't
20614 roken ports.
20615 * include/grub/serial.h (grub_serial_port): New field broken.
20616
20617 2010-10-16 Robert Millan <rmh@gnu.org>
20618
20619 * grub-core/kern/emu/misc.c
20620 (grub_make_system_path_relative_to_its_root): Fix premature return
20621 when processing non-root ZFS filesystems.
20622 Reported by Sergio Talens-Oliag.
20623
20624 2010-10-15 Robert Millan <rmh@gnu.org>
20625
20626 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20627 guarantee compressed ones are processed first.
20628
20629 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20632 grub_efiemu_autocore.
20633
20634 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20637 rather than 0x1b.
20638 (grub_console_getkey): Use correct jae opcode rather than ja.
20639
20640 2010-10-12 Robert Millan <rmh@gnu.org>
20641
20642 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20643 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20644 variable. All references updated.
20645
20646 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20647
20648 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 Correctly distinguish mdraid flavours.
20651
20652 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20653 (insert_array): New argument raid.
20654 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20655 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20656 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20657
20658 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20661 handling of special keys.
20662
20663 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20664
20665 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20666 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
20667
20668 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20669
20670 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20671 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20672 users updated.
20673 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
20674 Use right endpoint when querying descriptor.
20675
20676 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20677
20678 Clear out 0x80 color bit on EFI.
20679 Tested by: decoder
20680 Reported by: decoder and meta tech.
20681
20682 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20683 (grub_console_setcolorstate): Clear out 0x80 bit.
20684 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20685 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20686 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20687
20688 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20689
20690 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20691 Set to "auto".
20692
20693 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20694
20695 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20696 mo_file after freeing.
20697
20698 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20699
20700 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20701
20702 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20705 flags.
20706
20707 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20710 usage.
20711
20712 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20715
20716 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20717 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20718 and terminfo.h when needed.
20719 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20720 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20721 (terminfo): Enable only on terminfokernel.
20722 (extcmd): Likewise.
20723 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20724 * include/grub/lib/arg.h: Likewise.
20725 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20726 incorrect usage of ->.
20727
20728 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20731 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20732
20733 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Fix coreboot compilation.
20736
20737 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20738 Take VBE info into account even if only text is supported.
20739 (fill_vbe_info): Take into account the case when only VGA text
20740 is supported.
20741 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20742 on coreboot, multiboot and qemu.
20743
20744 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20745
20746 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20747 debug messages.
20748 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20749
20750 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20753 parameters.
20754
20755 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20758 if they were BSD-style.
20759
20760 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 * grub-core/boot/i386/pc/lnxboot.S: Replace
20763 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20764 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20765
20766 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 Write embedding zone using Reed-Solomon.
20769
20770 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20771 * grub-core/Makefile.am (rs_decoder.S): New target.
20772 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20773 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20774 (multiboot): Move to RS part.
20775 (post_reed_solomon): New label.
20776 (grub_boot_drive): Move to non-RS part since it's modified in memory
20777 on boot.
20778 Include rs_decoder.S.
20779 * grub-core/lib/reed_solomon.c: New file.
20780 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20781 New definition.
20782 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20783 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20784 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20785 * include/grub/partition.h (grub_partition_map): Change prototype of
20786 embed to allow returning additional sectors.
20787 * include/grub/reed_solomon.h: New file.
20788 * util/grub-setup.c (setup): Handle Reed-Solomon.
20789
20790 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
20791
20792 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20793 i386 and x86-64 definedness tests.
20794
20795 2010-09-27 Yves Blusseau <blusseau@zetam.org>
20796
20797 Fix generation of kernel_syms.lst
20798
20799 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20800 ASM_PREFIX
20801
20802 2010-09-26 Robert Millan <rmh@gnu.org>
20803
20804 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20805
20806 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20807 the pool is an array of devices, iterate through it and return the
20808 first device that passes a stat() test (instead of blindly returning
20809 the first one).
20810
20811 2010-09-26 Robert Millan <rmh@gnu.org>
20812
20813 Build fixes for GNU/kFreeBSD.
20814
20815 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20816 to programs that require ZFS conversion.
20817 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20818 kernels that don't have FLOPPY_MAJOR.
20819
20820 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20821
20822 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20823
20824 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20825
20826 Fix grub-emu build.
20827
20828 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20829 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20830 mdraid09 and mdraid1x.
20831
20832 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
20833
20834 Re-enable grub-extras.
20835
20836 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20837 avoid confusing Automake. Run autogen only twice, once for the top
20838 level and once for grub-core. Add Makefile.util.def and
20839 Makefile.core.def from extra modules to the appropriate autogen
20840 invocations. If Makefile.common exists in an extra module, include
20841 it in both Makefile.util.am and grub-core/Makefile.core.am;
20842 similarly, include any Makefile.util.common file in Makefile.util.am
20843 and any Makefile.core.common file in grub-core/Makefile.core.am.
20844 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20845 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20846 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20847 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20848
20849 * gentpl.py (gvar_add): Turn GVARS into a set.
20850 (global_variable_initializers): Sort global variables on output.
20851 (vars_init): New function.
20852 (first_time): Likewise.
20853 (library): Ensure that non-global variable initialisations are
20854 emitted before the first time we emit code for a library block.
20855 Append to variables rather than setting them. Only emit
20856 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20857 each conditional path.
20858 (program): installdir() emits an Autogen macro, so must be passed to
20859 var_add rather than gvar_add.
20860 (data): Likewise.
20861 (script): Likewise.
20862 (rules): New function, centralising handling for different target
20863 types. Set up Guile association lists for first_time and vars_init,
20864 and send most output to a diversion so that variable initialisations
20865 can be emitted first.
20866 (module_rules): Use new rules function.
20867 (kernel_rules): Likewise.
20868 (image_rules): Likewise.
20869 (library_rules): Likewise.
20870 (program_rules): Likewise.
20871 (script_rules): Likewise.
20872 (data_rules): Likewise.
20873
20874 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20875
20876 * .bzrignore: Add contrib and grub-core/contrib. Remove
20877 grub-core/Makefile.gcry.am.
20878
20879 2010-09-24 Yves Blusseau <blusseau@zetam.org>
20880
20881 * grub-core/lib/LzFind.c: Add missing include.
20882 * grub-core/lib/LzmaEnc.c: Likewise.
20883 * grub-core/script/lexer.c: Likewise.
20884 * grub-core/script/yylex.l: Likewise.
20885 * util/grub-macho2img.c: Likewise.
20886 * util/grub-menulst2cfg.c: Likewise.
20887 * util/grub-mklayout.c: Likewise.
20888 * util/grub-mkpasswd-pbkdf2.c
20889 * util/grub-mkrelpath.c: Likewise.
20890 * util/resolve.c: Likewise.
20891
20892 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20893
20894 * Makefile.util.def (example_unit_test): Add
20895 grub-core/gnulib/libgnu.a.
20896
20897 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20898
20899 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20900
20901 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 Support xz compression on yeeloong.
20904
20905 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20906 * configure.ac: Check for LZMA.
20907 * grub-core/Makefile.core.def (xz_decompress): New target.
20908 (none_decompress): Likewise.
20909 * grub-core/boot/decompressor/minilib.c: New file.
20910 * grub-core/boot/decompressor/none.c: Likewise.
20911 * grub-core/boot/decompressor/xz.c: Likewise.
20912 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20913 * grub-core/kern/mips/cache_flush.S: Likewise.
20914 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20915 * grub-core/kern/mips/startup.S: Move first stage to ...
20916 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20917 nomacro.
20918 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20919 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20920 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20921 Allocate statically.
20922 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20923 Allocate statically or use scratch. Don't check CRC32.
20924 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20925 Allocate statically. Don't check CRC32.
20926 * include/grub/decompressor.h: New file.
20927 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20928 Removed.
20929 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20930 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20931 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20932 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20933 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20934 * util/grub-mkimage.c (grub_compression_t): New type.
20935 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20936 (image_target_desc): New field default_compression.
20937 (image_targets): Adjust yeeloong targets.
20938 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20939 (compress_kernel): New parameter comp.
20940 (generate_image): Likewise. Handle new compression case.
20941 (options): New option --compression
20942 (help): Likewise.
20943 (main): Handle new option.
20944
20945 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20946
20947 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20948
20949 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
20950
20951 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20952 typo in __i386__ conditional.
20953
20954 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20955
20956 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20957 include.
20958
20959 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 Implement EFI and ACPI multiboot2 extensions.
20962
20963 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20964 new tags as supported.
20965 (acpiv2_size): New function.
20966 (grub_multiboot_get_mbi_size): Take new tags into account.
20967 (grub_multiboot_make_mbi): Add new tags.
20968 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
20969
20970 2010-09-21 Aleš Nesrsta <starous@volny.cz>
20971
20972 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20973 Added missing configuration of USB device.
20974
20975 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20976
20977 * grub-core/normal/menu_entry.c (run): Make sure we always return
20978 a value.
20979
20980 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20981
20982 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20983 NumberOfPages is UINT64 according to the UEFI specification, not
20984 UINTN. Fix printf format.
20985
20986 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20987
20988 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20989 `err' to grub_usb_err_t.
20990 Reported and tested by: KESHAV P.R.
20991
20992 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20993
20994 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20995 tpart non-const, so that we can assign to it. (Since this is a
20996 typedef, the constness refers to the pointer rather than what it
20997 points to.)
20998
20999 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21000
21001 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21002 $(top_srcdir)/grub-core/gnulib as well as
21003 $(top_builddir)/grub-core/gnulib.
21004 Reported by: KESHAV P.R.
21005
21006 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21007
21008 * util/grub-install.in: Fix the bootloader ID option to be
21009 consistently --bootloader-id, not --bootloader_id.
21010 Reported by: KESHAV P.R.
21011
21012 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21013
21014 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21015 check hash checksum." consistently translatable.
21016
21017 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21018
21019 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21020 $(top_builddir).
21021
21022 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21023
21024 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21025 (GRUB_MOD_INIT): Register sha1sum command.
21026 (GRUB_MOD_FINI): Unregister sha1sum command.
21027
21028 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21029
21030 Keep boot and grub directory names in sync with utils scripts
21031
21032 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21033 * config.h.in: Add previous macros.
21034 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21035 * util/grub-install.in: Use $bootdir and $grubdir variables.
21036
21037 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21038
21039 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21040 convert partition names to disk names if the new `convert' parameter
21041 is set.
21042 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21043 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21044 disk in its own right. This can happen with Xen disk images.
21045
21046 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21047
21048 * util/grub-editenv.c: Update strings to avoid warnings when generating
21049 grub.pot file.
21050 * util/grub-setup.c: Likewise.
21051
21052 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21053
21054 * configure.ac: Change version to 1.99~beta0.
21055
21056 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21059 Add BADRAM.
21060 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21061 Likewise.
21062 * include/multiboot.h: Resynced with specification.
21063 * include/multiboot2.h: Likewise.
21064
21065 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21066
21067 Fix po directory handling.
21068
21069 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21070 * grub-core/gnulib/Makefile.am: Import gettext module.
21071 * m4/gnulib-cache.m4: Likewise.
21072 * m4/gnulib-comp.m4: Likewise.
21073 * m4/gettext.m4: New file, from gnulib.
21074 * m4/glibc2.m4: Likewise.
21075 * m4/iconv.m4: Likewise.
21076 * m4/intdiv0.m4: Likewise.
21077 * m4/intl.m4: Likewise.
21078 * m4/intldir.m4: Likewise.
21079 * m4/intlmacosx.m4: Likewise.
21080 * m4/intmax.m4: Likewise.
21081 * m4/inttypes-pri.m4: Likewise.
21082 * m4/lcmessage.m4: Likewise.
21083 * m4/lib-ld.m4: Likewise.
21084 * m4/lib-link.m4: Likewise.
21085 * m4/lib-prefix.m4: Likewise.
21086 * m4/lock.m4: Likewise.
21087 * m4/nls.m4: Likewise.
21088 * m4/po.m4: Likewise.
21089 * m4/printf-posix.m4: Likewise.
21090 * m4/progtest.m4: Likewise.
21091 * m4/threadlib.m4: Likewise.
21092 * m4/uintmax_t.m4: Likewise.
21093 * m4/visibility.m4: Likewise.
21094 * po/Makefile.am: Remove.
21095 * po/Makefile.in.in: New file, from gettext.
21096 ($(DOMAIN).pot-update): Support POTFILES-shell.
21097 * po/Makevars: New file.
21098 * po/POTFILES-shell: Rename to ...
21099 * po/POTFILES-shell.in: ... this. Update.
21100 * po/POTFILES: Rename to ...
21101 * po/POTFILES.in: ... this. Update.
21102 * po/Rules-quot: New file, from gettext.
21103 * po/boldquot.sed: Likewise.
21104 * po/en@boldquot.header: Likewise.
21105 * po/en@quot.header: Likewise.
21106 * po/insert-header.sin: Likewise.
21107 * po/quot.sed: Likewise.
21108 * po/remove-potcdate.sin: Likewise.
21109
21110 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21111
21112 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21113
21114 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * util/grub.d/20_linux_xen.in: Use submenus.
21117
21118 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 Support submenus.
21121
21122 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21123 parameter submenu. All users updated.
21124 * grub-core/normal/main.c (free_menu): Rename to ...
21125 (grub_normal_free_menu): ... this. Made global.
21126 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21127 if requested.
21128 * grub-core/normal/menu_entry.c (screen): New field submenu.
21129 (make_screen): Set submenu.
21130 (run): Open new context if requested.
21131 * include/grub/menu.h (grub_menu_entry): New field submenu.
21132 * include/grub/normal.h (grub_normal_free_menu): New proto.
21133
21134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 Menu entries extractor.
21137
21138 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21139 variants.
21140 (GRUB_MOD_INIT): Register new variants.
21141 (GRUB_MOD_FINI): Unregister new variants.
21142 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21143 into grub_cmd_legacy_source.
21144 (grub_cmd_legacy_source): Implement extractor variants.
21145 (GRUB_MOD_INIT): Register new variants.
21146 (GRUB_MOD_FINI): Unregister new variants.
21147 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21148 as an extractor.
21149 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21150 search as an extractor.
21151 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21152 test as an extractor.
21153 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21154 as an extractor.
21155 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21156 (grub_env_new_context): New function.
21157 (grub_env_context_open): Likewise.
21158 (grub_env_extractor_open): Likewise.
21159 (grub_env_extractor_close): Likewise.
21160 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21161 grub_extractor_level.
21162 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21163 * include/grub/env.h (grub_env_extractor_open): New proto.
21164 (grub_env_extractor_close): Likewise.
21165 * include/grub/normal.h (grub_extractor_level): New external variable.
21166
21167 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21168
21169 Make cutmem accept a region specification.
21170 Suggested by: Samuel Thibault
21171
21172 * grub-core/mmap/mmap.c (parsemem): New function.
21173 (grub_cmd_cutmem): Handle new arguments.
21174
21175 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 New command cutmem.
21178
21179 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21180 (GRUB_MOD_INIT): Register new command.
21181 (GRUB_MOD_FINI): Unregister new command.
21182
21183 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 Support some annoying BSD and Minix subpartitions.
21186
21187 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21188 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21189 Properly handle concatenation.
21190 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21191 * grub-core/normal/completion.c (iterate_partition): Likewise.
21192 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21193 contain partition. All users updated.
21194 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21195 struct.
21196 (grub_openbsdlabel_partition_map): Likewise.
21197 (bsdlabel_partition_map_iterate): Rename to ..
21198 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21199 (bsdlabel_partition_map_iterate): New function.
21200 (netopenbsdlabel_partition_map_iterate): Likewise.
21201 (netbsdlabel_partition_map_iterate): Likewise.
21202 (openbsdlabel_partition_map_iterate): Likewise.
21203 (GRUB_MOD_INIT): Register new partmaps.
21204 (GRUB_MOD_FINI): Unregister new partmaps.
21205 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21206 (grub_partition_msdos_iterate): ... this. All users updated.
21207 Don't support embedding other than in a minix partition.
21208 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21209 proto.
21210 * include/grub/partition.h (grub_partition): New field msdostype.
21211 * util/grub-install.in: Handle openbsd and netbsd types being in
21212 part_bsd module.
21213
21214 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21217
21218 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21219 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21220 (mdraid09): ... this.
21221 (mdraid1x): New module.
21222 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21223 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21224
21225 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21228 vsprintf.
21229
21230 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * grub-core/commands/efi/lsefimmap.c: Correct header.
21233 * NEWS: Update.
21234
21235 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21238 as printf format strings; the translations might contain '%' which
21239 could cause a crash.
21240 (main): Likewise.
21241 * util/grub-fstest.c (argp_parser): Likewise.
21242 * util/grub-setup.c (argp_parser): Likewise.
21243 (main): Likewise.
21244
21245 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Use argp in grub-fstest.
21248
21249 * util/grub-fstest.c: Don't include getopt.h.
21250 Include argp.h.
21251 (root): New variable.
21252 (args_count): Likewise.
21253 (nparm): Likewise.
21254 (num_disks): Likewise.
21255 (images): Likewise.
21256 (cmd): Likewise.
21257 (debug_str): Likewise.
21258 (args): Likewise.
21259 (options): Transformed to argp.
21260 (usage): Removed.
21261 (main): Split argument parsing into ...
21262 (argp_parser): ... this. Changed to argp format.
21263 (argp): New variable.
21264 (main): Use argp_parse.
21265
21266 2010-09-20 Tristan Gingold <gingold@free.fr>
21267 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21268 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 * grub-core/commands/efi/lsefimmap.c: New file.
21271 * grub-core/Makefile.core.def (lsefimmap): New module.
21272 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21273
21274 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 Pause the execution (10s max) if any errors are displayed so the user
21277 has a chance to see them.
21278
21279 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21280 (grub_print_error): Increment grub_err_printed_errors.
21281 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21282 execution if any errors were displayed.
21283 (show_menu): Remove old code for pause.
21284 * grub-core/normal/menu_entry.c (run): Likewise.
21285 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21286 users updated.
21287 (grub_normal_get_char_counter): Likewise.
21288 * include/grub/err.h (grub_err_printed_errors): New external variable.
21289 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21290
21291 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 Support multiboot VBE info.
21294
21295 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21296 Take VBE info into account.
21297 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21298 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21299 Call fill_vbe_info when appropriate.
21300 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21301 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21302 as supported.
21303 (grub_multiboot_get_mbi_size): Take new tags into account.
21304 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21305 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21306 Call fill_vbe_tag when appropriate.
21307 (grub_multiboot_make_mbi): Properly align tags.
21308 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21309 function.
21310 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21311 proto.
21312 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21313
21314 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 Suport manual terminal geometry specification.
21317
21318 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21319 Save state in grub_ofconsole_terminfo_output.
21320 (grub_ofconsole_term): Use grub_terminfo_getwh.
21321 (grub_ofconsole_getwh): Removed.
21322 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21323 (grub_serial_term): Use grub_terminfo_getwh.
21324 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21325 (options): New struct.
21326 (OPTION_*): New enum.
21327 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21328 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21329 width and height.
21330 (grub_terminfo_getwh): New proto.
21331 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21332
21333 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 Handle legacy "terminal" command.
21336
21337 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21338 and FLAG_TERMINAL.
21339 (legacy_commands): Add terminal and title.
21340 (grub_legacy_parse): Handle terminal. Simplify title handling.
21341
21342 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21345 parameters overflow.
21346
21347 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21348
21349 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21350 widthspec.h.
21351
21352 * docs/grub.texi (Shell-like scripting): Document `!'.
21353 (Network): Simplify using new i386-pc-pxe format. Mention
21354 grub-mknetdir.
21355
21356 * NEWS: Update.
21357
21358 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21359
21360 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21361 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21362 when needed.
21363
21364 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21365
21366 * grub-core/commands/efi/lsefisystab.c: Correct header.
21367 * grub-core/commands/efi/lssal.c: Likewise.
21368 * grub-core/commands/testload.c: Likewise.
21369
21370 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21371
21372 * util/grub-mkrescue.in: Add explicit root argument to --set to
21373 prevent the UUID being interpreted as an argument to --set (matches
21374 previous change to prepare_grub_to_access_device).
21375
21376 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21377
21378 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21379 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21380 the verbosity of later #ifs.
21381 (find_partition_start): Define this function on FreeBSD too.
21382 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21383 function.
21384 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21385 on FreeBSD.
21386
21387 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21388
21389 * util/grub-editenv.c: Use argp instead of getopt.
21390
21391 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21392
21393 * util/grub-setup.c: Use argp instead of getopt.
21394
21395 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21396
21397 Use gnulib-tool to create gnulib source files.
21398
21399 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21400 grub-core/gnulib directories
21401 * .bzignore: Add **/.deps and autogenerated gnulib files
21402 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21403 of gnulib macros, add grub-core/gnulib/Makefile
21404 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21405 include m4 directory to aclocal.
21406 * Makefile.util.def: Remove direct compilation of gnulib source files
21407 and use the new grub-core/gnulib/libgnu.a.
21408 * build-aux/config.rpath: move config.rpath from top directory to
21409 build-aux
21410 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21411 in gnulib headers
21412 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21413 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21414 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21415 header.
21416 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21417 string.
21418
21419 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21420
21421 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21422 grub-core/genmod.sh and grub-core/gensyminfo.sh
21423
21424 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21425
21426 Add a test for echo command options.
21427
21428 * tests/grub_cmd_echo.in: New test.
21429 * Makefile.util.def: Rules for new test.
21430
21431 2010-09-20 Szymon Janc <szymon@janc.net.pl>
21432
21433 Remove crc.mod and move crc command to hashsum.mod.
21434 Remove lib/crc.c - users updated to use gcrypt implementation.
21435
21436 * grub-core/commands/crc.c: Removed.
21437 * grub-core/Makefile.core.def (crc): Module removed.
21438 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21439 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21440 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21441 * grub-core/lib/crc.c: Removed.
21442 * include/grub/lib/crc.h: Removed.
21443 * Makefile.util.def (crc): Remove lib/crc.c
21444 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21445 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21446 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21447 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21448 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21449 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21450
21451 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21454
21455 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 Split config.h for util and core.
21458
21459 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21460 (ADDR32): Likewise.
21461 (DATA32): Likewise.
21462 (BSS_START_SYMBOL): Likewise.
21463 (END_SYMBOL): Likewise.
21464 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21465 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21466 * config.h.in: New file.
21467 * configure.ac: Use config-util.h as config define file.
21468 Rename MACHINE into GRUB_MACHINE. All users updated.
21469 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21470 updated.
21471 (NESTED_FUNC_ATTR): Likewise.
21472 Substitue new variables.
21473 (COND_HAVE_ASM_USCORE): New conditional.
21474 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21475 (kernel_syms.lst): Use ASM_PREFIX.
21476 * grub-core/kern/emu/console.c: Include config-util.h.
21477 * grub-core/kern/emu/misc.c: Likewise.
21478 * grub-core/kern/emu/mm.c: Likewise.
21479 * include/grub/emu/misc.h: Likewise.
21480 * include/grub/libgcc.h: Likewise.
21481
21482 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21485 constants usage.
21486 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21487 Fix GRUB_TERM_KEY_* constants usage.
21488 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21489
21490 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21493 print pointer.
21494 * grub-core/bus/usb/uhci.c: Remove empty define.
21495 (grub_uhci_check_transfer): Add missing cast.
21496 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21497 print pointer.
21498 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21499 PRIuGRUB_SIZE.
21500 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21501
21502 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * grub-core/Makefile.core.def (legacycfg): Add
21505 lib/i386/pc/vesa_modes_table.c on emu.
21506
21507 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21508
21509 Reduce number of temporary files generated by build system.
21510
21511 * grub-core/gencmdlist.sh: Removed.
21512 * grub-core/genfslist.sh: Removed.
21513 * grub-core/genhandlerlist.sh: Removed.
21514 * grub-core/genmodsrc.sh: Removed.
21515 * grub-core/genpartmaplist.sh: Removed.
21516 * grub-core/genparttoollist.sh: Removed.
21517 * grub-core/gentermiinallist.sh: Removed.
21518 * grub-core/genvideolist.sh: Removed.
21519
21520 * grub-core/genmod.sh.in: New file.
21521 * grub-core/gensyminfo.sh.in: New file.
21522
21523 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21524 * conf/Makefile.extra-dist: Update with new files.
21525 * gentpl.py: Remove rules related to unnecessary temporary files.
21526 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21527 and und-* files.
21528 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21529 genmod.sh scripts.
21530 * grub-core/bus/usb/uhci.c: Remove empty #define.
21531 * grub-core/genmoddep.awk: Updated with new syminfo format.
21532 * util/bash-completion.d/Makefile.am: Add config.log to
21533 CLEANFILES.
21534
21535 2010-09-19 Yves Blusseau <blusseau@zetam.org>
21536
21537 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21538
21539 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21540
21541 * util/grub-mkconfig.in: Check the config script for syntax errors
21542 before saving.
21543
21544 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
21545 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21548 platforms.
21549 * util/grub-install.in: Add EFI and IEEE1275 support.
21550 * util/i386/efi/grub-install.in: Removed.
21551 * util/ieee1275/grub-install.in: Likewise.
21552
21553 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21556 (grub_cmd_cmosclean): Likewise.
21557 (GRUB_MOD_INIT): Register command cmosclean.
21558 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21559 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21560
21561 2010-09-18 Carles Pina i Estany <carles@pina.cat>
21562 2010-09-18 Aleš Nesrsta <starous@volny.cz>
21563 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 Add keyboard layouts support.
21566
21567 * Makefile.util.def (grub-mklayout): New file.
21568 (grub-kbdcomp): New script.
21569 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21570 Add keyboard_layouts.h.
21571 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21572 commands/boot.c on yeeloong.
21573 (keylayouts): New module.
21574 * grub-core/bus/usb/ohci.c
21575 * grub-core/bus/usb/uhci.c
21576 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21577 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21578 (attach_root_port): Likewise.
21579 (poll_nonroot_hub): Likewise.
21580 (grub_usb_poll_devices): Likewise.
21581 (detach_device): Close transfer.
21582 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21583 function.
21584 (grub_usb_bulk_setup_readwrite): Likewise.
21585 (grub_usb_bulk_finish_readwrite): Likewise.
21586 * grub-core/commands/keylayouts.c: New file.
21587 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21588 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21589 aliases.
21590 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21591 support scancode 2.
21592 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21593 * include/grub/keyboard_layouts.h: New file.
21594 * util/grub-mklayout.c: New file.
21595 * util/grub-kbdcomp.in: Likewise.
21596
21597 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 Unify memory types.
21600
21601 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21602 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21603 types.
21604 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21605 (grub_upper_mem): Likewise.
21606 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21607 * include/grub/memory.h (grub_memory_type_t): New enum.
21608 All users updated.
21609
21610 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * grub-core/Makefile.core.def (lsapm): New module.
21613 * grub-core/commands/i386/pc/lsapm.c: New file.
21614 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21615 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21616 Likewise.
21617 * include/grub/i386/pc/apm.h: New file.
21618 * include/multiboot.h (multiboot_apm_info): New struct.
21619
21620 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 GRUB-legacy configuration file support.
21623
21624 * Makefile.util.def (grub-menulst2cfg): New util.
21625 * docs/man/grub-menulst2cfg.h2m: New file.
21626 * grub-core/Makefile.core.def (legacycfg): New module.
21627 * grub-core/commands/legacycfg.c: New file.
21628 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21629 (grub_normal_add_menu_entry): ... this.
21630 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21631 (grub_normal_set_password): ...this.
21632 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21633 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21634 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21635 * grub-core/lib/legacy_parse.c: New file.
21636 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21637 * include/grub/i386/pc/vesa_modes_table.h: New file.
21638 * include/grub/legacy_parse.h: Likewise.
21639 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21640 * util/grub-menulst2cfg.c: New file.
21641
21642 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21643
21644 * grub-core/kern/emu/hostdisk.c
21645 (convert_system_partition_to_system_disk): Initialise node.
21646
21647 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21648
21649 * grub-core/kern/emu/hostdisk.c
21650 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21651 leak.
21652 Reported and based on patch by: Modestas Vainius.
21653
21654 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21655
21656 Fix DM-RAID probing with recent versions of device-mapper udev
21657 rules.
21658
21659 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21660 canonicalise device paths under /dev/mapper/.
21661 (convert_system_partition_to_system_disk): Compare the
21662 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21663 path, since device nodes under /dev/mapper/ are often symlinks.
21664
21665 2010-09-17 Yves Blusseau <blusseau@zetam.org>
21666
21667 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21668
21669 2010-09-16 Yves Blusseau <blusseau@zetam.org>
21670
21671 * configure.ac: Avoid some annoying error messages if freetype-config
21672 program is not found.
21673
21674 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21675
21676 Support RAID on virtio devices, and others.
21677
21678 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21679 Rename to ...
21680 [__MINGW32__] (grub_find_device): ... this.
21681 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21682 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21683 reasonable default if dir is NULL.
21684 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21685 ...
21686 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21687 (grub_guess_root_device): Update callers.
21688 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21689
21690 * util/raid.c (grub_util_getdiskname): Remove.
21691 (grub_util_raid_getmembers): Use grub_find_device rather than
21692 grub_util_getdiskname.
21693
21694 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21695
21696 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21697 needing to be compiled with serial support.
21698 (ls): Indicate that multiple files are accepted.
21699 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21700 indicate that multiple files are accepted.
21701
21702 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21703
21704 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21705 libgrub_a_init.c, and util/bash-completion.d/grub.
21706
21707 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21708
21709 * util/grub-setup.c (setup): Fix incorrect container semantics.
21710
21711 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21712
21713 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21714 misusage.
21715 Reported by: J. Nick Terry
21716
21717 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 Move embedding routines to partmap sources files.
21720
21721 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21722 [GRUB_UTIL]: New variable.
21723 (gpt_partition_map_iterate): Set part.parent.
21724 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21725 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21726 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21727 New function.
21728 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21729 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21730 (grub_partition_map) [GRUB_UTIL]: New field embed.
21731 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21732 (setup): Use ->embed.
21733
21734 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21737 function.
21738 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21739 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21740
21741 2010-09-15 Yves Blusseau <blusseau@zetam.org>
21742
21743 Add function to get completions from usage.
21744
21745 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21746 completions from usage. Use LC_ALL=C to get options properly.
21747
21748 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 * grub-core/gnulib/basename-lgpl.c: Imported.
21751 * grub-core/gnulib/basename.c: Likewise.
21752 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21753 * grub-core/gnulib/dirname.c: Likewise.
21754 * grub-core/gnulib/dirname.h: Likewise.
21755 * grub-core/gnulib/stripslash.c: Likewise.
21756
21757 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21758
21759 * grub-core/gnulib/error.c: Resynced.
21760 * grub-core/gnulib/getopt.c: Likewise.
21761 * grub-core/gnulib/getopt_int.h: Likewise.
21762 * grub-core/gnulib/regex.h: Likewise.
21763 * grub-core/gnulib/regex_internal.c: Likewise.
21764 * grub-core/gnulib/regex_internal.h: Likewise.
21765
21766 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21767
21768 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21769 CRC calculations and validity checks.
21770 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21771 calculations.
21772
21773 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21774
21775 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21776
21777 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 Fix incorrect echo options handling.
21780 Reported by: Yves Blusseau.
21781
21782 * include/grub/command.h (grub_command_flags_t): New flags
21783 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21784 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21785 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21786
21787 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21790 users updated.
21791 (GRUB_COMMAND_FLAG_MENU): Likewise.
21792 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21793 (GRUB_COMMAND_FLAG_TITLE): Removed.
21794 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21795 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21796 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21797 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21798 (grub_command_flags_t): New enum. All users updated.
21799
21800 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21801
21802 Fix solaris compilation.
21803
21804 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21805 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21806 (grub-emu-list): Likewise.
21807
21808 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21809
21810 Remove deprecated root command.
21811
21812 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21813 updated.
21814
21815 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * util/i386/pc/grub-setup.c: Merge this ...
21818 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21819 * util/grub-setup.c: ... into this.
21820 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21821 New struct.
21822
21823 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21826 possible.
21827
21828 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21831 allocate p.
21832
21833 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21836 explicit root argument to set to prevent UUID to be interpreted as
21837 argument to set.
21838
21839 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21842
21843 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 Don't export grub_gate_a20.
21846
21847 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21848 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21849 to ...
21850 (grub_gate_a20): ... this. All users updated.
21851 * include/grub/i386/pc/init.h: Removed. All users updated.
21852
21853 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 Create euro.pf2 which supports most European languages.
21856
21857 * Makefile.am (grubdata_DATA): Add euro.pf2.
21858 (euro.pf2): New target.
21859 (CLEANFILES): Add euro.pf2.
21860
21861 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * configure.ac: Disable emu-usb by default to prevent inadvertent
21864 device takeover.
21865
21866 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 Disable usbserial on grub-emu since our libusb code isn't good enough
21869 yet.
21870
21871 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21872 (usbserial_pl2303): Likewise.
21873 (usbserial_ftdi): Likewise.
21874
21875 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21876
21877 * include/grub/disk.h (grub_disk): Remove has_partitions.
21878 All users updated.
21879 * disk/loopback.c (grub_loopback): Remove has_partitions.
21880 All users updated.
21881 (options): Remove partitions. All users updated.
21882 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21883 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21884 actual partition table is found.
21885
21886 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21887
21888 Remove readability checks (too many false negatives).
21889
21890 * util/grub-install.in: Remove readability checks.
21891 * util/grub-mkconfig.in: Likewise.
21892 * util/grub.d/10_hurd.in: Likewise.
21893 * util/grub.d/10_kfreebsd.in: Likewise.
21894 * util/grub.d/10_linux.in: Likewise.
21895 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21896 way.
21897
21898 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 Enable acpi shutdown on all ACPI platforms.
21901
21902 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21903 on coreboo, multiboot and EFI.
21904 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21905 (grub_acpi_halt): Likewise.
21906 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21907 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21908 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21909 * grub-core/lib/i386/halt.c (grub_halt)
21910 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21911
21912 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21915 context.
21916
21917 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21918
21919 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21920 * grub-core/video/efi_uga.c: Likewise.
21921
21922 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 Filter devaliases and never open same device twice.
21925
21926 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21927 (last_ihandle): Likewise.
21928 (ofdisk_hash_ent): New member shortest.
21929 (ofdisk_hash_add): Add canonical path too.
21930 (scan): New function.
21931 (grub_ofdisk_iterate): Iterate over hashed entries.
21932 (compute_dev_path): Don't add :0.
21933 (grub_ofdisk_open): Don't really open the disk.
21934 (grub_ofdisk_close): Avoid closing unrelated disk.
21935 (grub_ofdisk_read): Implement reopen logic.
21936 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21937 New function.
21938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21939 New proto.
21940
21941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 Fix sparc64.
21944
21945 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21946 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21947 right address. Add sparc64_ieee1275_ldflags.
21948 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21949 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21950 to grub_host_to_target_addr
21951 (load_image): Likewise.
21952
21953 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * grub-core/normal/completion.c (complete_file): Handle device
21956 containing slash.
21957 Fix based on patch by Doug Nazar.
21958
21959 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21960
21961 grub-mknetdir script.
21962
21963 * Makefile.util.def (grub-mknetdir): New module.
21964 * tests/util/grub-shell.in: Support boot=net
21965 * util/grub-mknetdir.in: New file.
21966
21967 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 videoinfo on non-vbe.
21970
21971 * grub-core/Makefile.core.def (vbeinfo): Removed.
21972 (vbetest): Removed.
21973 (videoinfo): New module.
21974 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21975 * grub-core/commands/i386/pc/vbetest.c: Removed.
21976 * grub-core/commands/videoinfo.c: New file.
21977 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21978 specification.
21979 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21980 as vbetest.
21981 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21982 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21983 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21984 mode_number. New parameter mode. All users updated.
21985 (grub_video_gop_iterate): New function.
21986 (grub_video_efi_gop): New member iterate.
21987 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21988 (grub_vbe_set_video_mode): Remove setting useless fields.
21989 (vbe2videoinfo): New function.
21990 (grub_video_vbe_iterate): Likewise.
21991 (grub_video_vbe_setup): Use vbe2videoinfo.
21992 (grub_video_vbe_print_adapter_specific_info): New function.
21993 (grub_video_vbe_adapter): New fields iterate and
21994 print_adapter_specific_info.
21995 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21996 All users updated.
21997 (grub_video_mode_info): New field mode_number.
21998 (grub_video_adapter): New fields iterate and
21999 print_adapter_specific_info.
22000
22001 2010-09-13 Tristan Gingold <gingold@free.fr>
22002 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
22003 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * grub-core/commands/efi/lsefisystab.c: New file.
22006 * grub-core/commands/efi/lssal.c: Likewise.
22007 * grub-core/Makefile.core.def (lsacpi): New module.
22008 (lsefisystab): Likewise.
22009 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22010 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22011 (grub_efi_sal_system_table): New struct.
22012 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22013 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22014 (grub_efi_sal_system_table_platform_features): Likewise.
22015 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22016 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22017 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22018 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22019
22020 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 Support explicit user claim that a device is BIOS-visible.
22023
22024 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22025 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22026 * grub-core/kern/emu/hostdisk.c
22027 (convert_system_partition_to_system_disk): Support mdX.
22028 (find_system_device): New parameter add. All users updated.
22029 (grub_util_biosdisk_is_present): New function.
22030 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22031 proto.
22032
22033 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 Search hints support.
22036
22037 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22038 All users updated.
22039
22040 2010-09-13 Yves Blusseau <blusseau@zetam.org>
22041
22042 Bash completion script for util commands
22043
22044 * Makefile.am: Add util/bash-completion.d directory
22045 * configure.ac: Likewise.
22046 * util/bash-completion.d/Makefile.am: New file.
22047 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22048
22049 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22052 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22053 Reported by: Yves Blusseau.
22054
22055 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22058 partition size and offset.
22059
22060 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22063
22064 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22067
22068 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22071 (grub_xvasprintf): Likewise.
22072
22073 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22076
22077 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22080 args ending with NULL.
22081
22082 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22085 pointer.
22086
22087 2010-09-11 Szymon Janc <szymon@janc.net.pl>
22088
22089 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22090
22091 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22092
22093 Shutdown using ACPI.
22094
22095 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22096 * grub-core/commands/acpihalt.c: New file.
22097 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22098 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22099 (grub_acpi_halt): New proto.
22100 (GRUB_ACPI_SLP_EN): New const.
22101 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22102 (GRUB_ACPI_OPCODE_*): New enum.
22103 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22104
22105 2010-09-11 Tristan Gingold <gingold@free.fr>
22106 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
22107 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 * commands/lsacpi.c: New file.
22110 * grub-core/Makefile.core.def (lsacpi): New module.
22111 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22112 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22113 (grub_acpi_madt_entry_header): New struct.
22114 (grub_acpi_madt): Likewise.
22115 (grub_acpi_madt_entry_interrupt_override): Likewise.
22116 (grub_acpi_madt_entry_sapic): Likewise.
22117 (grub_acpi_madt_entry_lsapic): Likewise.
22118 (grub_acpi_madt_entry_platform_int_source): Likewise.
22119 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22120 (PRIuGRUB_UINT32_T): Likewise.
22121 (PRIxGRUB_UINT64_T): Likewise.
22122
22123 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 Implement loading palette on ieee1275_fb.
22126
22127 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22128 (have_setcolors): Likewise.
22129 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22130 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22131 (grub_video_ieee1275_set_palette): Implement.
22132
22133 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22134 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
22135
22136 * util/grub-install.in (grub_partition): New variable.
22137 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22138 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22139 Fixes a bug reported by Yves Blusseau.
22140
22141 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22142
22143 Fix emu on mipsel.
22144
22145 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22146 =grub_cpu_flush_cache on all mips and not only yeeloong.
22147 * configure.ac (COND_mips): New conditional.
22148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22149 platforms.
22150 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22151 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22152 [GRUB_LINKER_HAVE_INIT]: New function.
22153 (grub_emu_post_init): Likewise.
22154 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22155 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22156 * include/grub/cache.h (_mips): Include mips/cache.h.
22157 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22158 LVM and RAID prototypes.
22159 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22160 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22161 function.
22162
22163 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22164
22165 * util/grub-install.in: Don't try to verify core.img until after
22166 running grub-mkimage to create it.
22167
22168 2010-09-10 Robert Millan <rmh@gnu.org>
22169
22170 * util/grub.d/10_hurd.in: Add misc readability checks.
22171 * util/grub.d/10_kfreebsd.in: Likewise.
22172 * util/grub.d/10_linux.in: Likewise.
22173
22174 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22175
22176 * util/grub-install.in: ${imgext} won't be defined here until the
22177 install branch is merged. For the meantime, only verify core.img on
22178 i386-pc and sparc64-ieee1275 platforms.
22179
22180 2010-09-10 Robert Millan <rmh@gnu.org>
22181
22182 Solaris support in grub_find_zpool_from_dir(). Thanks
22183 Seth Goldberg for referring to getextmntent() facility.
22184
22185 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22186 `sys/mkdev.h'.
22187 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22188 `<sys/mnttab.h>'.
22189 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22190 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22191 method for finding zpool name.
22192
22193 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22194
22195 grub-fstest needs the host and hostfs modules while other utilities
22196 actively require those modules to be absent, so grub-fstest needs
22197 its own initialisation and finalisation code.
22198
22199 * Makefile.am (grub_fstest.pp): New target.
22200 (grub_fstest_init.lst): Likewise.
22201 (grub_fstest_init.c): Likewise.
22202 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22203
22204 2010-09-10 Robert Millan <rmh@gnu.org>
22205
22206 * configure.ac: Check for `struct statfs.f_fstypename' and
22207 `struct statfs.f_mntfromname'.
22208
22209 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22210 kFreeBSD-specific code.
22211
22212 2010-09-10 Robert Millan <rmh@gnu.org>
22213
22214 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22215 on ZFS. Now non-main filesystems are supported as / too.
22216
22217 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
22218
22219 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22220 and grub-core/disk/host.c to ...
22221 (grub-fstest): ... here. Having the host disk implementation
22222 present confuses grub-probe and other utility programs.
22223
22224 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22225 when writing to a file, not when writing to stdout.
22226
22227 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22228
22229 * tests/partmap_test.in: New test for partitions.
22230 * Makefile.util.def: Rules for new test.
22231
22232 2010-09-09 Robert Millan <rmh@gnu.org>
22233
22234 * util/grub-probe.c (probe): Fix a pair of unhandled error
22235 conditions.
22236
22237 2010-09-09 Robert Millan <rmh@gnu.org>
22238
22239 Basic Btrfs support (detection and UUID).
22240
22241 * grub-core/fs/btrfs.c: New file.
22242 * Makefile.util.def (library): Register btrfs.c.
22243 * grub-core/Makefile.core.def: Likewise.
22244
22245 2010-09-08 Robert Millan <rmh@gnu.org>
22246
22247 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22248 with (optional) parameters to specify device and relative path.
22249 * util/grub-install.in: Use is_path_readable_by_grub() to
22250 verify readability of a few critical files.
22251 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22252 verify readability of grub.cfg.new.
22253
22254 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22255
22256 Split minix.mod into minix.mod and minix2.mod.
22257
22258 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22259 * grub-core/Makefile.core.def (minix2): New module.
22260 * grub-core/fs/minix.c: Use definitions instead of runtime version
22261 checking.
22262 * grub-core/fs/minix2.c: New file.
22263
22264 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22265
22266 Add new --boot-directory option to replace --root-directory
22267
22268 * util/grub-install.in: Add new --boot-directory option
22269 * util/grub-reboot.in: Likewise.
22270 * util/grub-set-default.in: Likewise.
22271
22272 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22273
22274 * util/grub-mkconfig.in: Use new variable.
22275
22276 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22277
22278 * configure.ac: Define some useful variables.
22279
22280 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22283 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22284 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22285 Use terminfo and don't use cursor-on/cursor-off unless it's known
22286 to work.
22287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22288 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22289
22290 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
22291
22292 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22293 starts with "(,", fill the drive containing the loaded image in
22294 between those two characters, but expect that a full partition
22295 specification including partition map names will follow.
22296
22297 2010-09-08 Robert Millan <rmh@gnu.org>
22298
22299 * configure.ac: Remove `--enable-grub-fstest' option.
22300 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22301
22302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22303 `grub-fstest' instead of `grub-probe' for readability verification.
22304 * util/grub-probe.c (probe): Remove readability verification kludge.
22305
22306 2010-09-08 Robert Millan <rmh@gnu.org>
22307
22308 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22309 initializing `GRUB_FS'.
22310
22311 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22312
22313 Not command (!) support to GRUB script.
22314
22315 * tests/grub_script_not.in: New test.
22316 * Makefile.util.def: Rules for new test.
22317
22318 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22319 ! command as a special case.
22320 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22321
22322 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22323
22324 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22325 grub_free.
22326
22327 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22328
22329 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22330
22331 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22332
22333 * docs/grub.texi (Shell-like scripting): Documentation for break,
22334 continue, shift and return commands.
22335
22336 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 Rename CD-ROM to cd on BIOS.
22339
22340 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22341 "cd".
22342 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22343
22344 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22347 * util/grub-probe.c (main): Likewise.
22348 * util/i386/pc/grub-setup.c (main): Likewise.
22349 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22350 Reported and debugged by: alexxy
22351
22352 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22355 diagnostic info.
22356
22357 2010-09-05 Jo Shields <directhex@apebox.org>
22358
22359 * util/grub.d/30_os-prober.in: Add missing classes.
22360
22361 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * docs/grub.texi (Theme file format): Document new position format.
22364
22365 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22368 a table. Use @code instead of @verbatim.
22369
22370 2010-09-05 Colin D Bennett <colin@gibibit.com>
22371
22372 Gfxmenu documentation.
22373
22374 * docs/grub.texi (Theme file format): New chapter.
22375
22376 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22377
22378 * grub-core/Makefile.core.def (xzio): New module.
22379 * grub-core/io/xzio.c: New file.
22380 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22381 * grub-core/lib/xzembed/xz_config.h: Likewise.
22382 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22383 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22384 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22385 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22386 * grub-core/lib/xzembed/xz_private.h: Likewise.
22387 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22388 * include/grub/file.h (grub_file_filter_id): New compression filter
22389 GRUB_FILE_FILTER_XZIO.
22390
22391 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22394 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22395 size.
22396
22397 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22400 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22401
22402 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 Uncompressed checksum support.
22405
22406 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22407 (check_list): New parameter uncompress.
22408 (grub_cmd_hashsum): Handle --uncompress.
22409
22410 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 Reintroduce testload.
22413
22414 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22415 from here ...
22416 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22417 (GRUB_MOD_INIT): New function.
22418 (GRUB_MOD_FINI): Likewise.
22419 * grub-core/Makefile.core.def (testload): New module.
22420
22421 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22422
22423 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22424 (uint8_t): New type.
22425 (uint16_t): Likewise.
22426 (uint32_t): Likewise.
22427 (uint64_t): Likewise.
22428
22429 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22430
22431 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22432
22433 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22436 Made static.
22437 (grub_gzfile_open): Removed. All users updated.
22438 (GRUB_MOD_INIT): New function.
22439 (GRUB_MOD_FINI): Likewise.
22440 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22441 (grub_file_filters_enabled): Likewise.
22442 (grub_file_open): Handle filters.
22443 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22444 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22445 * include/grub/file.h (grub_file_filter_id_t): New type.
22446 (grub_file_filter_t): Likewise.
22447 (grub_file_filters_all): New extern variable.
22448 (grub_file_filters_enabled): Likewise.
22449 (grub_file_filter_register): New inline function.
22450 (grub_file_filter_unregister): Likewise.
22451 (grub_file_filter_disable): Likewise.
22452 (grub_file_filter_disable_compression): Likewise.
22453 * include/grub/gzio.h: Removed.
22454
22455 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22456
22457 Filename expansion support for wildcards in GRUB script.
22458
22459 * tests/grub_script_expansion.in: New test.
22460 * Makefile.util.def: Rule for new test.
22461
22462 * grub-core/commands/wildcard.c: New file, implements filename
22463 expansion support for GRUB script.
22464 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22465 * grub-core/script/argv.c: Cosmetic changes.
22466 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22467 Refactored to perform wildcard expansion on arguments.
22468 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22469 struct.
22470
22471 * tests/util/grub-shell.in: Fix quoting for read input.
22472
22473 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22474
22475 Support for updating environment variables with matched substrings
22476 of regexp.
22477
22478 * tests/grub_cmd_regexp.in: New test.
22479 * Makefile.util.def: Rule for new test.
22480
22481 * grub-core/commands/regexp.c: New option -s to update environment
22482 variables with regexp matches.
22483
22484 2010-09-04 Szymon Janc <szymon@janc.net.pl>
22485
22486 * include/grub/file.h (grub_file): New member not_easly_seekable.
22487 (grub_file_seekable): New inline function.
22488 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22489 easily seekable.
22490 (grub_gzio_open): Set not_easly_seekable.
22491 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22492 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22493
22494 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22495
22496 Support for options to appear multiple times on cmdline.
22497
22498 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22499 * grub-core/commands/extcmd.c: Support for repeatable option.
22500 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22501 repeatable option support.
22502
22503 Refactor menuentry into a regular command.
22504
22505 * grub-core/commands/menuentry.c: New file, menuentry command
22506 implementation.
22507 * grub-core/Makefile.core.def: Rule update for normal.mod.
22508 * grub-core/normal/main.c: Moved menuentry creation to
22509 grub-core/commands/menuentry.c.
22510 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22511 (grub_menu_execute_entry_real): Removed.
22512 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22513 function.
22514 (grub_script_execute_menuentry): Removed.
22515 * grub-core/script/parser.y (menuentry): Removed.
22516 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22517 * grub-core/script/yylex.l (menuentry): Removed.
22518 * include/grub/menu.h (grub_menu_init): New prototype.
22519 (grub_menu_fini): New prototype.
22520 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22521 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22522 (grub_script_execute_sourcecode): New prototype.
22523
22524 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22525
22526 "return" command for GRUB script functions.
22527
22528 * tests/grub_script_return.in: New test.
22529 * Makefile.util.def: Rules for new test.
22530
22531 * grub-core/script/execute.c (grub_script_return): New function.
22532 * grub-core/script/main.c: Register/unregister return commaond.
22533 * include/grub/script_sh.h (grub_script_return): New prototype.
22534
22535 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22536
22537 "setparams" command to update positional parameters.
22538
22539 * tests/grub_script_setparams.in: New test.
22540 * Makefile.util.def: Rules for new test.
22541
22542 * grub-core/script/argv.c (grub_script_argv_make): New function.
22543 * grub-core/script/execute.c (replace_scope): New function.
22544 (grub_script_setparams): New function.
22545 * grub-core/script/lexer.c: Remove unused variables.
22546 * grub-core/script/main.c: Register/unregister setparams command.
22547 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22548 (grub_script_setparams): New prototype.
22549
22550 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22551
22552 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22553 grub_free order.
22554
22555 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22556
22557 Support for passing block of commands as an argument to extcmds.
22558
22559 * Makefile.util.def: Rules for new test.
22560 * tests/grub_script_blockarg.in: New test.
22561 * grub-core/tests/test_blockarg.c: New file, block argument
22562 command used in the test.
22563
22564 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22565 (grub_register_extcmd_prio): New function prototype.
22566 (grub_extcmd_dispatcher): New function prototype.
22567 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22568 type.
22569 * include/grub/script_sh.h (struct grub_script): New members
22570 `children', `next_siblings' and `refcnt' for block arguments and
22571 reference counting.
22572 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22573 (grub_script_arg): New member `script' for block argument.
22574 (grub_script_argv): New member `script' for block argument.
22575 (grub_parser_param): New member `scripts' for block argument.
22576 (grub_script_mem_free): New extern function prototype.
22577 (grub_script_ref): New function prototype.
22578 (grub_script_unref): New function prototype.
22579
22580 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22581 extcmd form to support block arguments.
22582 * grub-core/script/argv.c: Block arguments support.
22583 * grub-core/script/execute.c: Likewise.
22584 * grub-core/script/lexer.c: Likewise.
22585 * grub-core/script/main.c: Likewise.
22586 * grub-core/script/script.c: Likewise.
22587 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22588 non-terminals.
22589
22590 * grub-core/commands/acpi.c: Update extcmd implementations with
22591 grub_extcmd_context_t.
22592 * grub-core/commands/cat.c: Likewise.
22593 * grub-core/commands/echo.c: Likewise.
22594 * grub-core/commands/extcmd.c: Likewise.
22595 * grub-core/commands/hashsum.c: Likewise.
22596 * grub-core/commands/hdparm.c: Likewise.
22597 * grub-core/commands/help.c: Likewise.
22598 * grub-core/commands/hexdump.c: Likewise.
22599 * grub-core/commands/i386/cpuid.c: Likewise.
22600 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22601 * grub-core/commands/i386/pc/halt.c: Likewise.
22602 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22603 * grub-core/commands/iorw.c: Likewise.
22604 * grub-core/commands/keystatus.c: Likewise.
22605 * grub-core/commands/loadenv.c: Likewise.
22606 * grub-core/commands/ls.c: Likewise.
22607 * grub-core/commands/lspci.c: Likewise.
22608 * grub-core/commands/memrw.c: Likewise.
22609 * grub-core/commands/probe.c: Likewise.
22610 * grub-core/commands/search_wrap.c: Likewise.
22611 * grub-core/commands/setpci.c: Likewise.
22612 * grub-core/commands/sleep.c: Likewise.
22613 * grub-core/disk/loopback.c: Likewise.
22614 * grub-core/hello/hello.c: Likewise.
22615 * grub-core/loader/i386/bsd.c: Likewise.
22616 * grub-core/loader/xnu.c: Likewise.
22617 * grub-core/term/gfxterm.c: Likewise.
22618 * grub-core/term/serial.c: Likewise.
22619 * grub-core/tests/lib/functional_test.c: Likewise.
22620
22621 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22622
22623 Multi-line quoted strings support.
22624
22625 * grub-core/script/lexer.c (append_newline): Removed.
22626 (grub_script_lexer_yywrap): Refactored.
22627 (grub_script_lexer_init): Refactored.
22628 * grub-core/script/yylex.l (yywrap): New function.
22629 (grub_lexer_resplit): New function.
22630 (grub_lexer_unput): New function.
22631 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22632 and resplit.
22633 * tests/grub_script_echo1.in: Added few more testcases.
22634
22635 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 * grub-core/kern/misc.c: Don't add abort alias in utils.
22638 Reported by: echoline.
22639
22640 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22641
22642 Add missing files into "make dist" tarball for other platforms.
22643
22644 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22645 * conf/Makefile.common (dist_noinst_DATA): New variable.
22646 * conf/Makefile.extra-dist: Added missing make dist files.
22647 * grub-core/Makefile.core.def: Likewise.
22648
22649 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 Compress grub_prefix.
22652
22653 * grub-core/boot/i386/pc/lnxboot.S: Use
22654 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22655 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22656 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22657 GRUB_MACHINE_PREFIX_END. All users updated.
22658 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22659 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22660 + 0x40.
22661 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22662 * util/grub-mkimage.c (image_target_desc): Change data_end to
22663 prefix_end. All users updated.
22664
22665 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22666
22667 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22668 value.
22669 (grub_openbsd_boot): Likewise.
22670 (grub_netbsd_boot): Likewise.
22671 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22672 (grub_xnu_boot): Likewise.
22673
22674 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 * configure.ac: Clean LIBS variable after tests.
22677
22678 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22679
22680 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22681
22682 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22683
22684 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22685 echo if libdevmapper will be used.
22686
22687 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22688
22689 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22690 constant for the same file.
22691
22692 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22695
22696 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22697
22698 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22699 grub-core/*.pp.
22700
22701 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22702
22703 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22704 required by the boot protocol.
22705
22706 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22707 ebp and edi members.
22708 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22709 state.ebp and state.edi.
22710 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22711 %ebp and %edi according to grub_relocator32_ebp and
22712 grub_relocator32_edi respectively.
22713 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22714 and state.edi.
22715
22716 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22717
22718 Add i386-pc-pxe image target.
22719
22720 * util/grub-mkimage.c (image_target_desc): New enum value
22721 IMAGE_I386_PC_PXE.
22722 (image_targets): New target i386-pc-pxe.
22723 (generate_image): Handle i386-pc-pxe image.
22724
22725 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 Fix grub_pxe_scan.
22728
22729 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22730 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22731 All users updated.
22732 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22733 (grub_pxe_pxenv): Correct type.
22734
22735 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22736
22737 * NEWS: Document most of the important changes since 1.98.
22738
22739 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22740
22741 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22742 generated manual page) a little.
22743
22744 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22745
22746 * docs/grub.texi: Add myself as an author.
22747
22748 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 * Makefile.util.def (libgrub.a): Add missing sunpc.
22751 Reported by: Seth Goldberg.
22752
22753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 Interrupt wrapping and code simplifications.
22756
22757 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22758 x86_noieee1275 which are functionaly equivalent in this case.
22759 (grub-install): Make source on each platform explicit. Enable on
22760 all noemu.
22761 * gentpl.py (x86_efi_pc): Removed group.
22762 (x86_noefi): Likewise.
22763 (i386_noefi): Likewise.
22764 (x86_noieee1275): Likewise.
22765 (i386_noieee1275): Likewise.
22766 (i386_noefi_noieee1275): Likewise.
22767 (i386_pc_qemu_coreboot): Likewise.
22768 (i386_coreboot_multiboot): Likewise.
22769 (i386_pc_coreboot_multiboot_qemu): Likewise.
22770 (x86_noefi_mips): Likewise.
22771 (noieee1275): Likewise.
22772 (ieee1275_mips): Likewise.
22773 (noemu_noieee1275): Likewise.
22774 (cmos): New group.
22775 (usb): Likewise.
22776 (videoinkernel): Likewise.
22777 (videomodules): Likewise.
22778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
22779 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22780 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22781 include/grub/loader.h, include/grub/msdos_partition.h,
22782 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22783 include/grub/machine/console.h, include/grub/machine/vga.h,
22784 include/grub/machine/vbe.h, include/grub/machine/init.h,
22785 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22786 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
22787 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
22788 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22789 * grub-core/Makefile.core.def (kernel): Explicit the source for
22790 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22791 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22792 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22793 Use videoinkernel tag.
22794 (usb): Enable on all usb.
22795 (usbserial_common): Likewise.
22796 (usbserial_pl2303): Likewise.
22797 (usbserial_ftdi): Likewise.
22798 (uhci): Enable on all x86.
22799 (ohci): Enable on all pci.
22800 (cmostest): Enable on all CMOS.
22801 (acpi): Include commands/acpi.c on all platforms.
22802 (halt): Add relevant lib/*/halt.c.
22803 (hdparm): Enable on all pci.
22804 (lspci): Likewise.
22805 (usbtest): Enable on all usb.
22806 (ata): Enable on all pci.
22807 (ata_pthru): Likewise.
22808 (usbms): Enable on all usb.
22809 (usb_keyboard): Likewise.
22810 (font): Use tag videomodules.
22811 (bufio): Likewise.
22812 (datetime): Use tag cmos. Enable on all noemu.
22813 (mmap): Use tags common and x86.
22814 (gfxterm): Use tag videomodules.
22815 (bitmap): Likewise.
22816 (bitmap_scale): Likewise.
22817 (video_fb): Likewise.
22818 (video): Likewise.
22819 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22820 adjust padding accordingly. All users updated.
22821 (grub_ohci_transaction): Fix bad format specification.
22822 (GRUB_MOD_INIT): Add asserts for struct size.
22823 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22824 (grub_alloc_td): Likewise.
22825 (grub_free_queue): Likewise.
22826 (grub_uhci_transfer): Likewise.
22827 (grub_uhci_transaction): Fix bad format specification.
22828 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22829 (grub_usb_bulk_readwrite): Likewise.
22830 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22831 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22832 Made static.
22833 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22834 Made static.
22835 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22836 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22837 Transformed into C.
22838 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22839 Moved from here ...
22840 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22841 ... here. Transformed into C. Made static.
22842 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22843 Moved from here ...
22844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22845 ... here. Transformed into C. Made static.
22846 * grub-core/kern/i386/pc/startup.S
22847 (grub_biosdisk_check_int13_extensions): Moved from here ...
22848 * grub-core/disk/i386/pc/biosdisk.c
22849 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22850 Made static.
22851 * grub-core/kern/i386/pc/startup.S
22852 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22853 * grub-core/disk/i386/pc/biosdisk.c
22854 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22855 Transformed into C. Made static.
22856 * grub-core/kern/i386/pc/startup.S
22857 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22858 * grub-core/disk/i386/pc/biosdisk.c
22859 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22860 Transformed into C. Made static.
22861 * grub-core/kern/i386/pc/startup.S
22862 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22863 * grub-core/disk/i386/pc/biosdisk.c
22864 (grub_biosdisk_get_diskinfo_standard): ... here.
22865 Transformed into C. Made static.
22866 * grub-core/kern/i386/pc/startup.S
22867 (grub_biosdisk_get_num_floppies): Moved from here ...
22868 * grub-core/disk/i386/pc/biosdisk.c
22869 (grub_biosdisk_get_num_floppies): ... here.
22870 Transformed into C. Made static.
22871 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22872 New function.
22873 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22874 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22875 Transformed into C. Made static.
22876 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22877 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22878 Transformed into C. Made static.
22879 * grub-core/kern/i386/ieee1275/init.c: Removed.
22880 * grub-core/kern/i386/misc.S: Likewise.
22881 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22882 Splitted from here ...
22883 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22884 Transformed into C. Made static. All users updated.
22885 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22886 Transformed into C. Made static. All users updated.
22887 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22888 Moved from here...
22889 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22890 Transformed into C. Made static. All users updated.
22891 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22892 Moved from here...
22893 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22894 Transformed into C. Made static. All users updated.
22895 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22896 Removed (replaced by C version).
22897 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22898 Moved from here...
22899 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22900 Transformed into C. Made static.
22901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22902 Moved from here...
22903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22904 ... here. Transformed into C.
22905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22906 Moved from here...
22907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22908 ... here. Transformed into C.
22909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22910 Moved from here...
22911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22912 ... here. Transformed into C. Made static.
22913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22914 Moved from here...
22915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22916 ... here. Transformed into C.
22917 * grub-core/kern/i386/pc/startup.S
22918 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22919 * grub-core/video/i386/pc/vbe.c
22920 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
22921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22922 Moved from here...
22923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22924 ... here. Transformed into C.
22925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22926 Moved from here...
22927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22928 ... here. Transformed into C.
22929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22930 Moved from here...
22931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22932 ... here. Transformed into C.
22933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22934 Moved from here...
22935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22936 ... here. Transformed into C.
22937 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22938 Moved from here...
22939 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22940 ... here. Transformed into C. Made static.
22941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22942 Moved from here...
22943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22944 ... here. Transformed into C. Made static.
22945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22946 Moved from here...
22947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22948 ... here. Transformed into C. Made static.
22949 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22950 pxe_rm_entry as third argument.
22951 (grub_bios_interrupt): New function.
22952 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22953 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22954 of calling grub_stop.
22955 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22956 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22957 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22958 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22959 * grub-core/lib/i386/halt.c: Moved from here ...
22960 * grub-core/lib/i386/halt.c: ... here.
22961 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22962 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22963 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22964 grub_stop_floppy.
22965 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22966 * include/grub/i386/coreboot/init.h: Removed.
22967 * include/grub/i386/multiboot/init.h: Likewise.
22968 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22969 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22970 * include/grub/i386/pc/int.h: New file.
22971 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22972 (grub_pxe_scan): Removed.
22973 (grub_pxe_call): Update prototype.
22974 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22975 prototypes.
22976 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22977 * include/grub/i386/qemu/init.h: Removed.
22978 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22979 noreturn.
22980 (grub_halt): Likewise.
22981 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22982 (grub_reboot): Likewise.
22983 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22984 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
22985 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22986
22987 2010-08-30 Robert Millan <rmh@gnu.org>
22988
22989 * NEWS: Document addition of ZFS support in `grub-install' and
22990 `grub-mkconfig'.
22991
22992 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22993
22994 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22995 dprintf output.
22996
22997 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22998
22999 Remove leftover embedding of font objects.
23000
23001 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23002 * util/grub-install.in (font): Removed.
23003 * util/grub-mkimage.c (generate_image): Remove font support. All users
23004 updated.
23005
23006 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23007
23008 Remove leftover embedding of font objects.
23009
23010 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23011 * util/grub-install.in (font): Removed.
23012 * util/grub-mkimage.c (generate_image): Remove font support. All users
23013 updated.
23014
23015 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23016
23017 * docs/grub.texi (Network): Fix reference to pxe_blksize.
23018 Reported by: Ian Turner
23019
23020 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23021
23022 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23023 timeout to avoid indefinite boot stalling.
23024
23025 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23026
23027 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23028 (grub_env_write_color_highlight): Likewise.
23029
23030 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * grub-core/normal/term.c (print_more): Return to normal and not
23033 to standard state after printing "---MORE---".
23034
23035 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23038 Mask out the bit 0x80 since it has other meaning that specifiing color.
23039
23040 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 New relocator. Allows for more kernel support and more straightforward
23043 loader writing.
23044
23045 * Makefile.am (BOOTTARGET): New variable.
23046 (QEMU32): Likewise.
23047 (linux.init.x86_64): New target.
23048 (linux.init.i386): Likewise.
23049 (multiboot.elf): Likewise.
23050 (kfreebsd.elf): Likewise.
23051 (kfreebsd.aout): Likewise.
23052 (pc-chainloader.elf): Likewise.
23053 (pc-chainloader.bin): Likewise.
23054 (ntldr.elf): Likewise.
23055 (ntldr.bin): Likewise.
23056 (multiboot2.elf): Likewise.
23057 (kfreebsd.init.x86_64): Likewise.
23058 (kfreebsd.init.i386): Likewise.
23059 (knetbsd.init.i386): Likewise.
23060 (kopenbsd.init.i386): Likewise.
23061 (knetbsd.init.x86_64): Likewise.
23062 (kopenbsd.init.x86_64): Likewise.
23063 (linux-initramfs.i386): Likewise.
23064 (linux-initramfs.x86_64): Likewise.
23065 (kfreebsd-mfsroot.i386.img): Likewise.
23066 (knetbsd.image.i386): Likewise.
23067 (kopenbsd.image.i386): Likewise.
23068 (kopenbsd.image.x86_64): Likewise.
23069 (knetbsd.miniroot-image.i386.img): Likewise.
23070 (kfreebsd-mfsroot.x86_64.img): Likewise.
23071 (knetbsd.image.x86_64): Likewise.
23072 (knetbsd.miniroot-image.x86_64.img): Likewise.
23073 (kfreebsd-mfsroot.i386.gz): Likewise.
23074 (bootcheck-kfreebsd-i386): Likewise.
23075 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23076 (bootcheck-kfreebsd-x86_64): Likewise.
23077 (knetbsd.miniroot-image.i386.gz): Likewise.
23078 (bootcheck-knetbsd-i386): Likewise.
23079 (bootcheck-kopenbsd-i386): Likewise.
23080 (bootcheck-kopenbsd-x86_64): Likewise.
23081 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23082 (bootcheck-knetbsd-x86_64): Likewise.
23083 (bootcheck-linux-i386): Likewise.
23084 (bootcheck-linux-x86_64): Likewise.
23085 (bootcheck-linux16-i386): Likewise.
23086 (bootcheck-linux16-x86_64): Likewise.
23087 (bootcheck-multiboot): Likewise.
23088 (bootcheck-multiboot2): Likewise.
23089 (bootcheck-kfreebsd-aout): Likewise.
23090 (bootcheck-pc-chainloader): Likewise.
23091 (bootcheck-ntldr): Likewise.
23092 (CLEANFILES): Add new targets.
23093 (BOOTCHECKS): New variable.
23094 (.PHONY): Add bootchecks.
23095 (SUCCESSFUL_BOOT_STRING): New variable.
23096 (BOOTCHECK_TIMEOUT): Likewise.
23097 (bootcheck): New target
23098 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23099 * configure.ac: Correct efiemu excuse.
23100 * docs/grub.texi (Supported kernels): New chapter.
23101 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23102 include/grub/mm_private.h. Simplify inclusion of
23103 include/grub/boot.h, include/grub/loader.h
23104 and include/grub/msdos_partition.h
23105 (KERNEL_HEADER_FILES) [i386_coreboot]:
23106 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23107 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23108 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23109 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23110 include/grub/machine/loader.h.
23111 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23112 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23113 extra_dist.
23114 (pci.mod): Enable on i386-multiboot.
23115 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23116 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23117 i386-qemu.
23118 (relocator.mod): Rewritten.
23119 (aout.mod): Enable on all x86.
23120 (bsd.mod): Likewise.
23121 (ntldr.mod): New module.
23122 (linux.mod): Use loader/i386/linux.c on all x86.
23123 (xnu.mod): Enable on all x86.
23124 (vga_text.mod): disable on EFI and QEMU.
23125 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23126 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23127 * grub-core/efiemu/loadcore.c: Likewise.
23128 * grub-core/efiemu/main.c: Likewise.
23129 (grub_efiemu_exit_boot_services): Removed.
23130 (grub_efiemu_finish_boot_services): Likewise.
23131 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23132 function.
23133 * grub-core/efiemu/i386/nocfgtables.c: New file.
23134 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23135 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23136 (grub_efi_finish_boot_services): Moved from here ...
23137 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23138 Fille finish memory map and related data.
23139 (finish_mmap_buf): New variable.
23140 (grub_efi_uintn_t finish_mmap_size): Likewise.
23141 (grub_efi_uintn_t finish_key): Likewise.
23142 (grub_efi_uintn_t finish_desc_size): Likewise.
23143 (grub_efi_uint32_t finish_desc_version): Likewise.
23144 (grub_efi_is_finished): Likewise.
23145 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23146 finished.
23147 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23148 (grub_elf64_phdr_iterate): Likewise.
23149 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23150 (grub_os_area_size): Likewise.
23151 (grub_machine_init): Don't reserve os area.
23152 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23153 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23154 * grub-core/kern/i386/loader.S: Removed.
23155 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23156 (grub_os_area_size): Likewise.
23157 (grub_machine_init): Don't reserve os area.
23158 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23159 Don't call grub_dl_unload_all.
23160 Don't include loader.S.
23161 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23162 Declare the memory after _end as available.
23163 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
23164 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
23165 (GRUB_MM_ALLOC_MAGIC): Moved from here...
23166 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23167 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23168 * include/grub/mm_private.h (grub_mm_header): ... here.
23169 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23170 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
23171 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23172 (grub_mm_region): ..here. Removed addr. Added pre_size.
23173 All users updated.
23174 * grub-core/kern/mm.c (base): Renamed to ...
23175 (grub_mm_base): ... this. Made global.
23176 (grub_real_malloc): Alloc from end of region.
23177 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23178 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23179 * grub-core/kern/powerpc/cache_flush.S: ... here.
23180 * grub-core/lib/efi/relocator.c: New file.
23181 * grub-core/lib/i386/relocator.c: Rewritten.
23182 * grub-core/lib/i386/relocator16.S: New file.
23183 * grub-core/lib/i386/relocator32.S: Likewise.
23184 * grub-core/lib/i386/relocator64.S: Likewise.
23185 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23186 * grub-core/lib/i386/relocator_common.S: New file.
23187 * grub-core/lib/ieee1275/relocator.c: Likewise.
23188 * grub-core/lib/mips/relocator.c: Rewritten.
23189 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23190 stylistic adjustments.
23191 * grub-core/lib/powerpc/relocator.c: New file.
23192 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23193 * grub-core/lib/relocator.c: Rewritten.
23194 * grub-core/lib/x86_64/relocator_asm.S: New file.
23195 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23196 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23197 (bsd_tag): New struct.
23198 (tags): New variable.
23199 (tags_last): Likewise.
23200 (netbsd_module): New struct.
23201 (netbsd_mods): New variable.
23202 (netbsd_mods_last): Likewise.
23203 (openbsd_opts): New parameter "serial".
23204 (OPENBSD_SERIAL_ARG): New definition.
23205 (netbsd_opts): New parameter "serial".
23206 (NETBSD_SERIAL_ARG): New definition.
23207 (grub_freebsd_add_meta): Reorganised into ...
23208 (grub_bsd_add_meta): ...this. All users updated.
23209 (grub_freebsd_add_mmap): Reorganised into ...
23210 (generate_e820_mmap): ...this...
23211 (grub_bsd_add_mmap): ...and this. All users updated.
23212 (grub_freebsd_list_modules): Use tags.
23213 (grub_netbsd_add_meta_module): New function.
23214 (grub_netbsd_list_modules): Likewise.
23215 (grub_freebsd_boot): Use relocator and finish EFI.
23216 (grub_openbsd_boot): Likewise.
23217 (grub_netbsd_setup_video): New function.
23218 (grub_netbsd_add_modules): Likewise.
23219 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23220 and finish EFI.
23221 (grub_bsd_unload): Unload tags.
23222 (grub_bsd_load_aout): Use relocator.
23223 (grub_bsd_elf32_size_hook): New function.
23224 (grub_bsd_elf32_hook): Use relocator.
23225 (grub_bsd_elf64_size_hook): New function.
23226 (grub_bsd_elf64_hook): Use relocator.
23227 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23228 (grub_bsd_load): Zero-out openbsd_ramdisk.
23229 (grub_bsd_load): Use relocator.
23230 (grub_cmd_openbsd): Support serial.
23231 (grub_cmd_netbsd): Support modules.
23232 (grub_cmd_freebsd_module): Use relocator.
23233 (grub_netbsd_module_load): New function.
23234 (grub_cmd_netbsd_module): Likewise.
23235 (grub_cmd_openbsd_ramdisk): Likewise.
23236 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23237 kopenbsd_ramdisk.
23238 (GRUB_MOD_FINI): Unregister new commands.
23239 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23240 (grub_freebsd_load_elfmodule_obj): Use relocator.
23241 (grub_freebsd_load_elfmodule): Likewise.
23242 (grub_freebsd_load_elf_meta): Likewise.
23243 (grub_netbsd_load_elf_meta): New function.
23244 (grub_openbsd_find_ramdisk): Likewise.
23245 * grub-core/loader/i386/bsd_helper.S: Removed.
23246 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23247 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23248 * grub-core/loader/i386/efi/linux.c: Likewise.
23249 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23250 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23251 (DEFAULT_VIDEO_MODE): Likewise.
23252 (real_mode_target): New variable.
23253 (prot_mode_target): Likewise.
23254 (initrd_mem_target): Likewise.
23255 (relocator): Likewise.
23256 (efi_mmap_buf): Likewise.
23257 (efi_mmap_size): Likewise.
23258 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23259 (free_pages): Use relocator.
23260 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23261 (grub_linux_setup_video): Return error.
23262 (grub_linux_trampoline_start): Removed.
23263 (grub_linux_trampoline_end): Likewise.
23264 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23265 andd video parameters depending on firmware.
23266 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23267 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23268 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23269 (grub_cmd_initrd): Use relocator.
23270 * grub-core/loader/i386/linux_trampoline.S: Removed.
23271 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23272 (elf_sec_entsize): Likewise.
23273 (elf_sec_shstrndx): Likewise.
23274 (elf_sections): Likewise.
23275 (grub_multiboot_load): Use relocator.
23276 (grub_multiboot_get_mbi_size): Account for sections.
23277 (grub_multiboot_make_mbi): Use relocator and support sections.
23278 (grub_multiboot_add_elfsyms): New function.
23279 (grub_multiboot_free_mbi): Free sections.
23280 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23281 (grub_linux_real_target): Likewise.
23282 (grub_linux_real_chunk): Likewise.
23283 (grub_linux16_prot_size): Likewise.
23284 (grub_linux16_boot): Use relocator.
23285 (grub_linux_unload): Unload relocator.
23286 (grub_cmd_linux): Use relocator.
23287 (grub_cmd_initrd): Likewise.
23288 * grub-core/loader/i386/pc/ntldr.c: New file.
23289 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23290 Don't try to guess CPU frequency.
23291 (grub_xnu_set_video): Stretch bitmap.
23292 (grub_xnu_boot): Use relocator.
23293 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23294 (grub_linux_unload): Free relocator.
23295 (grub_linux_load32): Use relocator.
23296 (grub_linux_load64): Likewise.
23297 (grub_cmd_initrd): Likewise.
23298 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23299 (grub_multiboot_unload): Unload relocator.
23300 (grub_cmd_multiboot): Use relocator.
23301 (grub_cmd_module): Likewise.
23302 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23303 Use relocator and support sections.
23304 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23305 (elf_sec_entsize): Likewise.
23306 (elf_sec_shstrndx): Likewise.
23307 (elf_sections): Likewise.
23308 (grub_multiboot_load): Use relocator.
23309 (grub_multiboot_get_mbi_size): Account for sections.
23310 (grub_multiboot_make_mbi): Use relocator and support sections.
23311 (grub_multiboot_add_elfsyms): New function.
23312 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23313 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23314 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23315 Prototype changed. All users updated.
23316 (grub_xnu_align_heap): Simplified.
23317 (grub_xnu_writetree_toheap): Likewise.
23318 (grub_xnu_unload): Unload relocator.
23319 (grub_cmd_xnu_kernel): Use relocator.
23320 (grub_cmd_xnu_kernel64): Likewise.
23321 (grub_xnu_register_memory): Simplified.
23322 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
23323 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23324 EFI is finished.
23325 (grub_console_checkkey): Likewise.
23326 (grub_console_getkey): Likewise.
23327 (grub_console_getwh): Likewise.
23328 (grub_console_getxy): Likewise.
23329 (grub_console_gotoxy): Likewise.
23330 (grub_console_cls): Likewise.
23331 (grub_console_setcolorstate): Likewise.
23332 (grub_console_setcursor): Likewise.
23333 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23334 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23335 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23336 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23337 * grub-core/tests/boot/kernel-8086.S: Likewise.
23338 * grub-core/tests/boot/kernel-i386.S: Likewise.
23339 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23340 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23341 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23342 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23343 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23344 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23345 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23346 * grub-core/tests/boot/linux.cfg: Likewise.
23347 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23348 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23349 * grub-core/tests/boot/linux16.cfg: Likewise.
23350 * grub-core/tests/boot/multiboot.cfg: Likewise.
23351 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23352 * grub-core/tests/boot/ntldr.cfg: Likewise.
23353 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23354 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23355 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23356 New definition.
23357 * include/grub/dl.h (grub_dl_unload_all): Removed.
23358 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23359 (grub_efi_finish_boot_services): Change prototype.
23360 (grub_efi_is_finished): New variable.
23361 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23362 Changed prototype.
23363 (grub_efiemu_finish_boot_services): Removed.
23364 (grub_machine_efiemu_init_tables): New prototype.
23365 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23366 (grub_elf64_phdr_iterate): Likewise.
23367 * include/grub/i386/bsd.h: Include relocator.h.
23368 (freebsd_tag_header): New struct.
23369 (grub_openbsd_bios_mmap): Removed.
23370 (grub_unix_real_boot): Removed.
23371 (grub_freebsd_load_elfmodule32): Changed prototype.
23372 (grub_freebsd_load_elfmodule_obj64): Likewise.
23373 (grub_freebsd_load_elf_meta32): Likewise.
23374 (grub_freebsd_load_elf_meta64): Likewise.
23375 (grub_freebsd_add_meta): Removed.
23376 (grub_netbsd_load_elf_meta32): New prototype.
23377 (grub_netbsd_load_elf_meta64): Likewise.
23378 (grub_bsd_add_meta): Likewise.
23379 (grub_openbsd_ramdisk_descriptor): New struct.
23380 (grub_openbsd_find_ramdisk32): New prototype.
23381 (grub_openbsd_find_ramdisk64): Likewise.
23382 * include/grub/i386/coreboot/loader.h: Removed.
23383 * include/grub/i386/efi/loader.h: Likewise.
23384 * include/grub/i386/ieee1275/loader.h: Likewise.
23385 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23386 to grub_uint32_t.
23387 * include/grub/i386/loader.h: Removed.
23388 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23389 value.
23390 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23391 (grub_phys_addr_t): New type.
23392 (grub_vtop): New inline function.
23393 (grub_map_memory): Likewise.
23394 (grub_unmap_memory): Likewise.
23395 * include/grub/i386/multiboot/loader.h: Removed.
23396 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23397 (NETBSD_BTINFO_CONSOLE): New definition.
23398 (NETBSD_BTINFO_SYMTAB): Likewise.
23399 (NETBSD_BTINFO_MODULES): Likewise.
23400 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23401 (grub_netbsd_bootinfo): New struct.
23402 (grub_netbsd_btinfo_common): Use explicit bitsize.
23403 (grub_netbsd_btinfo_mmap_entry): Removed.
23404 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23405 (grub_netbsd_btinfo_bootdisk): New struct.
23406 (grub_netbsd_btinfo_symtab): Likewise.
23407 (grub_netbsd_btinfo_serial): Likewise.
23408 (grub_netbsd_btinfo_modules): Likewise.
23409 (grub_netbsd_btinfo_framebuf): Likewise.
23410 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23411 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23412 Likewise.
23413 (grub_openbsd_bootargs): Use explicit bitsize.
23414 (grub_openbsd_bootarg_console): New struct.
23415 (GRUB_OPENBSD_COM_MAJOR): New definition.
23416 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23417 * include/grub/i386/pc/efiemu.h: Removed.
23418 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23419 * include/grub/i386/qemu/loader.h: Removed.
23420 * include/grub/i386/relocator.h: Rewritten.
23421 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23422 * include/grub/mips/memory.h: New file.
23423 * include/grub/mips/multiboot.h: Rewritten.
23424 * include/grub/mips/relocator.h: Rewritten.
23425 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23426 (grub_vtop): New function.
23427 (grub_map_memory): Likewise.
23428 (grub_unmap_memory): Likewise.
23429 * include/grub/misc.h (ALIGN_DOWN): New definition.
23430 * include/grub/mm.h (grub_mm_check_real): New proto.
23431 (GRUB_MM_CHECK): New definition.
23432 * include/grub/mm_private.h: New file.
23433 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23434 (grub_multiboot_get_mbi_size): Removed.
23435 (grub_multiboot_make_mbi): Change prottype.
23436 (grub_multiboot_set_accepts_video): New proto.
23437 (grub_multiboot_add_elfsyms): Likewise.
23438 (grub_multiboot_payload_eip): New variable.
23439 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23440 New prototype.
23441 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23442 New definition.
23443 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23444 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23445 * include/grub/powerpc/ieee1275/loader.h: Removed.
23446 * include/grub/powerpc/memory.h: New file.
23447 * include/grub/powerpc/relocator.h: Likewise.
23448 * include/grub/relocator.h: Likewise.
23449 * include/grub/relocator_private.h: Likewise.
23450 * include/grub/sparc64/ieee1275/loader.h: Removed.
23451 * include/grub/x86_64/memory.h: New file.
23452 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23453 (grub_xnu_heap_malloc): Likewise.
23454 (grub_xnu_heap_real_start): Removed.
23455 (grub_xnu_heap_start): Likewise.
23456 (grub_xnu_relocator): New variable.
23457 (grub_xnu_heap_target_start): Likewise.
23458 * tests/util/grub-shell.in: Support non-pc.
23459 * util/grub-mkimage.c (image_targets): Fix multiboot target.
23460
23461 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23462
23463 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23464 on malloc error.
23465 (grub_bidi_logical_to_visual): Check that malloc succeded.
23466 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23467 puts.
23468 (grub_xputs_normal): Likewise.
23469
23470 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23471
23472 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23473 extra_dist.
23474
23475 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23476
23477 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23478
23479 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23482
23483 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23486 dprintf.
23487
23488 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23489
23490 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23491
23492 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 * grub-core/normal/term.c (print_more): Fix a memory leak.
23495 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23496 (grub_xputs_normal): Likewise.
23497
23498 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23499
23500 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23501 the begining of the string
23502
23503 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23504
23505 * grub-core/script/script.c (grub_script_parse): Free parsed on
23506 failure.
23507
23508 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23511 on failure.
23512
23513 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23514
23515 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23516 return.
23517
23518 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23521 (scroll_up): Fix a memory leak.
23522
23523 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23526 errors.
23527
23528 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 Handle USB pendrives exposed as floppies.
23531
23532 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23533 floppy.
23534 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23535 Check for partitions on all devices.
23536
23537 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23538
23539 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23540 (readkey): Likewise.
23541
23542 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23543
23544 Multiple variable names support to "export" command.
23545
23546 * normal/context.c (grub_cmd_export): "export" command supports
23547 multiple variable names.
23548
23549 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23550
23551 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23552 --target=drive output to Mach device name.
23553
23554 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23555
23556 New Automake based build system for GRUB.
23557
23558 * ABOUT-NLS: New file.
23559 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23560 in Makefile.util.def file.
23561 * Makefile.util.def: New file. Autogen build definitions file for
23562 GRUB host utils.
23563 * conf/Makefile.common: New file. Common variables for GRUB host
23564 utils and target modules.
23565 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23566 * docs/Makefile.am: New file. Automake file for docs.
23567 * gentpl.py: New file. Python script to generate Autogen
23568 template.
23569 * grub-core/Makefile.am: New file. GRUB target modules' rules
23570 that doesn't fit in Makefile.core.def file.
23571 * grub-core/Makefile.core.def: New file. Autogen build
23572 definitions file for GRUB target modules.
23573 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23574 specific setjmp.S file.
23575 * po/Makefile.am: New file.
23576
23577 * .bzrignore: New ignores.
23578 * INSTALL: New requirements, without Ruby.
23579 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23580 * autogen.sh: Updated to invoke autogen as necessary.
23581 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23582 and defines for Automake conditionals.
23583 * geninit.sh: Refactoring.
23584
23585 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23586 necessary.
23587 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23588 New prototype.
23589
23590 * include/grub/test.h: Fix functional test modules' naming.
23591 * grub-core/tests/example_functional_test.c: Fix test module name.
23592
23593 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23594 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23595 * util/grub-editenv.c: Likewise.
23596 * util/grub-fstest.c: Likewise.
23597 * util/grub-mkdevicemap.c: Likewise.
23598 * util/grub-mkfont.c: Likewise.
23599 * util/grub-mkimage.c: Likewise.
23600 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23601 * util/grub-probe.c: Likewise.
23602 * util/grub-script-check.c: Likewise.
23603 * util/i386/pc/grub-setup.c: Likewise.
23604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23605
23606 * tests/util/grub-shell.in: Fix override directory path.
23607 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23608 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23609
23610 * util/lvm.c: Update #includes.
23611 * util/raid.c: Likewise.
23612 * util/resolve.c: Likewise.
23613 * grub-core/bus/emu/pci.c: Likewise.
23614 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23615 * grub-core/lib/posix_wrap/string.h: Likewise.
23616 * grub-core/kern/emu/main.c: Likewise.
23617
23618 * grub-core/gensymlist.sh: New file. Script for generating kernel
23619 symbols file.
23620 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23621
23622 * grub-core/gentrigtables.c: Fix unused variable warnings.
23623
23624 * Makefile.in: Removed.
23625 * conf/any-emu.rmk: Removed.
23626 * conf/common.rmk: Removed.
23627 * conf/i386-coreboot.rmk: Removed.
23628 * conf/i386-efi.rmk: Removed.
23629 * conf/i386-ieee1275.rmk: Removed.
23630 * conf/i386-multiboot.rmk: Removed.
23631 * conf/i386-pc.rmk: Removed.
23632 * conf/i386-qemu.rmk: Removed.
23633 * conf/i386.rmk: Removed.
23634 * conf/mips-yeeloong.rmk: Removed.
23635 * conf/mips.rmk: Removed.
23636 * conf/powerpc-ieee1275.rmk: Removed.
23637 * conf/sparc64-ieee1275.rmk: Removed.
23638 * conf/tests.rmk: Removed.
23639 * conf/x86-efi.rmk: Removed.
23640 * conf/x86_64-efi.rmk: Removed.
23641 * gendistlist.sh: Removed.
23642 * geninitheader.sh: Removed.
23643 * genkernsyms.sh.in: Removed.
23644 * genmk.rb: Removed.
23645 * gensymlist.sh.in: Removed.
23646 * mkinstalldirs: Removed.
23647 * boot: Moved ...
23648 * grub-core/boot: ... to here.
23649 * bus: Moved ...
23650 * grub-core/bus: ... to here.
23651 * commands: Moved ...
23652 * grub-core/commands: ... to here.
23653 * disk: Moved ...
23654 * grub-core/disk: ... to here.
23655 * efiemu: Moved ...
23656 * grub-core/efiemu: ... to here.
23657 * font: Moved ...
23658 * grub-core/font: ... to here.
23659 * fs: Moved ...
23660 * grub-core/fs: ... to here.
23661 * gencmdlist.sh: Moved ...
23662 * grub-core/gencmdlist.sh: ... to here.
23663 * genemuinit.sh: Moved ...
23664 * grub-core/genemuinit.sh: ... to here.
23665 * genemuinitheader.sh: Moved ...
23666 * grub-core/genemuinitheader.sh: ... to here.
23667 * genfslist.sh: Moved ...
23668 * grub-core/genfslist.sh: ... to here.
23669 * genhandlerlist.sh: Moved ...
23670 * grub-core/genhandlerlist.sh: ... to here.
23671 * genmoddep.awk: Moved ...
23672 * grub-core/genmoddep.awk: ... to here.
23673 * genmodsrc.sh: Moved ...
23674 * grub-core/genmodsrc.sh: ... to here.
23675 * genpartmaplist.sh: Moved ...
23676 * grub-core/genpartmaplist.sh: ... to here.
23677 * genparttoollist.sh: Moved ...
23678 * grub-core/genparttoollist.sh: ... to here.
23679 * genterminallist.sh: Moved ...
23680 * grub-core/genterminallist.sh: ... to here.
23681 * gentrigtables.c: Moved ...
23682 * grub-core/gentrigtables.c: ... to here.
23683 * genvideolist.sh: Moved ...
23684 * grub-core/genvideolist.sh: ... to here.
23685 * gettext: Moved ...
23686 * grub-core/gettext: ... to here.
23687 * gfxmenu: Moved ...
23688 * grub-core/gfxmenu: ... to here.
23689 * gnulib: Moved ...
23690 * grub-core/gnulib: ... to here.
23691 * hello: Moved ...
23692 * grub-core/hello: ... to here.
23693 * hook: Moved ...
23694 * grub-core/hook: ... to here.
23695 * io: Moved ...
23696 * grub-core/io: ... to here.
23697 * kern: Moved ...
23698 * grub-core/kern: ... to here.
23699 * lib: Moved ...
23700 * grub-core/lib: ... to here.
23701 * loader: Moved ...
23702 * grub-core/loader: ... to here.
23703 * mmap: Moved ...
23704 * grub-core/mmap: ... to here.
23705 * normal: Moved ...
23706 * grub-core/normal: ... to here.
23707 * partmap: Moved ...
23708 * grub-core/partmap: ... to here.
23709 * parttool: Moved ...
23710 * grub-core/parttool: ... to here.
23711 * script: Moved ...
23712 * grub-core/script: ... to here.
23713 * term: Moved ...
23714 * grub-core/term: ... to here
23715 * tests/example_functional_test.c: Moved ...
23716 * grub-core/tests/example_functional_test.c: ... to here.
23717 * tests/lib/functional_test.c: Moved ...
23718 * grub-core/tests/lib/functional_test.c: ... to here.
23719 * tests/lib/test.c: Moved ...
23720 * grub-core/tests/lib/test.c: ... to here.
23721 * video: Moved ...
23722 * grub-core/video: ... to here.
23723
23724 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23725
23726 Replace --enable-grub-emu-modules with grub-emu-lite.
23727
23728 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23729 cache.S.
23730
23731 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23732 * kern/emu/full.c: New file. For grub-emu specific initialization.
23733 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23734 * kern/emu/main.c: Call initialization function grub_emu_init.
23735
23736 * Makefile.in: Include grub-emu-lite in install.
23737 * commands/parttool.c: Use grub_no_autoload to differentiate
23738 between grub-emu and grub-emu-lite.
23739 * include/grub/misc.h: New variable grub_no_autoload.
23740
23741 * conf/any-emu.rmk: New rules for grub-emu-lite.
23742 * configure.ac: Remove --enable-grub-emu-modules.
23743 * genmk.rb: Cleanup unnecessary rules.
23744 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23745
23746 * normal/main.c: Don't load list files on grub-emu-lite.
23747 * util/misc.c (grub_arch_sync_caches): Removed.
23748
23749 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
23750
23751 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23752 grub-mkimage rather than grub-mkelfimage.
23753 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23754
23755 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23758 a key after CapsLock or NumLock. It's just a qemu bug.
23759
23760 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23761
23762 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23763 needed by libusb wrapper.
23764
23765 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23766
23767 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23768
23769 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23770
23771 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23772 --nounzip is passed.
23773
23774 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 USB hotunplugging and USB serial support.
23777
23778 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23779 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23780 (grub_uhci_transfer): Respect timeout and set *actual.
23781 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23782 non-standard length.
23783 (grub_usb_device_attach): Autoload modules.
23784 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23785 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23786 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23787 users updated.
23788 (grub_usb_add_hub): Fill nports and children.
23789 (attach_root_port): Receive hub instead of controller.
23790 All users updated. Fill hub->devices.
23791 (grub_usb_root_hub): Allocate hub->devices.
23792 (detach_device): New function.
23793 (poll_nonroot_hub): Fill children and detach devices.
23794 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23795 actual arguments. All users updated.
23796 (grub_usb_bulk_read_extended): New function.
23797 * bus/usb/serial/common.c: New file.
23798 * bus/usb/serial/ftdi.c: Likewise.
23799 * bus/usb/serial/pl2303.c: Likewise.
23800 * commands/terminal.c (handle_command): Support wildcard.
23801 * commands/usbtest.c: Output "Unknown" instead of empty string.
23802 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23803 (usbserial_common_mod_SOURCES): New variable.
23804 (usbserial_common_mod_CFLAGS): Likewise.
23805 (usbserial_common_mod_LDFLAGS): Likewise.
23806 (pkglib_MODULES): Add usbserial_pl2303.mod.
23807 (usbserial_pl2303_mod_SOURCES): New variable.
23808 (usbserial_pl2303_mod_CFLAGS): Likewise.
23809 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23810 (pkglib_MODULES): Add usbserial_ftdi.mod.
23811 (usbserial_ftdi_mod_SOURCES): New variable.
23812 (usbserial_ftdi_mod_CFLAGS): Likewise.
23813 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23814 (pkglib_MODULES): Add serial.mod.
23815 (serial_mod_SOURCES): New variable.
23816 (serial_mod_CFLAGS): Likewise.
23817 (serial_mod_LDFLAGS): Likewise.
23818 * conf/i386-pc.rmk: Likewise.
23819 * conf/mips-yeeloong.rmk: Likewise.
23820 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23821 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23822 * disk/usbms.c (first_available_slot): New variable.
23823 (grub_usbms_attach): Don't reuse free slots due to potential cache
23824 problems.
23825 * include/grub/serial.h: Moved to ..
23826 * include/grub/ns8250.h: ...this.
23827 * include/grub/serial.h: New file.
23828 * include/grub/term.h (grub_term_poll_usb): New variable.
23829 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23830 readkey. All users updated.
23831 (grub_terminfo_output_state): Pass term to put.
23832 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23833 (grub_usb_controller_dev): Add timeout and actual arguments to
23834 transfer. All users updated.
23835 (grub_usb_interface): New field detach_data.
23836 (grub_usb_device): New fields children and nports.
23837 (grub_usb_ep_type_t): New type.
23838 (grub_usb_get_ep_type): New function.
23839 (grub_usb_bulk_read_extended): Likewise.
23840 * include/grub/usbdesc.h (grub_usb_desc): New type.
23841 * include/grub/usbserial.h: New file.
23842 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23843 * kern/term.c (grub_term_poll_usb): New variable.
23844 (grub_getkey): Call grub_term_poll_usb if set.
23845 (grub_checkkey): Likewise.
23846 (grub_getkeystatus): Likewise.
23847 * term/serial.c: Moved controller-specific parts to ...
23848 * term/ns8250.c: ... here.
23849 * term/serial.c: Mostly rewritten.
23850 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23851 according to spec.
23852
23853 2010-08-20 Robert Millan <rmh@gnu.org>
23854
23855 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23856 a separate module and maybe other interesting combinations.
23857
23858 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23859 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23860 (kfreebsd_entry): Add generic filesystem module load routine.
23861 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23862
23863 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
23864
23865 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23866 "numcenter" (I misunderstood the purpose of this entry).
23867 * docs/grub.texi (sendkey): Likewise.
23868
23869 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
23870
23871 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23872 status flag options; simply omitting the option is equivalent and
23873 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23874 (keysym_table): Rename "num5numlock" to "numlock".
23875 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23876 can uniformly say that only the last of multiple `sendkey'
23877 invocations has any effect.
23878 * docs/grub.texi (sendkey): New section.
23879
23880 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
23881
23882 * commands/i386/pc/sendkey.c (options): Fix three typos.
23883
23884 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 Implement sendkey support.
23887
23888 * commands/i386/pc/sendkey.c: New file.
23889 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23890 (sendkey_mod_SOURCES): New variable.
23891 (sendkey_mod_CFLAGS): Likewise.
23892 (sendkey_mod_LDFLAGS): Likewise.
23893
23894 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23895
23896 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23897 fix warnings from Autoconf.
23898
23899 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23900
23901 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23902 to avoid false positives with some assemblers that output things
23903 like "someprefix_func" as part of their output.
23904
23905 2010-08-15 Robert Millan <rmh@gnu.org>
23906
23907 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23908 errors.
23909 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23910 grub_get_libzfs_handle() errors.
23911
23912 2010-08-14 Robert Millan <rmh@gnu.org>
23913
23914 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23915 filesystem is not ZFS.
23916
23917 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23918
23919 Fix for misspelled color names defaulting to black/black (bug
23920 reported by Doug Nazar)
23921
23922 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23923 status to prototype.
23924 * normal/color.c (grub_parse_color_name_pair): Return failure
23925 status.
23926 (grub_env_write_color_normal): Ignore bad color names.
23927 (grub_env_write_color_highlight): Likewise.
23928 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23929
23930 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23931
23932 "shift" command support to GRUB script.
23933
23934 * include/grub/script_sh.h (grub_script_shift): New prototype.
23935 * script/execute.c (grub_script_shift): New function.
23936 * script/main.c (grub_script_init): Register shift command.
23937 (grub_script_fini): Unregister shift command.
23938 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23939
23940 * tests/grub_script_shift.in: New testcase.
23941 * conf/tests.rmk: Rules for new testcase.
23942
23943 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23944
23945 "continue" command support to GRUB script.
23946
23947 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23948 (grub_script_break): Continue support.
23949 * script/main.c (grub_script_init): Register continue command.
23950 (grub_script_fini): Unregister continue command.
23951
23952 * tests/grub_script_continue.in: New testcase.
23953 * conf/tests.rmk: Rules for new testcase.
23954
23955 2010-08-12 BVK Chaitanya <bvk@dbook>
23956
23957 "break" command support to GRUB script.
23958
23959 * conf/common.rmk: Rule updates to grub-script-check.
23960 * include/grub/misc.h (grub_min): New function.
23961 * include/grub/script_sh.h (grub_script_init): New prototype.
23962 (grub_script_fini): New prototype.
23963 (grub_script_break): New prototype.
23964 * script/main.c (grub_script_init): New function.
23965 (grub_script_fini): New function.
23966 * script/execute.c (grub_script_break): New function.
23967 * normal/main.c: Calls to grub_script_{init,fini}.
23968 * util/grub-script-check.c (grub_script_break): New function.
23969
23970 * tests/grub_script_break.in: New testcase.
23971 * conf/tests.rmk: Rules for new test case.
23972
23973 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23974
23975 Function parameters support to GRUB script.
23976
23977 * script/yylex.l (VARIABLE): Regular expression update.
23978 * script/function.c (grub_script_function_call): Moved ...
23979 * script/execute.c (grub_script_function_call): ... to here.
23980 (grub_script_execute_arglist_to_argv): Removed.
23981 (grub_script_arglist_to_argv): New function.
23982 * script/argv.c: New file.
23983 (grub_script_argv_free): New function.
23984 (grub_script_argv_next): Likewise.
23985 (grub_script_argv_append): Likewise.
23986 (grub_script_argv_split_append): Likewise.
23987 * include/grub/script_sh.h (grub_script_argv): New struct.
23988 (grub_script_argv_free): New function.
23989 (grub_script_argv_next): Likewise.
23990 (grub_script_argv_append): Likewise.
23991 (grub_script_argv_split_append): Likewise.
23992
23993 * conf/common.rmk (normal.mod): New source script/argv.c.
23994
23995 * tests/grub_script_echo1.in: More tests.
23996 * tests/grub_script_vars1.in: Likewise.
23997 * tests/grub_script_functions.in: New test case.
23998 * conf/tests.rmk: Rules for new testcase.
23999
24000 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24001
24002 Remove grub_script_cmdblock struct.
24003
24004 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24005 * script/parser.y: Likewise.
24006 * script/execute.c: Rename cmdblock suffix to cmdlist.
24007 * script/script.c: Likewise.
24008 * util/grub-script-check.c: Likewise.
24009
24010 2010-08-11 Yves Blusseau <blusseau@zetam.org>
24011
24012 * .bzrignore: add grub-macho2img
24013
24014 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24015
24016 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24017
24018 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 Remove the dump of sm712 initialisation sequence.
24021
24022 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24023 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24024 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24025 (GRUB_VGA_CR_*): Added many registers.
24026 (GRUB_VGA_SR_*): Likewise.
24027 (GRUB_VGA_GR_*): Likewise.
24028 (grub_vga_write_arx): New function.
24029 (grub_video_hw_config): New struct.
24030 (grub_vga_set_geometry): New function.
24031 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24032 GRUB_PCI_CLASS_SUBCLASS_VGA.
24033 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24034 * video/sm712.c (grub_sm712_write_reg): New function
24035 (grub_sm712_read_reg): Likewise.
24036 (grub_sm712_sr_write): Likewise.
24037 (grub_sm712_gr_write): Likewise.
24038 (grub_sm712_cr_write): Likewise.
24039 (grub_sm712_write_arx): Likewise.
24040 (grub_sm712_cr_shadow_write): Likewise.
24041 (grub_sm712_write_dda_lookup): Likewise.
24042 (grub_video_sm712_setup): Initialise the video rather then
24043 blindly replay the dump.
24044 (main) [TEST]: Add a routine to be able to compile as standalone for
24045 tests.
24046 * video/sm712_init.c (sm712_init): Removed.
24047 (sm712_sr_seq1): New array.
24048 (sm712_sr_seq2): Likewise.
24049
24050 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 * include/grub/vga.h: Add missing grub/pci.h include.
24053
24054 2010-08-10 Yves Blusseau <blusseau@zetam.org>
24055
24056 * util/grub-macho2img.c (main): fix typo
24057
24058 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24061 (grub_vga_gr_read): Likewise.
24062 (grub_vga_cr_write): Likewise.
24063 (grub_vga_cr_read): Likewise.
24064 (grub_vga_sr_write): Likewise.
24065 (grub_vga_sr_read): Likewise.
24066 (grub_vga_palette_read): Likewise.
24067 (grub_vga_palette_write): Likewise.
24068 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24069 (grub_sm712_sr_read): New function.
24070 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24071 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24072
24073 2010-08-09 Robert Millan <rmh@gnu.org>
24074
24075 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24076 out unused variables on non-ZFS build.
24077
24078 2010-08-08 Robert Millan <rmh@gnu.org>
24079
24080 Fix path generation for sub-filesystems in ZFS.
24081
24082 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24083 missing slash.
24084
24085 2010-08-08 Robert Millan <rmh@gnu.org>
24086
24087 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24088
24089 2010-08-08 Robert Millan <rmh@gnu.org>
24090
24091 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24092 exist, issue a proper error message (rely on `ls' for translated
24093 strings).
24094
24095 2010-08-08 Robert Millan <rmh@gnu.org>
24096
24097 Fix grub-probe invocation.
24098
24099 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24100
24101 2010-08-04 Robert Millan <rmh@gnu.org>
24102
24103 * configure.ac: Remove checks for getfsstat() and getmntany().
24104 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24105 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24106 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24107 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24108 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24109 function.
24110 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24111 via find_mount_point_from_dir() and getfsstat() / getmntany().
24112
24113 2010-08-04 Robert Millan <rmh@gnu.org>
24114
24115 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24116 (grub_find_zpool_from_mount_point): Merge into ...
24117 (grub_find_zpool_from_dir): ... this.
24118 * kern/emu/misc.c: Likewise.
24119
24120 * kern/emu/misc.c
24121 (grub_make_system_path_relative_to_its_root): Replace
24122 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24123 with grub_find_zpool_from_dir().
24124 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24125
24126 2010-08-04 Robert Millan <rmh@gnu.org>
24127
24128 Support OpenSolaris in ZFS device resolution.
24129
24130 * configure.ac: Check for getmntany().
24131 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24132 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24133 support.
24134
24135 2010-08-03 Robert Millan <rmh@gnu.org>
24136
24137 Fix grub-emu build.
24138
24139 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24140 * include/grub/emu/misc.h: ... here.
24141
24142 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24143 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24144
24145 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24146 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24147 (grub_get_libzfs_handle): Move to ...
24148 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24149 (grub_get_libzfs_handle): ... here.
24150
24151 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24152
24153 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24154 as command name case.
24155
24156 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
24157
24158 * disk/raid.c (insert_array): Select unique numbers for named arrays
24159 as well, for use as keys in the disk cache.
24160
24161 2010-08-01 Robert Millan <rmh@gnu.org>
24162
24163 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24164 kFreeBSD device name, except on ZFS where the filesystem label is
24165 used.
24166 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24167 `/boot/zfs/zpool.cache'.
24168 Set mountfrom kernel variable using ${kfreebsd_device}.
24169
24170 2010-08-01 Robert Millan <rmh@gnu.org>
24171
24172 Make it even harder to use uninitialized `libzfs_handle' (and
24173 make the interface a bit simpler).
24174
24175 * include/grub/util/misc.h (grub_util_init_libzfs)
24176 (libzfs_handle): Remove.
24177 (grub_get_libzfs_handle): New prototype.
24178
24179 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24180 attribute.
24181 (grub_util_init_libzfs): Remove.
24182 (grub_get_libzfs_handle): New function.
24183
24184 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24185 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24186 accessing `libzfs_handle' directly.
24187
24188 2010-08-01 Robert Millan <rmh@gnu.org>
24189
24190 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24191 (grub_find_zpool_from_mount_point): New function prototypes.
24192
24193 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24194 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24195
24196 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24197 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24198 `static' attribute.
24199
24200 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24201 finding zpool from mount point into ...
24202 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24203
24204 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24205 requested path is part of a ZFS pool, use
24206 grub_find_zpool_from_mount_point() to detect its filesystem name,
24207 and generate a path with `/fsname@path' syntax.
24208
24209 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24210
24211 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24212 (void) rather than () so that this is a proper prototype.
24213
24214 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24215
24216 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24217
24218 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24221 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24222
24223 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24224
24225 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24226
24227 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24228
24229 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24230
24231 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24234 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24235 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24236 disable gfxpayload.
24237 (Shell-like scripting): Add real content.
24238 (Serial terminal): Suggest `terminal_input serial; terminal_output
24239 serial' rather than putting the two commands on separate lines,
24240 since console input will be inoperative after the first command.
24241 (menuentry): Document --class, --users, and --hotkey options.
24242 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24243 Vladimir Serbinenko).
24244
24245 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24246 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24247
24248 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24249
24250 2010-08-01 Robert Millan <rmh@gnu.org>
24251
24252 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24253 (grub_find_zpool_from_mount_point): New function prototypes.
24254
24255 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24256 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24257
24258 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24259 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24260 `static' attribute.
24261
24262 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24263 finding zpool from mount point into ...
24264 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24265
24266 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24267 requested path is part of a ZFS pool, use
24268 grub_find_zpool_from_mount_point() to detect its filesystem name,
24269 and generate a path with `/fsname@path' syntax.
24270
24271 2010-08-01 Robert Millan <rmh@gnu.org>
24272
24273 Prevent accidental use of uninitialized libzfs_handle.
24274
24275 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24276 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24277 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24278
24279 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24280
24281 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24282 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24283
24284 2010-08-01 Robert Millan <rmh@gnu.org>
24285
24286 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
24287
24288 2010-07-31 Robert Millan <rmh@gnu.org>
24289
24290 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24291
24292 2010-07-31 Robert Millan <rmh@gnu.org>
24293
24294 * kern/emu/misc.c: Add missing license header.
24295
24296 2010-07-31 Robert Millan <rmh@gnu.org>
24297
24298 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24299
24300 * include/grub/util/libnvpair.h: Include `<config.h>'.
24301 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24302 declaring libnvpair prototypes ourselves.
24303 * include/grub/util/libzfs.h: Include `<config.h>'.
24304 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24305 declaring libzfs prototypes ourselves.
24306
24307 (libzfs_handle): Moved to ...
24308 * include/grub/util/misc.h (libzfs_handle): ... here.
24309 Include `<grub/util/libzfs.h>'.
24310
24311 2010-07-30 Robert Millan <rmh@gnu.org>
24312
24313 * include/grub/emu/misc.h: Add missing license header.
24314
24315 2010-07-30 Robert Millan <rmh@gnu.org>
24316
24317 Enable `grub-probe -t device' resolution on ZFS.
24318
24319 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24320 * include/grub/util/libnvpair.h: New file.
24321 * include/grub/util/libzfs.h: New file.
24322
24323 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24324 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24325 `<grub/util/libnvpair.h>'.
24326 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24327
24328 (find_mount_point_from_dir): New static function.
24329 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24330 function.
24331 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24332 find_root_device_from_libzfs() before ressorting to find_root_device().
24333
24334 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24335 prototype.
24336 * util/misc.c: Include `<grub/util/libzfs.h>'.
24337 (grub_util_init_libzfs): New function.
24338 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24339 [HAVE_LIBZFS] (fini_libzfs): New static function.
24340 (grub_util_init_libzfs): New function.
24341 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24342
24343 2010-07-30 Robert Millan <rmh@gnu.org>
24344
24345 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24346 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24347 `warn_unused_result' attribute.
24348 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24349 (grub_xasprintf, grub_xvasprintf): Likewise.
24350 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24351
24352 2010-07-29 Robert Millan <rmh@gnu.org>
24353
24354 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24355 (probe): Handle `PRINT_FS_LABEL'.
24356 (main): Handle `-t fs_label'.
24357
24358 2010-07-29 Robert Millan <rmh@gnu.org>
24359
24360 * configure.ac: Remove grub-mkisofs checks.
24361
24362 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24365 Reported by: Lennart Sorensen.
24366
24367 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24368
24369 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24370 prior to terminal_input/terminal_output separation. It's been over 1.5
24371 years and those versions weren't widely deployed.
24372
24373 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * disk/raid.c (insert_array): Don't count named arrays when looking
24376 for unused array numbers.
24377 Reported and tested by: Michael Guntsche.
24378
24379 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24380
24381 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24382 implementation of this so that grub-emu links again, with a note
24383 that this should support hotplugging in the future.
24384
24385 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24386
24387 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24388
24389 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24390
24391 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24392 handle on failure.
24393 (grub_loopback_close): Remove empty function.
24394 (grub_loopback_dev): Remove close method.
24395
24396 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24397
24398 Disable EFI cursor when the EFI console becomes inactive.
24399
24400 * term/efi/console.c (grub_efi_console_init): New function.
24401 (grub_efi_console_fini): New function.
24402 (grub_console_term_output): Register init and fini methods.
24403
24404 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24405
24406 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24407 sh script.
24408
24409 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 * disk/loopback.c (grub_loopback): Replace filename with file.
24412 (delete_loopback): Handle new semantics.
24413 (grub_cmd_loopback): Likewise.
24414 (grub_loopback_iterate): Likewise.
24415 (grub_loopback_close): Likewise.
24416
24417 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24418
24419 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24420 with -p "".
24421 Reported by: Tito Keitel.
24422
24423 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24424
24425 * docs/grub.texi (Naming convention): Document new naming convention.
24426
24427 2010-07-20 Vadim Solomin <vadic052@gmail.com>
24428 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24429
24430 Generate device.map in something closer to the old ordering.
24431
24432 * util/deviceiter.c (struct device): New declaration.
24433 (compare_file_names): Rename to ...
24434 (compare_devices): ... this. Sort by kernel name in preference to
24435 the stable by-id name, but keep the latter as a fallback comparison.
24436 Update header comment.
24437 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24438 of `struct device' rather than of plain file names.
24439
24440 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24441
24442 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24443 on i386.
24444
24445 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24446
24447 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24448 hardcoding size.
24449 (setv1table): Likewise.
24450
24451 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24452
24453 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24454 removing the homehost if present.
24455 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24456 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24457 removing the homehost if present.
24458 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24459 if possible.
24460 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24461
24462 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24463 parameter. Set its pointer target to 0.
24464 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24465 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24466 `data_offset' value from the superblock for 1.x metadata.
24467 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24468 data on the device.
24469 (insert_array): Record the start sector of data on the device.
24470 (grub_raid_register): Pass start_sector parameters to
24471 grub_raid_list->detect and insert_array.
24472 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24473 member.
24474 (struct grub_raid): Add start_sector parameter to `detect'.
24475
24476 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24477 __attribute__ ((packed)), leaving a comment.
24478 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24479 (grub_mdraid_detect_09): ... here and ...
24480 (grub_mdraid_detect_1x): ... here.
24481
24482 2010-07-20 Peter Henn <peter.henn@web.de>
24483
24484 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24485 chunk size and disk size, which are already given as sector counts
24486 as distinct from the 0.90 units. Fetch the correct device number
24487 from the role table instead of using the table index.
24488
24489 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
24490
24491 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24492 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24493 (WriteMostly1): New macro.
24494 Set array->name to NULL for metadata format 0.90. Add support for
24495 metadata 1.x. Fix some comments.
24496 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24497 few comments.
24498 * util/getroot.c (grub_util_get_grub_dev): Add support for
24499 /dev/md/name style devices.
24500
24501 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24502
24503 * .bzrignore: Ignore 20_linux_xen.
24504
24505 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
24506
24507 * util/import_unicode.py: Remove unnecessary imports.
24508
24509 2010-07-17 Aleš Nesrsta <starous@volny.cz>
24510
24511 Hotplugging and USB hub support.
24512
24513 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24514 (grub_ohci): Likewise.
24515 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24516 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24517 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24518 (GRUB_OHCI_CTRL_EDS): Likewise.
24519 (GRUB_OHCI_BULK_EDS): Likewise.
24520 (GRUB_OHCI_TDS): Likewise.
24521 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24522 (grub_ohci_ed_phys2virt): New function.
24523 (grub_ohci_virt_to_phys): Likewise.
24524 (grub_ohci_td_phys2virt): Likewise.
24525 (grub_ohci_td_virt2phys): Likewise.
24526 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24527 attachment.
24528 (grub_ohci_find_ed): New function.
24529 (grub_ohci_alloc_td): Likewise.
24530 (grub_ohci_free_td): Likewise.
24531 (grub_ohci_free_tds): Likewise.
24532 (grub_ohci_transfer): Use previously allocated memory.
24533 (grub_ohci_portstatus): Reset status changed bit.
24534 (grub_ohci_detect_dev): Supply status changed.
24535 (grub_ohci_fini_hw): Free memory.
24536 (grub_ohci_restore_hw): Reallocate memory.
24537 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24538 Reset status change.
24539 (grub_uhci_detect_dev): Supply status_change.
24540 * bus/usb/usb.c (attach_hooks): New var.
24541 (grub_usb_device_attach): New function.
24542 (grub_usb_register_attach_hook_class): Likewise.
24543 (grub_usb_unregister_attach_hook_class): Likewise.
24544 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24545 (grub_usb_add_hub): Reset connection changed bit.
24546 (attach_root_port): New function.
24547 (grub_usb_root_hub): Likewise.
24548 (poll_nonroot_hub): Likewise.
24549 (grub_usb_poll_devices): Likewise.
24550 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24551 * disk/usbms.c (grub_usbms_open): Use device hooks.
24552 (grub_usbms_iterate) :Poll devices.
24553 (grub_usbms_finddevs): Split into ...
24554 (grub_usbms_attach): ... this ...
24555 (grub_usbms_attach): ... and this.
24556 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24557 in detect_dev.
24558 (grub_usb_interface): New fields attached and detach_hook.
24559 (grub_usb_attach_hook_class): New type.
24560 (grub_usb_attach_desc): New struct.
24561 (grub_usb_register_attach_hook_class): New function.
24562 (grub_usb_unregister_attach_hook_class): Likewise.
24563 (grub_usb_poll_devices): Likewise.
24564 (grub_usb_device_attach): Likewise.
24565 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24566 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24567
24568 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24569
24570 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24571 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24572 delta determination style. Works with most NetBSD partitions too.
24573
24574 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24575
24576 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24577 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24578
24579 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24580
24581 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24582
24583 2010-07-14 Anton Blanchard <anton@samba.org>
24584
24585 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24586 ET_DYN files.
24587
24588 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24589
24590 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24591
24592 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24593
24594 * kern/partition.c (grub_partition_check_containment): New function to
24595 check that a partition is physically contained in a parent. Since
24596 offsets are relative (and non-negative), this reduces to checking that
24597 the partition ends before its parent.
24598 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24599 (grub_partition_iterate): Likewise.
24600 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24601 comments.
24602 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24603 partitions that start before their parent, and add debug printfs.
24604
24605 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24606
24607 * Makefile.in (.SUFFIX): Spell correctly, as ...
24608 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24609 bare module name without `.mod', e.g. `test') tried to invoke a
24610 Modula-2 compiler.
24611
24612 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24613
24614 * README: Point to the Info manual.
24615
24616 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
24617
24618 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24619 2nd superblock position from partition size.
24620
24621 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
24622
24623 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24624 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24625 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24626 outputs.
24627
24628 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24629
24630 Restructure SCSI .id handling.
24631 Reported and tested by: Aleš Nesrsta.
24632
24633 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24634 (grub_atapi_dev): Changed .name to "ata". New field .id.
24635 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24636 (grub_usbms_dev): New field .id.
24637 * disk/scsi.c (grub_scsi_iterate): Generate name.
24638 (grub_scsi_open): Parse name.
24639 * include/grub/scsi.h (grub_make_scsi_id): New function.
24640 (grub_scsi_dev): Change iterate and open to number instead of naming
24641 busses. All users updated.
24642 (grub_scsi): Remove name. Add .bus.
24643
24644 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 * commands/help.c (grub_cmd_help): Fix a typo.
24647
24648 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24649
24650 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24651 Reported and tested by: Colin Watson.
24652
24653 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24656 in this context.
24657
24658 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24659
24660 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24661
24662 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
24663
24664 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24665 indentation.
24666
24667 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24668
24669 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24670 and disk/raid6_recover.c.
24671 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24672 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24673
24674 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24675
24676 * term/gfxterm.c (repaint_schedulded): Rename to ...
24677 (repaint_scheduled): ... this. Update all callers.
24678 (repaint_was_schedulded): Rename to ...
24679 (repaint_was_scheduled): ... this. Update all callers.
24680
24681 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24682
24683 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24684 which we expect to be handled by upper layers.
24685
24686 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24687
24688 * bus/usb/usbhub.c: #include time.h header.
24689
24690 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24691
24692 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24693 entry_name also for entries without stat blocks (e.g. ".."); fixes
24694 corruption of the first entry in a directory.
24695
24696 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24697
24698 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24699 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24700 doesn't work otherwise.
24701
24702 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24703
24704 * docs/grub.texi (Features): Update list of supported file systems.
24705 (GNU/Linux): Update for GRUB 2.
24706 (Serial terminal): Remove mention of --disable-serial, which was a
24707 GRUB Legacy configure option. Update instructions to use
24708 `terminal_input' and `terminal_output' rather than `terminal'.
24709 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24710 configuration' and `Installing GRUB using grub-install'.
24711 (Menu entry editor): Update for GRUB 2.
24712 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24713 Document new -a, -u, and -v options.
24714 (initrd): New section.
24715 (initrd16): New section.
24716 (linux): New section.
24717 (linux16): New section.
24718 (search): The `var' argument to `--set' is optional.
24719 (GRUB only offers a rescue shell): Go into a little more detail on
24720 drive ordering.
24721
24722 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24723
24724 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24725
24726 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24727
24728 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24729 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24730
24731 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24732
24733 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24734 install_prefix, in line with install_dos_part and install_bsd_part.
24735 Add new prefix variable, which is copied to install_prefix after
24736 comparing core.img in memory with the one read from disk in the
24737 no-embedding case, and use that rather than overwriting
24738 install_prefix immediately when installing to a partition.
24739 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24740 Bicakci.
24741
24742 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24743
24744 * configure.ac: Avoid == in test command, it's not portable.
24745 * util/grub.d/30_os-prober.in: Likewise.
24746
24747 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
24748
24749 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24750
24751 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24752
24753 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24754 multiple (top-level) partmaps.
24755
24756 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24757
24758 * util/i386/efi/grub-install.in: Don't use empty grub_device.
24759 Reported by: Tino Keitel.
24760
24761 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24762
24763 Bidi and diacritics support.
24764
24765 * Makefile.in (widthspec.bin): New target.
24766 (widthspec.h): Likewise.
24767 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24768 * autogen.sh: Generate unidata.c.
24769 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24770 * commands/ls.c (grub_ls_list_devices): Likewise.
24771 (grub_ls_list_files): Likewise.
24772 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24773 (grub_mini_cmd_lsmod): Likewise.
24774 * commands/read.c: Likewise.
24775 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24776 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24777 * lib/arg.c (grub_arg_show_help): Likewise.
24778 * lib/crypto.c (grub_password_get): Likewise.
24779 * normal/auth.c (grub_username_get): Likewise.
24780 * normal/misc.c (grub_normal_print_device_info): Likewise.
24781 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24782 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24783 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24784 (normal/charset.c_DEPENDENCIES): New variable.
24785 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24786 (pkglib_MODULES): Remove charset.mod.
24787 (charset_mod_SOURCES): Removed.
24788 (charset_mod_CFLAGS): Likewise.
24789 (charset_mod_LDFLAGS): Likewise.
24790 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24791 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24792 and term/tparm.c.
24793 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24794 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24795 (kernel_img_HEADERS): Add terminfo.h.
24796 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24797 Fill ->font. Reverse ascii bitmaps.
24798 (grub_font_get_xheight): New function.
24799 * font/font.c (grub_font_get_string_width): Moved from here ...
24800 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24801 * font/font.c (grub_font_draw_string): Moved from here ...
24802 * gfxmenu/font.c (grub_font_draw_string): ... here.
24803 * font/font.c (grub_font_dup_glyph): New function.
24804 (grub_font_blit_glyph): Likewise.
24805 (grub_font_blit_glyph_mirror): Likewise.
24806 (blit_comb): Likewise.
24807 (grub_font_construct_dry_run): Likewise.
24808 (grub_font_get_constructed_device_width): Likewise.
24809 (grub_font_construct_glyph): Likewise.
24810 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24811 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24812 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24813 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24814 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24815 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24816 (grub_font_get_xheight): New proto.
24817 (grub_font_get_constructed_device_width): Likewise.
24818 (grub_font_construct_glyph): Likewise.
24819 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24820 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24821 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24822 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24823 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24824 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24825 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24826 (grub_console_getcharwidth): Likewise.
24827 * include/grub/misc.h (grub_xputs): New proto.
24828 (grub_puts): Inlined.
24829 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24830 (grub_normal_get_line_counter): Removed.
24831 (grub_install_newline_hook): Likewise.
24832 (grub_normal_get_char_counter): New proto.
24833 (grub_normal_reset_more): Likewise.
24834 (grub_xputs_normal): Likewise.
24835 * include/grub/powerpc/ieee1275/console.h: Removed.
24836 * include/grub/sparc64/ieee1275/console.h: Likewise.
24837 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24838 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24839 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24840 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24841 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24842 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24843 (grub_term_input): Pass reference to self. All users updated.
24844 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24845 Pass reference to self. New fields normal_color, highlight_color and
24846 data. All users updated.
24847 (grub_putchar): Removed.
24848 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24849 (grub_unicode_estimate_width): New function.
24850 (grub_term_getcharwidth): Add defaults.
24851 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24852 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24853 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24854 (grub_cls): Remove EXPORT_FUNC.
24855 (grub_setcolorstate): Inline.
24856 (grub_newline_hook): Removed.
24857 * include/grub/terminfo.h: Rewritten. All users updated.
24858 * include/grub/unicode.h: New file.
24859 * include/grub/video.h (grub_video_signed_rect): New type.
24860 * kern/emu/console.c (grub_console_highlight_color): Removed.
24861 (grub_console_normal_color): Likewise.
24862 (grub_console_standard_color): Made static.
24863 (grub_ncurses_putchar): Remove mapping.
24864 (grub_ncurses_getcharwidth): Removed.
24865 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24866 (grub_ncurses_setcolor): Removed.
24867 (grub_ncurses_getcolor): Likewise.
24868 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24869 (grub_console_putchar): ... this.
24870 (grub_console_putchar): Handle argument difference.
24871 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24872 console_init_early and console_init_lately.
24873 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24874 * kern/misc.c (grub_puts): Removed.
24875 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24876 (grub_vsnprintf_real): Remove str = NULL support.
24877 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24878 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24879 * kern/term.c (grub_putcode): Renamed to ...
24880 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24881 (grub_putchar): Removed.
24882 (grub_xputs_dumb): New function.
24883 (grub_xputs): New variable.
24884 * lib/charset.c: Move from here ...
24885 * normal/charset.c: ... to here.
24886 (grub_ucs4_to_utf8): New function.
24887 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24888 (join_types): New variable.
24889 (unpack_join): New function.
24890 (bidi_types): New variable.
24891 (unpack_bidi): New function.
24892 (get_bidi_type): Likewise.
24893 (get_join_type): Likewise.
24894 (is_mirrored): Likewise.
24895 (grub_unicode_get_comb_type): Likewise.
24896 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24897 (is_type_after): Likewise.
24898 (grub_unicode_aglomerate_comb): Likewise.
24899 (bidi_line_wrap): Likewise.
24900 (grub_bidi_line_logical_to_visual): Likewise.
24901 (grub_bidi_logical_to_visual): Likewise.
24902 (grub_unicode_mirror_code): Likewise.
24903 (grub_unicode_shape_code): Likewise.
24904 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24905 Don't use grub_putchar.
24906 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24907 (grub_normal_reader_init): Likewise.
24908 (grub_xputs_saved): New variable.
24909 (GRUB_MOD_INIT): Set grub_xputs.
24910 (GRUB_MOD_FINI): Restore grub_xputs.
24911 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24912 (menu_init): Avoid printing gfxmenu error.
24913 (show_menu): Use grub_normal_get_char_counter.
24914 * normal/menu_entry.c (update_screen): Fix out-of-array.
24915 (complete): Avoid NULL dereferencing.
24916 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24917 * normal/menu_text.c (print_spaces): Removed.
24918 (grub_print_ucs4): Likewise.
24919 (grub_print_message_indented): Use grub_print_ucs4.
24920 (print_message): Use grub_putcode.
24921 (print_entry): Hanlde diacritics.
24922 * normal/term.c (term_state): New type.
24923 (grub_more_lines): Removed.
24924 (term_states): New variable.
24925 (grub_normal_line_counter): Renamed to ..
24926 (grub_normal_char_counter): ...this. All users updated.
24927 (grub_normal_get_line_counter): Renamed to ...
24928 (grub_normal_get_char_counter): ... this.
24929 (grub_normal_reset_more): New function.
24930 (process_newline): Removed.
24931 (print_more): New function.
24932 (grub_install_newline_hook): Removed.
24933 (map_code): New function.
24934 (grub_puts_terminal): Use grub_print_ucs4.
24935 (putglyph): New function.
24936 (putcode_real): Likewise.
24937 (grub_putcode): Use putcode_real.
24938 (get_maxwidth): New function.
24939 (get_startwidth): Likewise.
24940 (print_ucs4_terminal): Likewise.
24941 (find_term_state): Likewise.
24942 (put_glyphs_terminal): Likewise.
24943 (print_backlog): Likewise.
24944 (print_ucs4_real): Likewise.
24945 (grub_print_ucs4): Likewise.
24946 (grub_xputs_normal): Likewise.
24947 * term/efi/console.c (grub_console_putchar): Output diacritics.
24948 (grub_console_getcharwidth): Removed.
24949 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24950 * term/gfxterm.c (clear_char): Free chars.
24951 (scroll_up): Avoid leaking memory.
24952 (grub_gfxterm_putchar): Support diacritics.
24953 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24954 * term/i386/pc/console.c (grub_console_term_output): Declare as
24955 GRUB_TERM_CODE_TYPE_VGA.
24956 * term/i386/pc/vga.c (grub_vga_term): Declare as
24957 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24958 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24959 GRUB_TERM_CODE_TYPE_VGA.
24960 * term/i386/vga_common.c (map_char): Removed.
24961 (grub_console_putchar): Likewise.
24962 (grub_console_getcharwidth): Likewise.
24963 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24964 (colors): Reordered to match terminfo.
24965 (grub_ofconsole_normal_color): Removed.
24966 (grub_ofconsole_writeesc): Likewise.
24967 (grub_ofconsole_highlight_color): Likewise.
24968 (grub_ofconsole_getcharwidth): Likewise.
24969 (grub_ofconsole_setcolorstate): Likewise.
24970 (grub_ofconsole_setcolor): Likewise.
24971 (grub_ofconsole_getcolor): Likewise.
24972 (grub_ofconsole_readkey): Renamed to ...
24973 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24974 key.
24975 (grub_ofconsole_checkkey): Removed.
24976 (grub_ofconsole_getkey): Likewise.
24977 (grub_ofconsole_getxy): Likewise.
24978 (grub_ofconsole_gotoxy): Likewise.
24979 (grub_ofconsole_cls): Likewise.
24980 (grub_ofconsole_refresh): Likewise.
24981 (grub_ofconsole_terminfo_input): New struct.
24982 (grub_ofconsole_terminfo_output): Likewise.
24983 (grub_ofconsole_term_input): Use terminfo.
24984 (grub_ofconsole_term_output): Likewise.
24985 (grub_console_init): Split into ...
24986 (grub_console_init_early): ...this and ...
24987 (grub_console_init_lately): ...this. Use terminfo.
24988 (grub_ofconsole_putchar): Renamed to ...
24989 (put): ... this. Remove mapping.
24990 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24991 * term/serial.c: Simplify using terminfo.
24992 (xpos): Removed.
24993 (ypos): Likewise.
24994 (keep_track): Likewise.
24995 (registered): Likewise.
24996 (input_buf): Likewise.
24997 (npending): Likewise.
24998 (serial_translate_key_sequence): Likewise.
24999 (fill_input_buf): Likewise.
25000 (grub_serial_checkkey): Likewise.
25001 (grub_serial_getkey): Likewise.
25002 (grub_serial_getxy): Likewise.
25003 (grub_serial_gotoxy): Likewise.
25004 (grub_serial_putchar): Likewise.
25005 (grub_serial_cls): Likewise.
25006 (grub_serial_setcolorstate): Likewise.
25007 (grub_serial_setcursor): Likewise.
25008 (serial_hw_init): Use serial_hw_fetch.
25009 (grub_serial_terminfo_input): New variable.
25010 (grub_serial_terminfo_output): Likewise.
25011 (grub_serial_term_input): Use terminfo.
25012 (grub_serial_term_output): Likewise.
25013 * term/terminfo.c (putstr): Use put.
25014 (grub_terminfo_all_free): New function
25015 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25016 (grub_terminfo_output_register): New function.
25017 (grub_terminfo_output_unregister): Likewise.
25018 (grub_terminfo_getxy): Likewise.
25019 (grub_terminfo_readkey): Likewise.
25020 (grub_terminfo_checkkey): Likewise.
25021 (grub_terminfo_getkey): Likewise.
25022 (grub_terminfo_input_init): Likewise.
25023 (print_terminfo): Likewise.
25024 (grub_cmd_terminfo): Handle encoding.
25025 (grub_terminfo_gotoxy): Track position.
25026 (grub_terminfo_cls): Likewise.
25027 (grub_terminfo_putchar): Likewise.
25028 (grub_terminfo_setcolorstate): Handle colors
25029 (grub_terminfo_cursor_on): This ...
25030 (grub_terminfo_cursor_off): ... and this merged into ...
25031 (grub_terminfo_setcursor): ... this.
25032 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25033 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25034 * unicode/BidiMirroring.txt: Likewise.
25035 * unicode/UnicodeData.txt: Likewise.
25036 * unicode/COPYING: Likewise.
25037 * util/grub-editenv.c (grub_putchar): Removed.
25038 (grub_xputs_real): New function.
25039 (grub_xputs): New variable.
25040 * util/grub-fstest.c (grub_putchar): Removed.
25041 (grub_xputs_real): New function.
25042 (grub_xputs): New variable.
25043 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25044 (grub_xputs_real): New function.
25045 (grub_xputs): New variable.
25046 * util/grub-probe.c (grub_putchar): Removed.
25047 (grub_xputs_real): New function.
25048 (grub_xputs): New variable.
25049 * util/grub-script-check.c (grub_putchar): Removed.
25050 (grub_xputs_real): New function.
25051 (grub_xputs): New variable.
25052 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25053 (grub_xputs_real): New function.
25054 (grub_xputs): New variable.
25055 * util/import_unicode.py: New file.
25056 * util/grub-mkfont.c (ft_errmsgs): New array.
25057 (grub_glyph_info): Make bitmap a pointer.
25058 (file_formats): New type WIDTH_SPEC.
25059 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25060 (options): Add width-spec.
25061 (help): Likewise.
25062 (add_char): Renamed to ...
25063 (add_glyph): ... this.
25064 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25065 (glyph_replace): New type.
25066 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25067 (add_char): New function.
25068 (add_subst): Likewise.
25069 (process_cursive): Likewise.
25070 (add_font): Handle GSUB.
25071 (write_font_width_spec): New function.
25072 (main): Sort glyphs.
25073 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25074 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25075 * kern/term.c (grub_cls): Moved from here...
25076 * normal/term.c (grub_cls): ... here.
25077
25078 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25079
25080 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25081 suitable for using within the format argument of printf when
25082 converting grub_size_t.
25083 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25084 "x" to convert grub_size_t arguments.
25085
25086 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25087
25088 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25089 too long captions.
25090 (list_get_minimal_size): Take selection box into account.
25091
25092 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25095 NULL font.
25096
25097 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25098
25099 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25100 devices when iterating over /dev/disk/by-id; they will be handled
25101 later if appropriate, which they aren't always (e.g. LVM).
25102
25103 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25104
25105 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25106 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25107 fails.
25108 (grub_halt): Likewise.
25109 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25110 reset-all fails.
25111 (grub_halt): Don't return, even if all of shut-down, power-off, and
25112 poweroff fail.
25113
25114 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25115
25116 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25117 arguments, not three.
25118
25119 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25120
25121 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25122 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25123 LVM-on-RAID is handled correctly.
25124
25125 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25126
25127 * docs/grub.texi (Changes from GRUB Legacy): New section.
25128 (Future): Fix typo.
25129
25130 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25131
25132 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25133 grub.d/README accidentally ends up executable for one reason or
25134 another. Ignore it.
25135
25136 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25137
25138 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25139 (gpt_partition_map_iterate): Support non-512B sectors.
25140
25141 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25142
25143 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25144 Tested by: Seth Goldberg.
25145
25146 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25147
25148 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25149 Properly align mbi.
25150 Reported by: Seth Goldberg.
25151
25152 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 * util/grub-mkrescue.in: Avoid module duplication.
25155
25156 2010-07-01 Sean Finney <seanius@seanius.net>
25157
25158 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25159
25160 2010-07-01 Sean Finney <seanius@seanius.net>
25161
25162 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25163
25164 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25165
25166 * disk/lvm.c (grub_lvm_checkvalue): New function.
25167 (grub_lvm_check_flag): Likewise.
25168
25169 2010-07-01 Robert Millan <rmh@gnu.org>
25170
25171 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25172 Support 'p' as partition separator on kernel of FreeBSD (used
25173 with GPT labels).
25174 (grub_util_biosdisk_get_grub_dev): Likewise.
25175
25176 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25177
25178 Yeeloong firmware port.
25179
25180 * boot/mips/yeeloong/fwstart.S: New file.
25181 * bus/cs5536.c (gpiodump): New const.
25182 (set_io_space): New function.
25183 (set_iod): Likewise.
25184 (set_p2d): Likewise.
25185 (grub_cs5536_init_geode): Likewise.
25186 * commands/mips/yeeloong/lsspd.c: New file.
25187 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25188 (serial_mod_SOURCES): New variable.
25189 (serial_mod_CFLAGS): Likewise.
25190 (serial_mod_LDFLAGS): Likewise.
25191 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25192 term/terminfo.c and term/tparm.c.
25193 (pkglib_IMAGES): Add fwstart.img.
25194 (fwstart_img_SOURCES): New variable.
25195 (fwstart_img_CFLAGS): Likewise.
25196 (fwstart_img_ASFLAGS): Likewise.
25197 (fwstart_img_LDFLAGS): Likewise.
25198 (fwstart_img_FORMAT): Likewise.
25199 (pkglib_MODULES): Add lsspd.mod.
25200 (lsspd_mod_SOURCES): New variable.
25201 (lsspd_mod_CFLAGS): Likewise.
25202 (lsspd_mod_LDFLAGS): Likewise.
25203 (pkglib_MODULES): Add halt.mod.
25204 (halt_mod_SOURCES): New variable.
25205 (halt_mod_CFLAGS): Likewise.
25206 (halt_mod_LDFLAGS): Likewise.
25207 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25208 (serial_mod_SOURCES): Removed.
25209 (serial_mod_CFLAGS): Likewise.
25210 (serial_mod_LDFLAGS): Likewise.
25211 * disk/ata.c (check_device): New function.
25212 (grub_ata_device_initialize): Use check_device.
25213 (grub_ata_iterate): Recheck devices.
25214 (grub_ata_open): Likewise.
25215 (grub_atapi_iterate): Likewise.
25216 (grub_atapi_open): Likewise.
25217 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25218 (GRUB_ATA_CH1_PORT1): Likewise.
25219 (GRUB_ATA_CH0_PORT2): Likewise.
25220 (GRUB_ATA_CH1_PORT2): Likewise.
25221 * include/grub/mips/loongson.h: New file.
25222 * include/grub/mips/yeeloong/ec.h: Likewise.
25223 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25224 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25225 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25226 * include/grub/misc.h (grub_halt): Declare as noreturn.
25227 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25228 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25229 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25230 (UART_ENABLE_DTRRTS): Likewise.
25231 (UART_ENABLE_MODEM): Removed.
25232 (UART_ENABLE_OUT2): New const.
25233 * include/grub/term.h (grub_term_register_input_active): New function.
25234 (grub_term_register_output_active): Likewise.
25235 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25236 argument.
25237 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25238 (init_pci): New function.
25239 (grub_machine_init): Execute platform init when firmware. Init serial.
25240 (grub_halt): Implement.
25241 (grub_exit): Likewise.
25242 (grub_reboot): Likewise.
25243 * term/serial.c (serial_hw_init): Update macros.
25244 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25245 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25246 (image_targets): New target mipsel-yeeloong-flash.
25247 (generate_image): Support IMAGE_YEELOONG_FLASH.
25248 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25249 (grub_video_sm712_setup): Init card.
25250 (grub_video_sm712_set_palette): Removed.
25251 * video/sm712_init.c: New file.
25252
25253 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
25254
25255 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25256 PATH when running help2man and then run it on the unadorned
25257 executable names, rather than passing $(builddir)/* paths to
25258 help2man. This avoids the build directory ending up in generated
25259 manual pages.
25260
25261 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25262
25263 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25264 to avoid accidents when debugging with 'sh -x'.
25265 * util/grub-mkrescue.in: Likewise.
25266 * util/grub.d/00_header.in: Likewise.
25267 * util/grub.d/10_hurd.in: Likewise.
25268 * util/grub.d/10_kfreebsd.in: Likewise.
25269 * util/grub.d/10_linux.in: Likewise.
25270 * util/grub.d/10_netbsd.in: Likewise.
25271 * util/grub.d/10_windows.in: Likewise.
25272 * util/grub.d/20_linux_xen.in: Likewise.
25273 * util/grub.d/30_os-prober.in: Likewise.
25274 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25275
25276 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25277
25278 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25279 last character in the buffer.
25280 Reported by: Vladimir Serbinenko.
25281
25282 2010-06-29 Robert Millan <rmh@gnu.org>
25283
25284 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25285 (Command-line and menu entry commands): Document `badram' command.
25286
25287 2010-06-28 Robert Millan <rmh@gnu.org>
25288
25289 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25290 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25291 command using ${GRUB_BADRAM} as parameter.
25292
25293 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25294
25295 * docs/grub.texi (Device map): New section.
25296 (Themes): New section (stub).
25297 * Makefile.in (docs/grub.info): The info documentation now builds
25298 without errors. Make sure it stays that way.
25299
25300 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25301
25302 Use normal parser for menu entries.
25303 Reported by: Thomas Frauendorfer
25304
25305 * include/grub/parser.h (grub_parser_execute): Don't export.
25306 * normal/menu.c (grub_menu_execute_entry_real): New function.
25307 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25308
25309 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * docs/grub.texi (Embedded configuration): New section (replacing
25312 old "Preset Menu" stub).
25313 (Images): New section.
25314 (configfile): Note that any menu entries defined in `file' are shown
25315 immediately.
25316
25317 2010-06-28 Josh Triplett <josh@joshtriplett.org>
25318
25319 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25320
25321 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25322
25323 * util/grub-install.in: Add --debug-image= option.
25324
25325 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25326
25327 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25328 possible on Linux.
25329
25330 * util/deviceiter.c (check_device): Rename to ...
25331 (check_device_readable_unique): ... this. Update all callers.
25332 Maintain and check a list of which devices (by canonicalized name)
25333 have already been seen.
25334 (clear_seen_devices): New function.
25335 (compare_file_names) [__linux__]: New function.
25336 (grub_util_iterate_devices): Clear the list of seen devices on exit
25337 and (just in case) on entry.
25338 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25339 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25340 seen-devices list, superseded by general code in check_device.
25341
25342 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25343
25344 * commands/cat.c (options): New variable.
25345 (grub_cmd_cat): Parse options. If the --dos option is given, print
25346 DOS-style "\r\n" line endings as simple newlines (Debian bug
25347 #586358).
25348 (GRUB_MOD_INIT): Use extcmd.
25349 (GRUB_MOD_FINI): Likewise.
25350 * docs/grub.texi (cat): Document --dos.
25351
25352 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25353
25354 XEN with Linux grub-mkconfig support.
25355
25356 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25357 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25358 GRUB_CMDLINE_XEN_DEFAULT.
25359 * util/grub.d/20_linux_xen.in: New file.
25360
25361 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 Initialise VGA video on qemu ourselves.
25364
25365 * boot/i386/qemu/boot.S: Don't call 0xc000.
25366 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25367 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25368 (kernel_img_HEADERS): Add pci.h.
25369 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25370 * configure.ac: Force unifont on qemu and yeeloong.
25371 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25372 (grub_vga_palette_write): Use correct register.
25373 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25374 Call grub_qemu_init_cirrus.
25375 * kern/i386/qemu/init.c: New file.
25376 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25377
25378 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25379
25380 2010-06-26 Pavel Roskin <proski@gnu.org>
25381
25382 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25383 13.
25384
25385 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25386
25387 * docs/grub.texi (Simple configuration): Explain that
25388 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25389 set to `true' to disable their respective recovery entries, not
25390 merely set.
25391
25392 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25393
25394 Make the `source' command slightly faster.
25395
25396 * normal/main.c (grub_normal_execute): Don't re-read list files when
25397 nested.
25398
25399 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25400
25401 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25402 field position and mask size to red fields from mode_info, not
25403 green.
25404 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25405 Remove redundant tag->common.framebuffer_type assignment.
25406 Reported by: Seth Goldberg.
25407
25408 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25409
25410 Sync up other versions of the Linux loader with Robert Millan's
25411 change of 2010-01-09, "Make loader output a bit more user-friendly".
25412
25413 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25414 grub_dprintf().
25415 (grub_cmd_linux): Likewise.
25416 (grub_cmd_initrd): Likewise.
25417 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25418 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25419
25420 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
25421
25422 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25423 larger than MEMORY_MAP_SIZE.
25424
25425 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25426
25427 Fix parallel build.
25428
25429 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25430 dependency.
25431 * script/parser.y: #include grub_script.tab.h header.
25432
25433 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Support >3GiB and <16MiB RAM in i386-qemu.
25436
25437 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25438 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25439 (grub_lower_mem): Removed.
25440 (grub_upper_mem): Likewise.
25441 (mem_size): Made static.
25442 (above_4g): New variable.
25443 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25444 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25445 support.
25446
25447 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25448
25449 Cirrus 5446 and Bochs video cards support.
25450
25451 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25452 video_bochs.mod
25453 (video_cirrus_mod_SOURCES): New variable.
25454 (video_cirrus_mod_CFLAGS): Likewise.
25455 (video_cirrus_mod_LDFLAGS): Likewise.
25456 (video_bochs_mod_SOURCES): Likewise.
25457 (video_bochs_mod_CFLAGS): Likewise.
25458 (video_bochs_mod_LDFLAGS): Likewise.
25459 * include/grub/vga.h: New file.
25460 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25461 (grub_video_fb_set_page_t): New type.
25462 (grub_video_fb_setup): New prototype.
25463 (grub_video_fb_swap_buffers): Likewise.
25464 (grub_video_fb_get_info_and_fini): Likewise.
25465 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25466 (CRTC_DATA_PORT): Likewise.
25467 (CRTC_CURSOR): Likewise.
25468 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25469 (CRTC_CURSOR_ADDR_LOW): Likewise.
25470 (CRTC_CURSOR_DISABLE): Likewise.
25471 (update_cursor): Use grub_vga_cr_write.
25472 (grub_vga_text_setcursor): Likewise.
25473 * video/bochs.c: New file.
25474 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25475 (palette): Likewise.
25476 (palette_size): Likewise.
25477 (framebuffer): New variable.
25478 (grub_video_fb_init): Use 'framebuffer'.
25479 (grub_video_fb_fini): Likewise.
25480 (grub_video_fb_get_info): Likewise.
25481 (grub_video_fb_get_palette): Likewise.
25482 (grub_video_fb_set_palette): Likewise.
25483 (grub_video_fb_set_viewport): Likewise.
25484 (grub_video_fb_get_viewport): Likewise.
25485 (grub_video_fb_map_color): Likewise.
25486 (grub_video_fb_map_rgb): Likewise.
25487 (grub_video_fb_map_rgba): Likewise.
25488 (grub_video_fb_unmap_color): Likewise.
25489 (grub_video_fb_unmap_color_int): Likewise.
25490 (grub_video_fb_fill_rect): Likewise.
25491 (grub_video_fb_blit_bitmap): Likewise.
25492 (grub_video_fb_blit_render_target): Likewise.
25493 (grub_video_fb_scroll): Likewise.
25494 (grub_video_fb_create_render_target): Likewise.
25495 (grub_video_fb_doublebuf_blit_init): Likewise.
25496 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25497 (doublebuf_pageflipping_update_screen): New function.
25498 (doublebuf_pageflipping_init): Likewise.
25499 (grub_video_fb_setup): Likewise.
25500 (grub_video_fb_swap_buffers): Likewise.
25501 (grub_video_fb_get_info_and_fini): Likewise.
25502 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25503 All users updated.
25504 (doublebuf_pageflipping_commit): Restructured into ...
25505 (doublebuf_pageflipping_set_page): ... this.
25506 (doublebuf_pageflipping_update_screen): Removed.
25507 (doublebuf_pageflipping_init): Likewise.
25508 (double_buffering_init): Likewise.
25509 (grub_video_vbe_setup): Use grub_video_fb_setup.
25510 (grub_video_vbe_swap_buffers): Removed.
25511 (grub_video_vbe_set_active_render_target): Likewise.
25512 (grub_video_vbe_get_active_render_target): Likewise.
25513 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25514 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25515 grub_video_fb_set_active_render_target and
25516 grub_video_fb_get_active_render_target.
25517 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25518 (SEQUENCER_DATA_PORT): Likewise.
25519 (MAP_MASK_REGISTER): Likewise.
25520 (CRTC_ADDR_PORT): Likewise.
25521 (CRTC_DATA_PORT): Likewise.
25522 (START_ADDR_HIGH_REGISTER): Likewise.
25523 (START_ADDR_LOW_REGISTER): Likewise.
25524 (GRAPHICS_ADDR_PORT): Likewise.
25525 (GRAPHICS_DATA_PORT): Likewise.
25526 (READ_MAP_REGISTER): Likewise.
25527 (INPUT_STATUS1_REGISTER): Likewise.
25528 (INPUT_STATUS1_VERTR_BIT): Likewise.
25529 (get_map_mask): Use grub_vga_sr_read.
25530 (set_map_mask): Use grub_vga_sr_write.
25531 (set_read_map): Use grub_vga_gr_write.
25532 (set_start_address): Use grub_vga_cr_write.
25533 * video/sm712.c (framebuffer): Remove leftover fields.
25534
25535 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
25536
25537 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25538 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25539 instead. Replace the gfxterm backend check with a check that
25540 ${GRUB_PREFIX}/video.lst is non-empty.
25541 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25542 again.
25543 (load_video): New generated function. Call it before loading
25544 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25545 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25546 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25547 * docs/grub.texi (Simple configuration): Document
25548 GRUB_VIDEO_BACKEND.
25549
25550 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25551
25552 Use video functions in linux and xnu loaders.
25553
25554 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25555 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25556 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25557 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25558 loader/i386/pc/linux.c.
25559 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25560 (find_line_len): Removed.
25561 (find_framebuf): Likewise.
25562 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25563 * loader/i386/efi/xnu.c: Removed.
25564 * loader/i386/pc/xnu.c: Moved from here...
25565 * loader/i386/xnu.c: ...here.
25566
25567 Enable priorities in video drivers.
25568
25569 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25570 (grub_video_adapter): New field prio.
25571 (grub_video_register): Respect prio when inserting.
25572 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25573 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25574 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25575 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25576 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25577 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25578 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25579
25580 Fix SDL driver ID.
25581
25582 * include/grub/video.h (grub_video_driver_id_t): New value
25583 GRUB_VIDEO_DRIVER_SDL.
25584 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25585
25586 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25587
25588 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25589 argument to printf.
25590 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25591
25592 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25593
25594 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25595 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25596
25597 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25598
25599 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25600 directly, and recommend grub-install instead.
25601 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25602
25603 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25604
25605 Fix i386-pc prefix handling with nested partitions (Debian bug
25606 #585068). Note that the case where the core image is booted using
25607 multiboot and relocated from its original location still requires
25608 more work.
25609
25610 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25611 with "(,", fill the boot drive in between those two characters, but
25612 expect that a full partition specification including partition map
25613 names will follow.
25614 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25615 specified, write a prefix without the drive name but including a
25616 full partition specification.
25617
25618 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
25619
25620 * util/grub-mkconfig.in: Ignore non-option arguments, for
25621 compatibility with older versions (before 2010-06-12) which did the
25622 same. In particular, this makes it easier to ship an update-grub
25623 wrapper which is compatible with that used with GRUB Legacy (Debian
25624 bug #586056).
25625
25626 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25627
25628 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25629 for manual page generation.
25630
25631 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25632
25633 * po/POTFILES: Remove leftover commands/handler.c.
25634
25635 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25636
25637 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25638 left this script non-functional.
25639
25640 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25641
25642 * docs/man/grub-emu.h2m: New file.
25643
25644 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
25645
25646 * docs/grub.texi (Commands): Document reduced command set in rescue
25647 mode.
25648 (cpuid): New section.
25649
25650 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25651
25652 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25653 new partition naming style.
25654 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25655
25656 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25657
25658 Add "-o grub.iso" like cmdline options support.
25659
25660 * util/grub-install.in: Improve cmdline option parsing.
25661 * util/grub-mkconfig.in: Likewise.
25662 * util/grub-mkrescue.in: Likewise.
25663 * util/grub-reboot.in: Likewise.
25664 * util/grub-set-default.in: Likewise.
25665 * util/i386/efi/grub-install.in: Likewise.
25666 * util/ieee1275/grub-install.in: Likewise.
25667 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25668
25669 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25670
25671 * .bzrignore: Ignore 41_custom.
25672
25673 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25674
25675 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25676
25677 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25678
25679 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25680 prototype declarations.
25681
25682 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25683 generating fs, partmap, and video lists.
25684 * include/grub/fs.h (grub_fs_register): Omit prototype if
25685 GRUB_LST_GENERATOR is defined.
25686 * include/grub/partition.h (grub_partition_map_register): Likewise.
25687 * include/grub/video.h (grub_video_register): Likewise.
25688
25689 2010-06-12 Javier Martín <lordhabbit@gmail.com>
25690
25691 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25692
25693 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25694
25695 * util/grub-mkrescue.in: Support --xorriso argument.
25696
25697 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25698
25699 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25700 Suggested by: Thomas Schmitt.
25701
25702 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25703
25704 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25705 Suggested by: Thomas Schmitt.
25706
25707 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25708
25709 custom.cfg support.
25710
25711 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25712 * util/grub.d/41_custom.in: New file.
25713
25714 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25715
25716 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25717 been merged back into normal.
25718
25719 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25720
25721 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25722 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25723
25724 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25725
25726 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25727 when generating manual pages.
25728 * docs/man/grub-bin2h.h2m: New file.
25729 * docs/man/grub-editenv.h2m: New file.
25730 * docs/man/grub-fstest.h2m: New file.
25731 * docs/man/grub-install.h2m: New file.
25732 * docs/man/grub-macho2img.h2m: New file.
25733 * docs/man/grub-mkconfig.h2m: New file.
25734 * docs/man/grub-mkdevicemap.h2m: New file.
25735 * docs/man/grub-mkfont.h2m: New file.
25736 * docs/man/grub-mkimage.h2m: New file.
25737 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25738 * docs/man/grub-mkrelpath.h2m: New file.
25739 * docs/man/grub-mkrescue.h2m: New file.
25740 * docs/man/grub-ofpathname.h2m: New file.
25741 * docs/man/grub-pe2elf.h2m: New file.
25742 * docs/man/grub-probe.h2m: New file.
25743 * docs/man/grub-reboot.h2m: New file.
25744 * docs/man/grub-script-check.h2m: New file.
25745 * docs/man/grub-set-default.h2m: New file.
25746 * docs/man/grub-setup.h2m: New file.
25747
25748 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25749
25750 Use FOR_* macros instead of *_iterate whenever possible.
25751
25752 * commands/handler.c: Removed.
25753 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25754 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25755 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25756 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25757 (grub_probe_SOURCES): Remove kern/parser.c.
25758 (util/grub-script-check.c_DEPENDENCIES): Removed.
25759 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25760 and grub_script_check_init.c.
25761 (grub_script_check_init.lst): Removed.
25762 (grub_script_check_init.h): Likewise.
25763 (grub_script_check_init.c): Likewise.
25764 (pkglib_MODULES): Remove handler.mod and sh.mod.
25765 (handler_mod_SOURCES): Removed.
25766 (handler_mod_CFLAGS): Likewise.
25767 (handler_mod_LDFLAGS): Likewise.
25768 (normal_mod_SOURCES): Remove normal/handler.c.
25769 Add script/main.c, script/script.c, script/execute.c,
25770 script/function.c, script/lexer.c, grub_script.tab.c
25771 and grub_script.yy.c.
25772 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25773 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25774 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25775 (grub_setup_SOURCES): Remove kern/parser.c.
25776 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25777 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25778 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25779 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25780 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25781 (grub_setup_SOURCES): Remove kern/parser.c.
25782 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25783 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25784 * include/grub/command.h (grub_command_iterate): Removed.
25785 (FOR_COMMANDS): New macro.
25786 * include/grub/dl.h (grub_dl): New member next.
25787 (grub_dl_iterate): Removed.
25788 (grub_dl_head): New variable declaration.
25789 (FOR_DL_MODULES): New macro.
25790 * include/grub/fs.h: Include list.h.
25791 (grub_fs): Make next first element.
25792 (grub_fs_list): New variable declaration.
25793 (grub_fs_register): Make inline.
25794 (grub_fs_unregister): Likewise.
25795 (grub_fs_iterate): Removed.
25796 (FOR_FILESYSTEMS): New macro.
25797 * include/grub/handler.h: Removed.
25798 * include/grub/list.h (grub_list_hook_t): Removed.
25799 (grub_list_test_t): Likewise.
25800 (grub_list_pop): Likewise.
25801 (grub_list_iterate): Likewise.
25802 (grub_list_insert): Likewise.
25803 (FOR_LIST_ELEMENTS): New macro.
25804 * include/grub/parser.h (grub_parser_class): Removed.
25805 (grub_parser_register): Likewise.
25806 (grub_parser_unregister): Likewise.
25807 (grub_parser_get_current): Likewise.
25808 (grub_parser_set_current): Likewise.
25809 (grub_register_rescue_parser): Likewise.
25810 (grub_rescue_parse_line): New function.
25811 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25812 * include/grub/script_sh.h (grub_script_function_list): New variable
25813 declaration.
25814 (FOR_SCRIPT_FUNCTIONS): New macro.
25815 (grub_script_function_iterate): Removed.
25816 (grub_normal_parse_line): New prototype.
25817 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25818 (FOR_DISABLED_TERM_INPUTS): Likewise.
25819 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25820 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25821 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25822 element.
25823 (grub_video_register): Inline.
25824 (grub_video_unregister): Likewise.
25825 (grub_video_adapter_list): New variable declaration.
25826 (grub_video_iterate): Removed.
25827 (FOR_VIDEO_ADAPTERS): New macro.
25828 * kern/dl.c (grub_dl_list): Removed. All users updated.
25829 (grub_dl_iterate): Removed.
25830 * kern/fs.c (grub_fs_list): Make global.
25831 (grub_fs_register): Removed.
25832 (grub_fs_unregister): Likewise.
25833 (grub_fs_iterate): Likewise.
25834 * kern/handler.c: Removed.
25835 * kern/list.c (grub_list_pop): Removed.
25836 (grub_list_iterate): Likewise.
25837 (grub_list_insert): Likewise.
25838 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25839 (grub_prio_list_insert): Don't use grub_list_insert.
25840 * kern/main.c (grub_register_rescue_parser): Don't call
25841 grub_register_rescue_parser.
25842 * kern/parser.c (grub_parser_class): Removed.
25843 (grub_parser_execute): Use grub_rescue_parse_line.
25844 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25845 (grub_rescue_parser): Removed.
25846 (grub_register_rescue_parser): Likewise.
25847 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25848 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25849 (grub_auth_check_authentication): Likewise.
25850 * normal/completion.c (iterate_command): Removed.
25851 (grub_normal_do_completion): Use FOR_COMMANDS.
25852 * normal/handler.c: Removed.
25853 * normal/main.c (read_config_file): Remove parser changing.
25854 (grub_normal_execute): Don't call read_handler_list.
25855 (grub_normal_read_line_real): Statically allocate prompt.
25856 (grub_cmdline_run): Use grub_normal_parse_line.
25857 (GRUB_MOD_FINI): Don't call free_handler_list.
25858 * normal/menu_entry.c (run): Likewise.
25859 * script/function.c (grub_script_function_list): Make global.
25860 (grub_script_function_iterate): Removed.
25861 * script/main.c (grub_normal_parse_line): Make global.
25862 (grub_sh_parser): Removed.
25863 (GRUB_MOD_INIT): Likewise.
25864 (GRUB_MOD_FINI): Likewise.
25865 * tests/lib/functional_test.c (grub_functional_test): Use
25866 FOR_LIST_ELEMENTS.
25867 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25868 (grub_test_run): Use FOR_LIST_ELEMENTS.
25869 * tests/lib/unit_test.c (main): Likewise.
25870 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25871 grub_list_pop.
25872 * util/grub-fstest.c (grub_term_input_class): Removed.
25873 (grub_term_output_class): Likewise.
25874 * util/grub-probe.c: Likewise.
25875 * util/i386/pc/grub-setup.c: Likewise.
25876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25877 * util/grub-script-check.c (main): Don't call grub_init_all and
25878 grub_fini_all.
25879 * video/video.c (grub_video_adapter_list): Make global.
25880 (grub_video_register): Removed.
25881 (grub_video_unregister): Likewise.
25882 (grub_video_iterate): Likewise.
25883
25884 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25885
25886 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25887 reported by Henrique Ferreiro.
25888
25889 2010-06-09 Robert Millan <rmh@gnu.org>
25890
25891 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25892 ones, when both are available.
25893
25894 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25895
25896 Make --version uniform and avoid hard-coded program name.
25897
25898 * util/grub-mkimage.c (main): Use `program_name' instead of
25899 hard-coded string.
25900 * util/i386/pc/grub-setup.c (main): Likewise.
25901 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25902 * util/grub-install.in: Save the basename of $0 in $self, and use the
25903 latter in informational messages. Use the same format for --version
25904 as the binary programs.
25905 * util/grub-mkconfig.in: Likewise.
25906 * util/grub-mkrescue.in: Likewise.
25907 * util/grub-reboot.in: Likewise.
25908 * util/grub-set-default.in: Likewise.
25909 * util/i386/efi/grub-install.in: Likewise.
25910 * util/ieee1275/grub-install.in: Likewise.
25911 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25912
25913 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25914
25915 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25916 embedding area. Use <= instead of == when checking for non-emptiness.
25917
25918 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25919
25920 * configure.ac: Add `.' to the directories searched for unifont.
25921
25922 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25923
25924 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25925 grub_script.yy.h.
25926
25927 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25928
25929 * docs/grub.texi (History): Expand to cover GRUB 2.
25930 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25931 commands, not `terminal'.
25932 (serial): Likewise.
25933 (terminal_input): New section.
25934 (terminal_output): New section.
25935 (uppermem): New section (stub).
25936 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25937
25938 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25939
25940 * docs/grub.texi (Security): Menu entries are unrestricted by
25941 default, not restricted to superusers as I had previously thought.
25942 Reword to account for this.
25943
25944 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25945
25946 * kern/emu/misc.c (device_mapper_null_log): New function.
25947 (grub_device_mapper_supported): New function.
25948 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25949 prototype.
25950 * kern/emu/hostdisk.c (find_partition_start): Check whether
25951 device-mapper is supported before trying to use it.
25952 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25953
25954 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25955
25956 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25957 (File name syntax): Likewise.
25958 (help): --all is no longer supported in GRUB 2. Be more precise
25959 about pattern matching.
25960
25961 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25962
25963 * normal/completion.c (grub_normal_do_completion): When completing
25964 arguments to "set" and the current word contains an equals sign,
25965 skip to after the equals sign before starting completion.
25966
25967 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25968
25969 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25970
25971 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25972
25973 * docs/grub.texi (Network): New section.
25974 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25975 `(nd)' as in GRUB Legacy.
25976 (pxe_unload): New section.
25977
25978 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25979
25980 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25981 in the rescue shell, so recommend using `set' instead. Thanks,
25982 Jordan Uggla.
25983
25984 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25985
25986 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25987 (password): New section.
25988 (password_pbkdf2): New section.
25989 (search): New section.
25990 (Security): New section.
25991 (Troubleshooting): New section, currently very incomplete.
25992 (Invoking grub-mkpasswd-pbkdf2): New section.
25993 (Internals): New section, currently very incomplete.
25994
25995 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25996
25997 * util/grub.d/00_header.in: Add some more quoting (of
25998 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25999 work again.
26000 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26001
26002 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26003
26004 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26005 to `count', fixing variable shadowing that broke the -c option.
26006
26007 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
26008
26009 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26010 in case they contain spaces.
26011
26012 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26013
26014 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26015 "part_" to partmap module names, in line with grub-install.
26016 Reported by: Jindřich Makovička (Debian bug #584426).
26017
26018 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26019
26020 * util/grub-mkimage.c: Make target-related error messages slightly
26021 more helpful; -O talks about "format". Explicitly point to the use
26022 of -O if no target is specified.
26023 Reported by: Didier Raboud (Debian bug #584415).
26024
26025 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
26026
26027 * INSTALL: Document several build requirements for optional features
26028 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26029
26030 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26031
26032 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26033 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26034 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26035
26036 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26037
26038 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26039 Thanks to Jordan Uggla for spotting this.
26040
26041 2010-06-02 Aleš Nesrsta <starous@volny.cz>
26042
26043 Finally make USB usable.
26044
26045 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26046 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26047 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26048 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26049 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26050 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26051 (GRUB_OHCI_FSMPS): Likewise.
26052 (GRUB_OHCI_PERIODIC_START): Likewise.
26053 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26054 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26055 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26056 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26057 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26058 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26059 (grub_ohci_transaction): Likewise.
26060 (grub_ohci_transfer): Improve condition detection algorithms.
26061 Handle toggle property. Program the transactions correctly.
26062 Improve error handling. Various important fixups.
26063 (grub_ohci_portstatus): Put register writes in right order.
26064 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26065 (grub_uhci_transfer): Don't show "failed" message on success.
26066 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26067 array.
26068 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26069 determine its size.
26070 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26071 before initialization is completed. Use IN direction for empty
26072 transfers. Use last_trans and compute toggle.
26073 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26074 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26075 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26076 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26077 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26078 (grub_usb_device): Increase toggle to 256.
26079 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26080 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26081 GRUB_USBMS_SUBCLASS_SFF8070.
26082 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26083 (grub_scsi_inquiry): New member page and alloc_length.
26084 (grub_scsi_request_sense): New structure.
26085 (grub_scsi_request_sense_data): Likewise.
26086 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26087 control.
26088 * disk/scsi.c (grub_scsi_request_sense): New function.
26089 (grub_scsi_test_unit_ready): Likewise.
26090 (grub_scsi_inquiry): Fill new fields.
26091 (grub_scsi_read_capacity): Likewise.
26092 (grub_scsi_read10): Add request sense at the end.
26093 (grub_scsi_read12): Likewise.
26094 (grub_scsi_write10): Likewise.
26095 (grub_scsi_write12): Likewise.
26096 (grub_scsi_open): Add Test Unit Ready.
26097 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26098 Support additional subclasses. Con't clear halt yet. Activate the
26099 proper config. Calculate LUNs correctly.
26100 (grub_usbms_transfer): Various important fixups.
26101
26102 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26105 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26106 (grub_ohci_fini_hw): New function.
26107 (grub_ohci_restore_hw): Likewise.
26108 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26109 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26110 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26111
26112 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26113
26114 Dedicated DMA allocations.
26115
26116 * bus/pci.c (grub_memalign_dma32): New function
26117 (grub_dma_free): Likewise.
26118 (grub_dma_get_virt): Likewise.
26119 (grub_dma_get_phys): Likewise.
26120 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26121 (grub_ohci_pci_iter): Use dma32_alloc.
26122 (grub_ohci_transfer): Likewise.
26123 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26124 (grub_usb_bulk_readwrite): Likewise.
26125 * include/grub/pci.h: Add declarations.
26126
26127 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26128
26129 CS5536 support.
26130
26131 * bus/cs5536.c: New file.
26132 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26133 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26134 (cs5536_mod_SOURCES): New variable.
26135 (cs5536_mod_CFLAGS): Likewise.
26136 (cs5536_mod_LDFLAGS): Likewise.
26137 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26138 machine/pci.h.
26139 (kernel_img_SOURCES): Add bus/cs5536.c.
26140 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26141 usb_keyboard.mod.
26142 (usb_mod_SOURCES): New variable.
26143 (usb_mod_CFLAGS): New variable.
26144 (usb_mod_LDFLAGS): New variable.
26145 (usbtest_mod_SOURCES): New variable.
26146 (usbtest_mod_CFLAGS): New variable.
26147 (usbtest_mod_LDFLAGS): New variable.
26148 (ohci_mod_SOURCES): New variable.
26149 (ohci_mod_CFLAGS): New variable.
26150 (ohci_mod_LDFLAGS): New variable.
26151 (usbms_mod_SOURCES): New variable.
26152 (usbms_mod_CFLAGS): New variable.
26153 (usbms_mod_LDFLAGS): New variable.
26154 (usb_keyboard_mod_SOURCES): New variable.
26155 (usb_keyboard_mod_CFLAGS): New variable.
26156 (usb_keyboard_mod_LDFLAGS): New variable.
26157 * include/grub/smbus.h: New file.
26158 * include/grub/cs5536.h: New file.
26159
26160 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26161
26162 * util/grub.d/00_header.in: Add safety check to make sure that
26163 ${locale_dir} exists before trying to probe it.
26164
26165 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26166
26167 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26168 per the GNU Coding Standards; this is now too obscure to be worth
26169 documenting.
26170 (QNX): Likewise.
26171 (chainloader): Remove cross-reference to `SCO UnixWare'.
26172
26173 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26174
26175 * docs/grub.texi (Chain-loading): New section.
26176 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26177 adjusted for GRUB 2.
26178 (SCO UnixWare): Likewise.
26179 (QNX): Likewise.
26180 (chainloader): Add reference to `Block list syntax'.
26181 (drivemap): New section.
26182 (parttool): New section.
26183
26184 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26185
26186 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26187 the grub shell'.
26188 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26189 (Installing GRUB using grub-install): Remove reference to the grub
26190 shell; mention `grub-mkimage' and `grub-setup' instead.
26191 (Invoking grub-install): Likewise.
26192 (Interface): Add reference to `Menu entry editor'.
26193 (serial): Remove `--device' option.
26194
26195 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26196
26197 * docs/grub.texi (Configuration): New section, documenting
26198 configuration file generation using grub-mkconfig. I've left a slot
26199 for documenting the full shell scripting format but have not yet
26200 started on writing that up.
26201 (Invoking grub-mkconfig): New section.
26202
26203 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26204
26205 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26206 (GNU GRUB manual): Likewise.
26207 (General commands): Update description of `terminfo' for GRUB 2.
26208
26209 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26210
26211 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26212 (GRUB_MOD_INIT): Fix capitalisation.
26213 * docs/grub.texi (Command-line and menu entry commands): Document
26214 gettext and gptsync commands.
26215
26216 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26217
26218 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26219 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26220
26221 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
26222
26223 Add btrfs probing support, currently only in the single-device case.
26224
26225 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26226 function.
26227 (grub_guess_root_device): Call find_root_device_from_mountinfo
26228 before looking in /dev.
26229
26230 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26231
26232 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26233 GRUB_DISK_SIZE_UNKNOWN.
26234 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26235
26236 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
26237
26238 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26239 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26240 corrupted or not synced properly.
26241
26242 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26243
26244 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26245 Reported by: Seth Goldberg.
26246
26247 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26248
26249 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26250 addition of dest.
26251 Reported by: Seth Goldberg.
26252
26253 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26254
26255 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26256 Reported by: Seth Goldberg.
26257
26258 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26261 64-bit address as signed on MIPS.
26262
26263 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26264
26265 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26266 to the empty string.
26267
26268 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26269
26270 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26271
26272 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26273 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26274 * kern/misc.c (__enable_execute_stack): Disable on
26275 GRUB_MACHINE_EMU.
26276
26277 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26278
26279 Make grub-probe work with symbolic links under /dev/mapper as well
26280 as with real block devices. The Linux world seems to be (at best)
26281 in transition here, and GRUB shouldn't get caught in the middle.
26282
26283 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26284 /dev/mapper.
26285
26286 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26287
26288 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26289 input files (in which case exit zero).
26290
26291 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26292
26293 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26294 return NULL for various reasons even if it has a maximum-length
26295 buffer: for example, there might be a symlink loop, or the path
26296 might exceed PATH_MAX. If this happens, return NULL.
26297
26298 2010-05-27 Robert Millan <rmh@gnu.org>
26299
26300 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26301 partmap module to handle cross-partmap setups.
26302 Reported by Orestes Mas. Gràcies!
26303
26304 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26305
26306 * util/grub-mkrescue.in: Initialise override_dir rather than
26307 assuming that it's unset or empty in the environment.
26308
26309 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26310
26311 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26312 variable index into p_index to suppress a warning with -Wshadow.
26313
26314 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26315
26316 * INSTALL: Added flex >= 2.5.35 requirement.
26317
26318 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26321
26322 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 cmostest support.
26325
26326 * commands/i386/cmostest.c: New file.
26327 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26328 (cmostest_mod_SOURCES): New variable.
26329 (cmostest_mod_CFLAGS): Likewise.
26330 (cmostest_mod_LDFLAGS): Likewise.
26331 * conf/i386-pc.rmk: Likewise.
26332 * docs/grub.texi (Vendor power-on keys): New section.
26333 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26334 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26335 and GRUB_BUTTON_CMOS_ADDRESS.
26336 * util/grub.d/00_header.in: Handle powering-on by separate button.
26337
26338 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26339
26340 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26341 Removed drawing_scrollbar argument. All users updated
26342 Fixes #29792.
26343 Reported by Jo Shields
26344
26345 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26348 buffer since gfxterm handles double repaint.
26349
26350 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26351
26352 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26353 * term/gfxterm.c (real_scroll): Likewise.
26354
26355 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26358 before calling BIOS.
26359
26360 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26361
26362 * include/grub/i18n.h: Always enable grub_gettext.
26363
26364 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26365
26366 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26367 partition naming style.
26368
26369 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
26370
26371 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26372 not the first option.
26373
26374 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26375
26376 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26377
26378 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26379
26380 * util/misc.c: Move inclusion of <limits.h> to ...
26381 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26382
26383 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26384
26385 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26386 Fix merge error in NetBSD code.
26387 (find_partition_start) [__NetBSD__]: Likewise.
26388
26389 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26390
26391 Fix grub-mkrescue usage unit testing.
26392
26393 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26394
26395 2010-05-18 Christian Franke <franke@computer.org>
26396
26397 * util/grub.d/10_windows.in: Use path names instead of
26398 drive letters to prevent warning from Cygwin 1.7.
26399 Add drivemap command to menuentry if needed.
26400
26401 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26402
26403 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26404 gnumach and gnumach.gz.
26405
26406 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 * include/grub/i18n.h (gettext): Inline instead of using #define.
26409 (grub_gettext): Likewise.
26410 (_): Likewise.
26411
26412 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26413
26414 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26415 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26416 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26417 (main): Add a slash after pkglibdirroot.
26418
26419 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26420
26421 * util/grub-install.in: Add missing "in" keyword.
26422
26423 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26426 Reported by: Seth Goldberg.
26427
26428 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26429
26430 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26431
26432 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26433
26434 * configure.ac: Check for Linux device-mapper support.
26435
26436 * util/hostdisk.c (device_is_mapped): New function.
26437 (find_partition_start): New function, partly broken out from
26438 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26439 device-mapper support added.
26440 (linux_find_partition): Use find_partition_start.
26441 (convert_system_partition_to_system_disk): Add `st' argument.
26442 Support Linux /dev/mapper/* devices if device-mapper support is
26443 available; only DM-RAID devices are understood at present.
26444 (find_system_device): Add `st' argument. Pass it to
26445 convert_system_partition_to_system_disk.
26446 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26447 find_system_device and convert_system_partition_to_system_disk. Use
26448 find_partition_start.
26449
26450 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26451 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26452 * util/deviceiter.c [__linux__]: Define MINOR.
26453 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26454 * util/mkdevicemap.c (grub_putchar): New function.
26455 (grub_getkey): New function.
26456 (grub_refresh): New function.
26457 (main): Set debug=all if -v -v is used.
26458
26459 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26460
26461 Fix build with non-GNU libcs.
26462
26463 * util/misc.c (canonicalize_file_name): Move to ...
26464 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26465 grub_make_system_path_relative_to_its_root.
26466
26467 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26468
26469 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26470 we handle finding grub-mkimage. Default to finding grub-mkimage in
26471 ${bindir} with program_transform_name applied, and provide a
26472 --grub-mkimage option to override this.
26473
26474 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26475
26476 Remove grub-mkisofs.
26477
26478 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26479 (grub_mkisofs_SOURCES): Removed.
26480 (grub_mkisofs_CFLAGS): Removed.
26481 * util/mkisofs/defaults.h: Removed.
26482 * util/mkisofs/eltorito.c: Likewise.
26483 * util/mkisofs/exclude.h: Likewise.
26484 * util/mkisofs/hash.c: Likewise.
26485 * util/mkisofs/include/: Likewise.
26486 * util/mkisofs/include/fctldefs.h: Likewise.
26487 * util/mkisofs/include/mconfig.h: Likewise.
26488 * util/mkisofs/include/prototyp.h: Likewise.
26489 * util/mkisofs/include/statdefs.h: Likewise.
26490 * util/mkisofs/iso9660.h: Likewise.
26491 * util/mkisofs/joliet.c: Likewise.
26492 * util/mkisofs/match.c: Likewise.
26493 * util/mkisofs/match.h: Likewise.
26494 * util/mkisofs/mkisofs.c: Likewise.
26495 * util/mkisofs/mkisofs.h: Likewise.
26496 * util/mkisofs/msdos_partition.h: Likewise.
26497 * util/mkisofs/multi.c: Likewise.
26498 * util/mkisofs/name.c: Likewise.
26499 * util/mkisofs/rock.c: Likewise.
26500 * util/mkisofs/tree.c: Likewise.
26501 * util/mkisofs/write.c: Likewise.
26502
26503 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 Unify grub-mkimage accross platforms.
26506
26507 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26508 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26509 (grub_mkelfimage_SOURCES): Removed.
26510 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26511 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26512 (bin_UTILITIES): Add grub-mkimage.
26513 (grub_mkimage_SOURCES): New variable.
26514 (kernel_img_HEADERS): Remove machine/kernel.h.
26515 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26516 (pkglib_PROGRAMS): Add kernel.img.
26517 (kernel_img_HEADERS): Add machine/kernel.h.
26518 (kernel_img_FORMAT): Removed.
26519 (bin_UTILITIES): Remove grub-mkimage.
26520 (grub_mkimage_SOURCES): Removed.
26521 (grub_mkimage_CFLAGS): Likewise.
26522 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26523 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26524 (pkglib_PROGRAMS): Add kernel.img.
26525 (bin_UTILITIES): Remove grub-mkimage.
26526 (grub_mkimage_SOURCES): Removed.
26527 (grub_mkimage_CFLAGS): Likewise.
26528 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26529 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26530 (pkglib_PROGRAMS): Add kernel.img.
26531 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26532 (pkglib_PROGRAMS): Add kernel.img.
26533 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26534 (grub_mkimage_SOURCES): Removed.
26535 (grub_mkimage_CFLAGS): Likewise.
26536 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26537 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26538 (pkglib_PROGRAMS): Add kernel.img.
26539 (bin_UTILITIES): Remove grub-mkimage.
26540 (grub_mkimage_SOURCES): Removed.
26541 (grub_mkimage_CFLAGS): Likewise.
26542 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26543 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26544 (grub_mkimage_SOURCES): Removed.
26545 (grub_mkimage_CFLAGS): Likewise.
26546 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26547 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26548 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26549 (grub_pe32_optional_header): ... this.
26550 (grub_pe64_optional_header): ... and this. All users updated.
26551 (GRUB_PE32_PE32_MAGIC): Split into ..
26552 (GRUB_PE32_PE32_MAGIC): .. this.
26553 (GRUB_PE32_PE64_MAGIC): .. and this.
26554 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26555 * include/grub/elf.h (PT_GNU_STACK): New definition.
26556 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26557 * include/grub/i386/efi/kernel.h: Likewise.
26558 * include/grub/i386/kernel.h: Likewise.
26559 * include/grub/i386/pc/kernel.h: Likewise.
26560 * include/grub/i386/qemu/boot.h: Likewise.
26561 * include/grub/mips/kernel.h: Likewise.
26562 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26563 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26564 * include/grub/powerpc/kernel.h: Likewise.
26565 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26566 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26567 * include/grub/sparc64/kernel.h: Likewise.
26568 * include/grub/x86_64/efi/kernel.h: Likewise.
26569 * include/grub/x86_64/kernel.h: Likewise.
26570 * include/grub/offsets.h: New file.
26571 * include/grub/kernel.h (grub_module_info): Split into ...
26572 (grub_module_info32): ... this.
26573 (grub_module_info64): ... and this.
26574 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26575 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26576 (grub_boot_blocklist): Moved from here ...
26577 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26578 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26579 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26580 * include/grub/types.h (grub_target_to_host16): Removed.
26581 (grub_target_to_host32): Likewise.
26582 (grub_target_to_host64): Likewise.
26583 (grub_host_to_target16): Likewise.
26584 (grub_host_to_target32): Likewise.
26585 (grub_host_to_target64): Likewise.
26586 (grub_host_to_target_addr): Likewise.
26587
26588 Support grub-mkrescue for efi, coreboot and qemu.
26589
26590 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26591 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26592 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26593 * util/grub-mkrawimage.c: Moved from here ...
26594 * util/grub-mkimage.c: ... here. All users updated.
26595 (ALIGN_ADDR): Use image_target.
26596 (TARGET_NO_FIELD): New const.
26597 (image_target_desc): New type.
26598 (image_targets): New array.
26599 (grub_target_to_host64): Use image_target.
26600 (grub_target_to_host32): Likewise.
26601 (grub_target_to_host16): Likewise.
26602 (grub_host_to_target64): Likewise.
26603 (grub_host_to_target32): Likewise.
26604 (grub_host_to_target16): Likewise.
26605 (grub_host_to_target_addr): Likewise.
26606 (generate_image): Handle multiimage.
26607 (main): Require -O parameter. All users updated.
26608 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26609 util/efi/grub-mkimage.c
26610 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26611 New option --rom-directory.
26612 Use xorriso.
26613 * util/i386/efi/grub-mkimage.c: Removed.
26614 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26615 (grub_target_to_host32): Likewise.
26616 (grub_target_to_host64): Likewise.
26617 (grub_host_to_target16): Likewise.
26618 (grub_host_to_target32): Likewise.
26619 (grub_host_to_target64): Likewise.
26620 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26621 (grub_target_to_host32): Likewise.
26622 (grub_target_to_host64): Likewise.
26623 (grub_host_to_target16): Likewise.
26624 (grub_host_to_target32): Likewise.
26625 (grub_host_to_target64): Likewise.
26626
26627 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26628
26629 Source tree is reorganized for emu build.
26630
26631 * include/grub/util/console.h: Move from here...
26632 * include/grub/emu/console.h: ...to here.
26633 * include/grub/util/getroot.h: Move from here...
26634 * include/grub/emu/getroot.h: ...to here.
26635 * include/grub/util/hostdisk.h: Move from here...
26636 * include/grub/emu/hostdisk.h: ...to here.
26637 * util/console.c: Move from here...
26638 * kern/emu/console.c: ...to here.
26639 * util/getroot.c: Move from here...
26640 * kern/emu/getroot.c: ...to here.
26641 * util/grub-emu.c: Move from here...
26642 * kern/emu/main.c: ...to here.
26643 * util/hostdisk.c: Move from here...
26644 * kern/emu/hostdisk.c: ...to here.
26645 * util/hostfs.c: Move from here...
26646 * kern/emu/hostfs.c: ...to here.
26647 * util/mm.c: Move from here...
26648 * kern/emu/mm.c: ...to here.
26649 * util/pci.c: Move from here...
26650 * bus/emu/pci.c: ...to here.
26651 * util/sdl.c: Move from here...
26652 * video/emu/sdl.c: ...to here.
26653 * util/time.c: Move from here...
26654 * kern/emu/time.c: ...to here.
26655 * util/usb.c: Move from here...
26656 * bus/usb/emu/usb.c: ...to here.
26657
26658 * include/grub/emu/misc.h: New header for grub-emu functions.
26659 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26660
26661 * conf/any-emu.rmk: Rule updates for above renames.
26662 * conf/common.rmk: Likewise.
26663 * conf/i386-pc.rmk: Likewise.
26664 * conf/i386-qemu.rmk: Likewise.
26665 * conf/mips.rmk: Likewise.
26666 * conf/sparc64-ieee1275.rmk: Likewise.
26667 * conf/x86-efi.rmk: Likewise.
26668
26669 * disk/lvm.h: #include updates for above renames.
26670 * util/grub-mkrelpath.c: Likewise.
26671 * util/grub-probe.c: Likewise.
26672 * util/i386/pc/grub-setup.c: Likewise.
26673 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26674 * kern/emu/console.c: Likewise.
26675 * kern/emu/getroot.c: Likewise.
26676 * kern/emu/hostdisk.c: Likewise.
26677 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26678
26679 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26680 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26681 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26682 * util/misc.c: Remove grub-emu functions.
26683
26684 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26685
26686 Fix gfxmenu crash.
26687 Reported by: Thorsten Grützmacher.
26688
26689 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26690 timeout hook.
26691 (circprog_set_property): Register and unregister timeout hook.
26692 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26693 (label_destroy): Free template. and unregister hook.
26694 (label_set_state): New function.
26695 (label_set_property): Handle templates and hooks.
26696 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26697 timeout hook.
26698 (progress_bar_set_property): Register and unregister timeout hook.
26699 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26700 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26701 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26702 (update_timeout_visit): Removed.
26703 (update_timeouts): New function.
26704 (redraw_timeouts): Likewise.
26705 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26706 (grub_gfxmenu_clear_timeout): Likewise.
26707 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26708 (grub_gfxmenu_timeout_notify): Likewise.
26709 (grub_gfxmenu_timeout_notifications): New external variable.
26710 (grub_gfxmenu_timeout_register): New function.
26711 (grub_gfxmenu_timeout_unregister): Likewise.
26712
26713 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 Transform (broken) vga terminal into (working) vga video driver.
26716
26717 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26718 video/i386/pc/vga.c.
26719 * include/grub/video.h (grub_video_driver_id):
26720 Add GRUB_VIDEO_DRIVER_VGA.
26721 * term/i386/pc/vga.c: Renamed to ...
26722 * video/i386/pc/vga.c: ...this
26723 (DEBUG_VGA): Removed.
26724 (CHAR_WIDTH): Likewise.
26725 (CHAR_HEIGHT): Likewise.
26726 (TEXT_WIDTH): Likewise.
26727 (TEXT_HEIGHT): Likewise.
26728 (DEFAULT_FG_COLOR): Likewise.
26729 (DEFAULT_BG_COLOR): Likewise.
26730 (colored_char): Likewise.
26731 (xpos): Likewise.
26732 (ypos): Likewise.
26733 (cursor_state): Likewise.
26734 (fg_color): Likewise.
26735 (bg_color): Likewise.
26736 (text_buf): Likewise.
26737 (page): Likewise.
26738 (font): Likewise.
26739 (framebuffer): New variable.
26740 (set_read_map): Disabled.
26741 (setup): New variable.
26742 (is_target): Likewise.
26743 (grub_vga_mod_init): Likewise.
26744 (grub_vga_mod_fini): Likewise.
26745 (check_vga_mem): Likewise.
26746 (write_char): Likewise.
26747 (write_cursor): Likewise.
26748 (scroll_up): Likewise.
26749 (grub_vga_putchar): Likewise.
26750 (grub_vga_getcharwidth): Likewise.
26751 (grub_vga_getwh): Likewise.
26752 (grub_vga_getxy): Likewise.
26753 (grub_vga_gotoxy): Likewise.
26754 (grub_vga_cls): Likewise.
26755 (grub_vga_setcolorstate): Likewise.
26756 (grub_vga_setcursor): Likewise.
26757 (grub_video_vga_init): New function.
26758 (grub_video_vga_setup): Likewise.
26759 (grub_video_vga_fini): Likewise.
26760 (update_target): Likewise.
26761 (grub_video_vga_blit_bitmap): Likewise.
26762 (grub_video_vga_blit_render_target): Likewise.
26763 (grub_video_vga_set_active_render_target): Likewise.
26764 (grub_video_vga_get_active_render_target): Likewise.
26765 (grub_video_vga_swap_buffers): Likewise.
26766 (grub_video_vga_set_palette): Likewise.
26767 (grub_video_vga_get_info_and_fini): Likewise.
26768 (grub_vga_term): Removed.
26769 (grub_video_vga_adapter): New variable.
26770 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26771 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26772
26773 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26774
26775 * video/readers/jpeg.c: Indented.
26776
26777 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 Various jpeg cleanups.
26780
26781 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26782 (grub_jpeg_decode_quan_table): Use sizeof.
26783 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26784
26785 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
26786
26787 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26788 tables. Ignore non-last ac bit.
26789 (grub_jpeg_decode_quan_table): Likewise.
26790
26791 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26792
26793 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26794 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26795 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26796 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26797 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26798 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26799
26800 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26803 error.
26804
26805 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26806
26807 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26808
26809 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26810
26811 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26812 condition.
26813
26814 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26815
26816 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26817 part.
26818
26819 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26820
26821 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26822 pointers.
26823
26824 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26825
26826 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26827
26828 2010-05-01 Christian Franke <franke@computer.org>
26829
26830 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26831 Remove broken Cygwin path conversion.
26832 * util/misc.c: [__CYGWIN__] Add include and define.
26833 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26834 for Cygwin 1.7.
26835 (make_system_path_relative_to_its_root): Simplify loop, replace early
26836 return by break.
26837 [__CYGWIN__] Add conversion to win32 path.
26838 Include "/" case in trailing slash removal.
26839
26840 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26841
26842 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26843 Reported by: Seth Goldberg
26844
26845 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26846
26847 * commands/help.c (grub_cmd_help): Fix a typo.
26848 Reported by: Seth Goldberg
26849
26850 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26853 name and add N_.
26854 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26855 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26856 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26857 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26858 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26859 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26860 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26861 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26862 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26863 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26864 * normal/context.c (GRUB_MOD_INIT): Likewise.
26865 * normal/main.c (GRUB_MOD_INIT): Likewise.
26866 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26867 * term/serial.c (GRUB_MOD_INIT): Likewise.
26868 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26869
26870 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26871
26872 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26873 extra == 0.
26874
26875 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26876
26877 * commands/iorw.c: New file.
26878 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26879 (iorw_mod_SOURCES): New variable.
26880 (iorw_mod_CFLAGS): Likewise.
26881 (iorw_mod_LDFLAGS): Likewise.
26882
26883 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 Hotkey support
26886
26887 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26888 * normal/main.c (hotkey_aliases): New variable.
26889 (grub_normal_add_menu_entry): Parse "--hotkey".
26890 * normal/menu_text.c (run_menu): Handle hotkeys.
26891
26892 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26893
26894 * kern/i386/coreboot/init.c (grub_machine_init): Call
26895 grub_machine_mmap_init on qemu.
26896
26897 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 * boot/i386/qemu/boot.S: Add a missing .code16.
26900
26901 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26902
26903 Use LBIO on coreboot.
26904
26905 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26906 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26907 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26908 New declaration.
26909 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26910 grub_machine_mmap_init on coreboot.
26911 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26912 GRUB_LINUXBIOS_MEMBER_LINK.
26913 (grub_machine_mmap_iterate): Fix declaration.
26914 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26915
26916 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 Split coreboot and multiboot ports.
26919
26920 * conf/i386-multiboot.rmk: New file.
26921 * configure.ac: Add multiboot port.
26922 * include/grub/i386/multiboot/boot.h: New file.
26923 * include/grub/i386/multiboot/console.h: Likewise.
26924 * include/grub/i386/multiboot/init.h: Likewise.
26925 * include/grub/i386/multiboot/kernel.h: Likewise.
26926 * include/grub/i386/multiboot/loader.h: Likewise.
26927 * include/grub/i386/multiboot/memory.h: Likewise.
26928 * include/grub/i386/multiboot/serial.h: Likewise.
26929 * include/grub/i386/multiboot/time.h: Likewise.
26930 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26931 * loader/multiboot.c: Likewise.
26932 * loader/multiboot_mbi2.c: Likewise.
26933 * util/grub-mkrescue.in: Generate multiboot rescue.
26934
26935 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26938
26939 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 Merge handling of input and output terminals. Fix a hang.
26942
26943 * commands/terminal.c (abstract_terminal): New struct.
26944 (handle_command): New function. Based on grub_cmd_terminal_input.
26945 (grub_cmd_terminal_input): Use handle_command.
26946 (grub_cmd_terminal_output): Use handle_command.
26947
26948 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26949
26950 Fix comment handling.
26951
26952 * tests/grub_script_comments.in: New testcase.
26953 * conf/tests.rmk: Rules for new testcase.
26954 * script/yylex.l: Updated flex rules.
26955
26956 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26957
26958 * docs/grub.texi (play): Document that zero pitches produce rests.
26959 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26960 if argc is 1.
26961
26962 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26963
26964 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26965 autogen issues.
26966
26967 2010-04-26 Christian Franke <franke@computer.org>
26968
26969 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26970 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26971 (grub_get_prefix): Remove function.
26972 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26973 make_system_path_relative_to_its_root ().
26974 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26975
26976 2010-04-24 Christian Franke <franke@computer.org>
26977
26978 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26979 (kernel_img_LDFLAGS): Remove -static-libgcc.
26980
26981 2010-04-24 Christian Franke <franke@computer.org>
26982
26983 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26984 and CHECK_END_SYMBOL if grub-emu is built.
26985 Unset TARGET_OBJ2ELF if grub-emu is built
26986 without module support.
26987
26988 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
26989
26990 Nilfs2 support.
26991
26992 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26993 (grub_fstest_SOURCES): Likewise.
26994 (pkglib_MODULES): Add nilfs2.mod.
26995 (nilfs2_mod_SOURCES): New variable.
26996 (nilfs2_mod_CFLAGS): Likewise.
26997 (nilfs2_mod_LDFLAGS): Likewise.
26998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26999 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27000 * fs/nilfs2.c: New file.
27001
27002 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27005 is not supported.
27006
27007 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27008
27009 Add grub-mkconfig support for NetBSD.
27010
27011 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27012 * util/grub-mkconfig.in: export new NetBSD specific variables.
27013 * po/POTFILES-shell: added 10_netbsd.in.
27014 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27015
27016 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27017
27018 Fix emu build with grub-emu-pci and grub-emu-modules.
27019
27020 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27021 functions.
27022 * include/grub/libpciaccess.h: New file.
27023 * conf/any-emu.rmk: Update kernel headers for emu build.
27024
27025 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27026
27027 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27028
27029 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27032
27033 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27036 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27037 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27038 util/ieee1275/ofpath.c.
27039 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27040 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27041 * include/grub/sparc64/ieee1275/boot.h
27042 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27043 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27044 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27045 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27046 const char *.
27047 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27048 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27049 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27050 install.
27051
27052 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27053
27054 * util/grub-mkconfig.in: Corrected two == equality tests.
27055 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27056 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27057 expect a number appended to it.
27058 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27059 expects a number appended to it.
27060
27061 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27062
27063 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27064
27065 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * util/hostdisk.c (make_device_name): Change to new partition naming.
27068
27069 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27072
27073 2010-04-17 Christian Franke <franke@computer.org>
27074
27075 * Makefile.in: Add missing localedir setting.
27076
27077 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
27078
27079 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27080 mistake in r2156. Noticed by Anthony Fok.
27081
27082 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27083 @localedir@.
27084 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27085
27086 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27087
27088 Fix a spurious, uninitialized variable warning.
27089
27090 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27091 Initialize variable, shdr.
27092 (grub_freebsd_load_elfmodule): Likewise.
27093 (grub_freebsd_load_elf_meta): Likewise.
27094
27095 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27096
27097 Fix for escaped dollar in double quoted strings.
27098
27099 * script/yylex.l: Updated flex rules.
27100 * conf/tests.rmk: Rule for new testcase.
27101 * tests/grub_script_dollar.in: New testcase.
27102
27103 2010-04-13 Carles Pina i Estany <carles@pina.cat>
27104 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
27105
27106 Enclose all translated strings in grub.cfg in single quotes, and
27107 escape them appropriately (Ubuntu bug #552921).
27108
27109 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27110 * util/grub.d/10_hurd.in: Use it.
27111 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27112 * util/grub.d/10_linux.in (linux_entry): Likewise.
27113
27114 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 Fix cygwin compilation.
27117
27118 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27119 * include/grub/misc.h (__register_frame_info)
27120 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27121 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27122 * kern/misc.c (__register_frame_info)
27123 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27124 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27125
27126 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27127
27128 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27129
27130 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Unify libgcc processing.
27133
27134 * Makefile.in (kernel_img_LDFLAGS): New variable.
27135 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27136 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27137 overwriting.
27138 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27139 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27140 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27141 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27142 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27143 overwriting. Remove -lgcc and -static-libgcc
27144 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27145 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27146 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27147 (kernel_img_LDFLAGS): Append instead of overwriting.
27148 Remove -lgcc and -static-libgcc
27149 * conf/sparc64-ieee1275.rmk: Likewise.
27150 * include/grub/powerpc/libgcc.h: Move to ...
27151 * include/grub/libgcc.h: .. this.
27152 * include/grub/libgcc.h: Don't export most of the function on x86.
27153 (__bswapsi2): New export.
27154 (__bswapdi2): Likewise.
27155 * include/grub/mips/libgcc.h: Removed.
27156 * include/grub/sparc64/libgcc.h: Likewise.
27157
27158 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27159
27160 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27161 disk_info_msg (conflicts with gettexting into languages with cases).
27162
27163 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27164
27165 Add grub-probe support for NetBSD.
27166
27167 * util/getroot.c (find_root_device): Convert block device to
27168 character device on NetBSD.
27169 * util/probe.c (probe): Require character device on NetBSD.
27170 * util/hostdisk.c: NetBSD specific headers.
27171 (configure_device_driver): new function to tune device driver
27172 parameters (currently only for NetBSD floppy driver).
27173 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27174 via disklabel ioctl).
27175 (open_device): call configure_device_driver on NetBSD.
27176 (convert_system_partition_to_system_disk): NetBSD specific code.
27177 (device_is_wholedisk): Likewise.
27178 (grub_util_biosdisk_get_grub_dev): Likewise.
27179 (make_device_name): Fixed a typo in bsd_part_str.
27180 * configure.ac: check for opendisk() and getrawpartition() on
27181 NetBSD and set LIBUTIL.
27182 * Makefile.in: add LIBUTIL to LIBS.
27183
27184 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27185
27186 Documentation fix.
27187
27188 * util/grub-script-check.c: Better help message.
27189
27190 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27191
27192 Fix FreeBSD build.
27193
27194 * configure.ac: Flex version check.
27195 * conf/common.rmk: Add -Wno-error to sh.mod.
27196 * script/yylex.l: Remove all #pragma.
27197
27198 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27199
27200 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27201 prototype.
27202 Reported by: Seth Goldberg.
27203
27204 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27207 Rename "module" to "module2".
27208 Reported by: Seth Goldberg.
27209
27210 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27211
27212 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27213 EXPORT_FUNC.
27214 Reported by: Seth Goldberg.
27215
27216 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27217
27218 * lib/posix_wrap/locale.h: Add missing file.
27219 Reported by: Seth Goldberg.
27220
27221 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 grub-emu module load support.
27224
27225 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27226 NO_DYNAMIC_MODULES switched to this.
27227 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27228 (CFLAGS): Likewise.
27229 * conf/any-emu.rmk: Generate symlist.
27230 (kernel_img_HEADERS): Add util/datetime.h.
27231 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27232 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27233 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27234 kern/$(target_cpu)/cache.S.
27235 * configure.ac (grub-emu-modules): New option.
27236 * genmk.rb: Handle multiple source lists.
27237 * include/grub/sdl.h: New file.
27238 * include/grub/libusb.h: Likewise.
27239 * util/grub-emu.c (main): Hanle (host) root.
27240 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27241 GRUB_ERR_UNKNOWN_DEVICE.
27242 * util/misc.c: Move mm functions to ...
27243 * util/mm.c: ... here. All users updated.
27244
27245 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27246
27247 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27248 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27249 missing files.
27250 (maintainer-clean): Remove libgcrypt-grub.
27251
27252 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27253
27254 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27255
27256 2010-04-09 EFI Coder <eficoder@hotmail.com>
27257
27258 * normal/menu_text.c (print_message): Clean up the message and show
27259 the Fn information when on EFI
27260 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27261
27262 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27263
27264 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27265 All users updated.
27266 * normal/crypto.c (read_crypto_list): Likewise.
27267 * normal/dyncmd.c (read_command_list): Likewise.
27268 * normal/term.c (read_terminal_list): Likewise.
27269 * normal/main.c (read_lists): Use explicit prefix.
27270 (read_lists_hook): Use read_lists.
27271 (grub_normal_execute): Likewise.
27272
27273 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27274
27275 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27276 Reported by: Thomas Schmitt.
27277 Add -no-emul-boot to grub-mkisofs parameters.
27278
27279 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27280
27281 * font/font.c: Indented.
27282
27283 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27284
27285 Elif support to GRUB script (by Deepak Vankadaru).
27286
27287 * tests/grub_script_if.in: New testcase.
27288 * conf/tests.rmk: Rule for new testcase.
27289 * script/parser.y: Grammar rules for elif.
27290
27291 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27292
27293 While and until loops support to GRUB script.
27294
27295 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27296 (grub_script_create_cmdwhile): New function prototype.
27297 (grub_script_execute_cmdwhile): New function prototype.
27298 * script/execute.c (grub_script_execute_cmdwhile): New function.
27299 * script/parser.y (command): New commands.
27300 (whilecmd): New grammar rule.
27301 (untilcmd): New grammar rule.
27302 * script/script.c (grub_script_create_cmdwhile): New function.
27303 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27304 function.
27305
27306 * tests/grub_script_while1.in: New testcase.
27307 * conf/tests.rmk: Rule for new testcase.
27308
27309 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27312 as *.jpg.
27313
27314 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
27315
27316 GRUB_BACKGROUND support.
27317
27318 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27319 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27320
27321 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27322
27323 Load fonts and modules for gfxmenu in grub-mkconfig.
27324 Idea by: Mario Vazquez
27325
27326 * util/grub.d/00_header.in: Load pf2 and image modules.
27327
27328 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 grub-mkconfig multiple terminal support.
27331
27332 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27333 * util/grub.d/00_header.in: Likewise.
27334
27335 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27338 we use cd $(srcdir).
27339
27340 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
27341
27342 * util/grub.d/10_linux.in: Only use the first word of
27343 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27344 spaces in GRUB_DISTRIBUTOR.
27345 * util/grub.d/10_kfreebsd.in: Likewise.
27346 * util/grub.d/10_hurd.in: Likewise.
27347
27348 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27349
27350 Fix unit testing framework for Qemu 0.12.
27351
27352 * tests/util/grub-shell.in: Remove -serial stdio option.
27353
27354 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27355
27356 POSIX header file wrappers.
27357
27358 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27359 equivalents.
27360 * lib/posix_wrap/ctype.h: Likewise.
27361 * lib/posix_wrap/errno.h: Likewise.
27362 * lib/posix_wrap/langinfo.h: Likewise.
27363 * lib/posix_wrap/limits.h: Likewise.
27364 * lib/posix_wrap/localcharset.h: Likewise.
27365 * lib/posix_wrap/stdint.h: Likewise.
27366 * lib/posix_wrap/stdio.h: Likewise.
27367 * lib/posix_wrap/stdlib.h: Likewise.
27368 * lib/posix_wrap/string.h: Likewise.
27369 * lib/posix_wrap/sys/types.h: Likewise.
27370 * lib/posix_wrap/unistd.h: Likewise.
27371 * lib/posix_wrap/wchar.h: Likewise.
27372 * lib/posix_wrap/wctype.h: Likewise.
27373 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27374 (grub_script.yy.h): Likewise.
27375 * script/yylex.l: Remove POSIX emulation #defines.
27376 * Makefile.in (POSIX_CFLAGS): New variable.
27377 (GNULIB_UTIL_CFLAGS): Likewise.
27378
27379 Regexp support.
27380
27381 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27382 (regexp_mod_SOURCES): New variable.
27383 (regexp_mod_CFLAGS): Likewise.
27384 (regexp_mod_LDFLAGS): Likewise.
27385 * commands/regexp.c: New file.
27386 * gnulib/regcomp.c: New file. Imported from gnulib.
27387 * gnulib/regex.c: Likewise.
27388 * gnulib/regex_internal.c: Likewise.
27389 * gnulib/regex_internal.h: Likewise.
27390 * gnulib/regexec.c: Likewise.
27391 * gnulib/regex.h: Likewise.
27392
27393 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27396 unsupported video mode types.
27397
27398 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27399
27400 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27401
27402 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27405 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27406
27407 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27408
27409 Remove unused grub_vga_get_font.
27410
27411 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27412 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27413
27414 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27415
27416 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27417 * include/grub/misc.h: Likewise.
27418
27419 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27420
27421 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27422 for which failure is fatal.
27423
27424 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27425
27426 * util/grub-install.in: Use mkdir -p to create grub directory.
27427 * util/i386/efi/grub-install.in: Likewise.
27428 * util/ieee1275/grub-install.in: Likewise.
27429
27430 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27431
27432 * Makefile.in (LEX): new variable.
27433
27434 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27435
27436 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27437 `=' and added double quotes on operands of this equality test.
27438
27439 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27440
27441 * Makefile.in (uninstall): Remove a leftover debug echo.
27442 Reported by: Grégoire Sutre
27443
27444 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27445
27446 MIPS multiboot2 support.
27447
27448 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27449 (multiboot2_mod_SOURCES): New variable.
27450 (multiboot2_mod_CFLAGS): Likewise.
27451 (multiboot2_mod_LDFLAGS): Likewise.
27452 (multiboot2_mod_ASFLAGS): Likewise.
27453 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27454 definition.
27455 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27456 (MULTIBOOT_MBI_REGISTER): Likewise.
27457 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27458 (MULTIBOOT_ELF32_MACHINE): Likewise.
27459 (MULTIBOOT_ELF64_MACHINE): Likewise.
27460 * include/grub/mips/multiboot.h: New file.
27461 * include/grub/video.h (grub_video_driver_id): New type
27462 GRUB_VIDEO_DRIVER_SM712.
27463 (grub_video_get_info_and_fini): Export.
27464 (grub_video_get_palette): Likewise.
27465 (grub_video_get_driver_id): Likewise.
27466 * include/multiboot2.h: Resynced with spec.
27467 * loader/i386/multiboot.c: Moved from here ...
27468 * loader/multiboot.c: ... here. All users updated.
27469 (grub_multiboot_boot): Use platform-specific macros.
27470 * loader/i386/multiboot_elfxx.c: Moved from here ...
27471 * loader/multiboot_elfxx.c: ... here. All users updated.
27472 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27473 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27474 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27475
27476 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 Import gnulib argp module.
27479
27480 * gnulib/argp-ba.c: New file.
27481 * gnulib/argp-eexst.c: Likewise.
27482 * gnulib/argp-fmtstream.c: Likewise.
27483 * gnulib/argp-fmtstream.h: Likewise.
27484 * gnulib/argp-fs-xinl.c: Likewise.
27485 * gnulib/argp-help.c: Likewise.
27486 * gnulib/argp-namefrob.h: Likewise.
27487 * gnulib/argp-parse.c: Likewise.
27488 * gnulib/argp-pin.c: Likewise.
27489 * gnulib/argp-pv.c: Likewise.
27490 * gnulib/argp-pvh.c: Likewise.
27491 * gnulib/argp-version-etc.c: Likewise.
27492 * gnulib/argp-version-etc.h: Likewise.
27493 * gnulib/argp-xinl.c: Likewise.
27494 * gnulib/argp.h: Likewise.
27495
27496 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27497
27498 * kern/device.c (grub_device_iterate): Clear errors after failed
27499 opening device.
27500
27501 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27504 returned by firmware.
27505
27506 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27509 compilation on coreboot and qemu
27510
27511 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27512
27513 * include/multiboot2.h: Resync with spec.
27514
27515 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27516
27517 Multiboot2 tag support
27518
27519 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27520 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27521 Remove loader/multiboot_loader.c.
27522 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27523 (grub_multiboot2_real_boot): Likewise.
27524 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27525 (grub_get_multiboot_mmap_count): New proto.
27526 (grub_fill_multiboot_mmap): Likewise.
27527 (grub_multiboot_set_video_mode): Likewise.
27528 (grub_multiboot_set_console): Likewise.
27529 (grub_multiboot_load): Likewise.
27530 (grub_multiboot_load_elf): Likewise.
27531 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27532 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27533 * include/multiboot.h: Resynced with specification.
27534 * include/multiboot2.h: Resynced with specification.
27535 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27536 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27537 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27538 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27539 users updated.
27540 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27541 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27542 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27543 Removed.
27544 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27545 Moved from here...
27546 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27547 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27548 Moved from here...
27549 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27550 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27551 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27552 All users updated.
27553 * loader/i386/multiboot_mbi2.c: New file.
27554
27555 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27556
27557 Resync with gnulib.
27558
27559 * Makefile.in (GNULIB_CFLAGS): New variable.
27560 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27561 (grub_script_check_CFLAGS): New variable.
27562 * gnulib/alloca.h: Resync with gnulib.
27563 * gnulib/error.c: Likewise.
27564 * gnulib/error.h: Likewise.
27565 * gnulib/fnmatch.c: Likewise.
27566 * gnulib/fnmatch_loop.c: Likewise.
27567 * gnulib/getdelim.c: Likewise.
27568 * gnulib/getline.c: Likewise.
27569 * gnulib/getopt.c: Likewise.
27570 * gnulib/getopt1.c: Likewise.
27571 * gnulib/getopt_int.h: Likewise.
27572 * gnulib/gettext.h: Likewise.
27573 * gnulib/progname.c: Likewise.
27574 * gnulib/progname.h: Likewise.
27575
27576 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27577
27578 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27579 which is the case with --disabled-nls.
27580
27581 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27582 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27583 * util/misc.c: Likewise.
27584 * util/mkisofs/mkisofs.c: Likewise.
27585 * util/mkisofs/mkisofs.h: Likewise.
27586
27587 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27588
27589 Simplify Apple CC support.
27590
27591 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27592 Add 0 byte at the end not to have a symbol with empty target.
27593 * mmap/i386/pc/mmap_helper.S: Likewise.
27594 * genmk.rb: Ignore errors 2030 and 2050.
27595 * kern/i386/pc/startup.S: Use LOCAL when possible.
27596
27597 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27598
27599 Testcase and the fix for final semicolon on cmdline.
27600
27601 * tests/grub_script_final_semicolon.in: New testcase.
27602 * conf/tests.rmk: Rules for the new testcase.
27603 * script/parser.y: Grammar fix.
27604
27605 2010-03-26 BVK Chaitanya <bvk@localhost>
27606
27607 Blank lines testcase for GRUB script.
27608
27609 * tests/grub_script_blanklines.in: New testcase.
27610 * conf/tests.rmk: Rules for the new testcase.
27611
27612 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 Don't use __FILE__.
27615
27616 * genmk.rb: Add -DGRUB_FILE to all C targets.
27617 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27618 * include/grub/list.h: Likewise.
27619 * include/grub/misc.h: Likewise.
27620 * include/grub/mm.h: Likewise.
27621 * include/grub/test.h: Likewise.
27622 * kern/mm.c: Likewise.
27623 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27624
27625 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 Sunpc partitions support.
27628
27629 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27630 (grub_fstest_SOURCES): Likewise.
27631 (pkglib_MODULES): Add part_sunpc.mod.
27632 (part_sunpc_mod_SOURCES): New variable.
27633 (part_sunpc_mod_CFLAGS): Likewise.
27634 (part_sunpc_mod_LDFLAGS): Likewise.
27635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27636 * partmap/sunpc.c: New file.
27637
27638 2010-03-26 BVK Chaitanya <bvk@localhost>
27639
27640 For loop support to GRUB script.
27641
27642 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27643 (grub_script_create_cmdfor): New function prototype.
27644 (grub_script_execute_cmdfor): New function prototype.
27645 * script/execute.c (grub_script_execute_cmdfor): New function.
27646 * script/parser.y (command): New for command.
27647 (forcmd): New grammar rule.
27648 * script/script.c (grub_script_create_cmdfor): New function.
27649 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27650 function.
27651 * tests/grub_script_for1.in: New testcase.
27652 * conf/tests.rmk: Rules for new testcase.
27653
27654 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27655
27656 Nested partitions
27657
27658 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27659 'partition' is NULL, grub_partition_get_start already does that.
27660 * commands/loadenv.c (check_blocklists): Likewise.
27661 (write_blocklists): Likewise.
27662 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27663 (grub_fstest_SOURCES): Likewise.
27664 (pkglib_MODULES): Add part_bsd.mod.
27665 (part_bsd_mod_SOURCES): New variable.
27666 (part_bsd_mod_CFLAGS): Likewise.
27667 (part_bsd_mod_LDFLAGS): Likewise.
27668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27669 (grub_emu_SOURCES): Likewise.
27670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27671 * include/grub/bsdlabel.h: New file.
27672 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27673 'get_name'.
27674 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27675 (grub_partition_map_list): New variable.
27676 (grub_partition_map_register): Inline.
27677 (grub_partition_map_unregister): Likewise.
27678 (FOR_PARTITION_MAPS): New macro.
27679 (grub_partition_map_iterate): Removed.
27680 (grub_partition_get_start): Handle nested partitions.
27681 * include/grub/msdos_partition.h: Remove bsd-related entries.
27682 (grub_pc_partition): Remove.
27683 * kern/disk.c (grub_disk_close): Free partition data.
27684 (grub_disk_adjust_range): Handle nested partitions.
27685 * kern/partition.c (grub_partition_map_probe): New function.
27686 (grub_partition_probe): Parse name to number, handle subpartitions.
27687 (get_partmap): New function.
27688 (grub_partition_iterate): Handle subpartitions.
27689 (grub_partition_get_name): Likewise.
27690 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27691 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27692 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27693 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27694 Set 'number'.
27695 (acorn_partition_map_probe): Remove.
27696 (acorn_partition_map_get_name): Likewise.
27697 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27698 Set 'number'.
27699 Set 'index' to 0 since there can be only one partition entry per sector.
27700 (amiga_partition_map_probe): Remove.
27701 (amiga_partition_map_get_name): Likewise.
27702 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27703 Set 'number'.
27704 Set 'offset' and 'index' to real positions of partitions.
27705 (apple_partition_map_probe): Remove.
27706 (apple_partition_map_get_name): Likewise.
27707 * partmap/bsdlabel.c: New file.
27708 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27709 Set 'number'.
27710 Allocate 'data' so it can be correctly freed.
27711 Set 'index' to offset inside sector.
27712 (gpt_partition_map_probe): Remove.
27713 (gpt_partition_map_get_name): Likewise.
27714 * partmap/msdos.c (grub_partition_parse): Remove.
27715 (pc_partition_map_iterate): Don't force raw access.
27716 Set 'number'.
27717 Make 'ext_offset' a local variable.
27718 (pc_partition_map_probe): Remove.
27719 (pc_partition_map_get_name): Remove.
27720 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27721 Set 'number'.
27722 (sun_partition_map_probe): Remove.
27723 (sun_partition_map_get_name): Likewise.
27724 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27725 (grub_pcpart_type): Likewise.
27726 * util/hostdisk.c (open_device): Handle new numbering scheme.
27727 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27728 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27729 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27730 * util/grub-install.in: Insert all subpartition modules.
27731 * util/ieee1275/grub-install.in: Likewise.
27732
27733 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27734
27735 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27736 grammar.
27737
27738 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
27739
27740 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27741
27742 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
27743
27744 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27745 match where 'make install' puts them.
27746 * util/i386/efi/grub-install.in: Likewise.
27747
27748 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
27749
27750 * .bzrignore: Add gentrigtables, grub-script-check,
27751 grub_script_check_init.c, grub_script_check_init.h, and
27752 trigtables.c.
27753
27754 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 * kern/parser.c: Indented.
27757
27758 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27761
27762 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27763
27764 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27765 alpha_mask_size == 0 case.
27766
27767 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27768
27769 GRUB shell lexer and parser improvements.
27770
27771 * conf/any-emu.rmk: Build rule updates.
27772 * conf/common.rmk: Likewise.
27773 * conf/i386-coreboot.rmk: Likewise.
27774 * conf/i386-efi.rmk: Likewise.
27775 * conf/i386-ieee1275.rmk: Likewise.
27776 * conf/i386-pc.rmk: Likewise.
27777 * conf/powerpc-ieee1275.rmk: Likewise.
27778 * conf/x86_64-efi.rmk: Likewise.
27779
27780 * configure.ac: Configure check for flex.
27781
27782 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27783 types.
27784 (grub_lexer_param): Struct member updates.
27785 (grub_parser_param): Likewise.
27786 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27787 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27788 (grub_script_lexer_init): Prototype update.
27789 (grub_script_lexer_record_start): Likewise.
27790 (grub_script_lexer_record_stop): Likewise.
27791 (grub_script_lexer_yywrap): New function prototype.
27792 (grub_script_lexer_fini): Likewise.
27793 (grub_script_execute_argument_to_string): Removed by...
27794 (grub_script_execute_argument_to_argv): ...better version.
27795
27796 * script/execute.c (ROUND_UPTO): New macro.
27797 (grub_script_execute_cmdline): Out of memory fixes.
27798 (grub_script_execute_menuentry): Likewise.
27799 (grub_script_execute_argument_to_string): Removed. Update all
27800 users by...
27801 (grub_script_execute_argument_to_argv): ...better version.
27802 * script/function.c (grub_script_function_create): Use
27803 grub_script_execute_argument_to_argv instead of
27804 grub_script_execute_argument_to_string.
27805
27806 * script/lexer.c (check_varstate): Removed.
27807 (check_textstate): Removed.
27808 (grub_script_lexer_record_start): Likewise.
27809 (grub_script_lexer_record_stop): Likewise.
27810 (recordchar): Replaced with...
27811 (grub_script_lexer_record): ...new function.
27812 (nextchar): Removed.
27813 (grub_script_lexer_init): Rewritten.
27814 (grub_script_yylex): Rewritten.
27815 (append_newline): New function.
27816 (grub_script_lexer_yywrap): New function.
27817 (grub_script_lexer_fini): New function.
27818 (grub_script_yyerror): Sets error flag.
27819
27820 * script/yylex.l: New file.
27821 (grub_lexer_yyfree): Wrapper for flex yyffre.
27822 (grub_lexer_yyalloc): Likewise.
27823 (grub_lexer_yyrealloc): Likewise.
27824 * script/parser.y: Refactored.
27825
27826 * script/script.c (grub_script_arg_add): Out of memory fixes.
27827 (grub_script_add_arglist): Likewise.
27828 (grub_script_create_cmdline): Likewise.
27829 (grub_script_create_cmdmenu): Likewise.
27830 (grub_script_add_cmd): Likewise.
27831 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27832 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27833 unnecessary code.
27834
27835 * tests/grub_script_echo1.in: New testcase.
27836 * tests/grub_script_vars1.in: New testcase.
27837 * tests/grub_script_echo_keywords.in: New testcase.
27838
27839 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27840
27841 Remove some redundancy in build system.
27842
27843 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27844 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27845 (TARGET_LDFLAGS): Add -nostdlib.
27846 (TARGET_IMG_LDFLAGS): Likewise.
27847 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27848 anything since mmap isn't available.
27849 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27850 Add util/time.c.
27851 (pkglib_MODULES): Remove reboot.mod.
27852 (reboot_mod_SOURCES): Removed.
27853 (reboot_mod_CFLAGS): Likewise.
27854 (reboot_mod_LDFLAGS): Likewise.
27855 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27856 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27857 (DEFSYMFILES): Add kernel_syms.lst.
27858 (kernel_img_HEADERS): Add common headers.
27859 (symlist.c): New target.
27860 (kernel_syms.lst): Likewise.
27861 (pkglib_MODULES): Add memdisk.mod.
27862 (memdisk_mod_SOURCES): New variable.
27863 (memdisk_mod_CFLAGS): Likewise.
27864 (memdisk_mod_LDFLAGS): Likewise.
27865 (pkglib_MODULES): Add reboot.mod.
27866 (reboot_mod_SOURCES): New variable.
27867 (reboot_mod_CFLAGS): Likewise.
27868 (reboot_mod_LDFLAGS): Likewise.
27869 (pkglib_MODULES): Add date.mod.
27870 (date_mod_SOURCES): New variable.
27871 (date_mod_CFLAGS): Likewise.
27872 (date_mod_LDFLAGS): Likewise.
27873 (pkglib_MODULES): Add datehook.mod.
27874 (datehook_mod_SOURCES): New variable.
27875 (datehook_mod_CFLAGS): Likewise.
27876 (datehook_mod_LDFLAGS): Likewise.
27877 (pkglib_MODULES): Add lsmmap.mod.
27878 (lsmmap_mod_SOURCES): New variable.
27879 (lsmmap_mod_CFLAGS): Likewise.
27880 (lsmmap_mod_LDFLAGS): Likewise.
27881 (pkglib_MODULES): Add boot.mod.
27882 (boot_mod_SOURCES): New variable.
27883 (boot_mod_CFLAGS): Likewise.
27884 (boot_mod_LDFLAGS): Likewise.
27885 * conf/i386-coreboot.rmk: Removed redundant parts.
27886 * conf/i386-ieee1275.rmk: Likewise.
27887 * conf/i386-pc.rmk: Likewise.
27888 * conf/mips-yeeloong.rmk: Likewise.
27889 * conf/mips.rmk: Likewise.
27890 * conf/powerpc-ieee1275.rmk: Likewise.
27891 * conf/sparc64-ieee1275.rmk: Likewise.
27892 * conf/x86_64-efi.rmk: Likewise.
27893 * conf/i386-coreboot.rmk: Moved qemu parts ..
27894 * conf/i386-qemu.rmk: ... here
27895 * conf/i386-efi.rmk: Moved common parts to...
27896 * conf/x86-efi.rmk: ... here.
27897 * conf/i386.rmk: Added modules common to all x86 variants.
27898 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27899 * disk/memdisk.c: Remove grub/machine/kernel.h.
27900 * gensymlist.sh.in: Include symbol.h.
27901 * hook/datehook.c: Correct module name.
27902 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27903 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27904 * include/grub/i386/efi/serial.h: New file.
27905 * include/grub/x86_64/efi/serial.h: Likewise.
27906 * util/time.c: Likewise.
27907 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27908
27909 2010-03-14 Colin King <colin.king@ubuntu.com>
27910 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27911
27912 Shrink the pre-partition-table part of boot.img by eight bytes.
27913
27914 * boot/i386/pc/boot.S (ERR): New macro.
27915 (chs_mode): Use ERR.
27916 (geometry_error): Likewise.
27917 (hd_probe_error): Remove. This is only used once, so we wrwite
27918 it inline instead.
27919 (read_error): Instead of printing read_error_string, just set up
27920 %si and fall through to ...
27921 (error_message): ... this new function, also used by ERR.
27922
27923 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27924
27925 Speed up consecutive hostdisk operations on the same device.
27926
27927 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27928 (grub_util_biosdisk_open): Initialise disk->data.
27929 (struct linux_partition_cache): New structure.
27930 (linux_find_partition): Cache partition start positions; these are
27931 expensive to compute on every read and write.
27932 (open_device): Cache open file descriptor in disk->data, so that we
27933 don't have to reopen it and flush the buffer cache for consecutive
27934 operations on the same device.
27935 (grub_util_biosdisk_close): New function.
27936 (grub_util_biosdisk_dev): Set `close' member.
27937
27938 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27939 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27940 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27941 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27942 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27943
27944 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27945
27946 Compile parts of grub-emu as modules.
27947
27948 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27949 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27950 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27951 (all-local): Add $(GRUB_EMU).
27952 (install-local): Install $(GRUB_EMU).
27953 (uninstall): Uninstall $(GRUB_EMU).
27954 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27955 * kern/dl.c: Likewise.
27956 * commands/sleep.c: Not include machine/time.h.
27957 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27958 (COMMON_CFLAGS): Likewise.
27959 (sbin_UTILITIES): Remove grub-emu.
27960 (grub_emu_SOURCES): Removed.
27961 (kernel_img_RELOCATABLE): New variable.
27962 (pkglib_PROGRAMS): Add kernel.img.
27963 (kernel_img_SOURCES): New variable
27964 (kernel_img_CFLAGS): Likewise.
27965 (kernel_img_LDFLAGS): Likewise.
27966 (TARGET_NO_STRIP): Likewise.
27967 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27968 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27969 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27970 (grub-emu): New target.
27971 (GRUB_EMU): New variable.
27972 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27973 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27974 * loader/xnu.c: Likewise.
27975 * include/grub/pci.h: Likewise.
27976 * genemuinit.sh: New file.
27977 * genemuinitheader.sh: Likewise.
27978 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27979 Support TARGET_NO_DYNAMIC_MODULES.
27980 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27981 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27982 * disk/loopback.c: Likewise.
27983 * font/font_cmd.c: Likewise.
27984 * partmap/acorn.c: Likewise.
27985 * partmap/amiga.c: Likewise.
27986 * partmap/apple.c: Likewise.
27987 * partmap/gpt.c: Likewise.
27988 * partmap/msdos.c: Likewise.
27989 * partmap/sun.c: Likewise.
27990 * parttool/msdospart.c: Likewise.
27991 * term/gfxterm.c: Likewise.
27992 * video/bitmap.c: Likewise.
27993 * video/readers/jpeg.c: Likewise.
27994 * video/readers/png.c: Likewise.
27995 * video/readers/tga.c: Likewise.
27996 * video/video.c: Likewise.
27997 * util/grub-emu.c (read_command_list): Removed.
27998 (main): Don't call util_init_nls.
27999 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28000 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28001
28002 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28003
28004 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28005 date.mod, datehook.mod.
28006 (datetime_mod_SOURCES): New variable.
28007 (datetime_mod_CFLAGS): Likewise.
28008 (datetime_mod_LDFLAGS): Likewise.
28009 (date_mod_SOURCES): Likewise.
28010 (date_mod_CFLAGS): Likewise.
28011 (date_mod_LDFLAGS): Likewise.
28012 (datehook_mod_SOURCES): Likewise.
28013 (datehook_mod_CFLAGS): Likewise.
28014 (datehook_mod_LDFLAGS): Likewise.
28015 * conf/sparc64-ieee1275.rmk: Likewise.
28016 * lib/ieee1275/datetime.c: New file.
28017
28018 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28021 (ieee1275_fb_mod_SOURCES): New variable.
28022 (ieee1275_fb_mod_CFLAGS): Likewise.
28023 (ieee1275_fb_mod_LDFLAGS): Likewise.
28024 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28025 New proto.
28026 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28027 (HEAP_MAX_ADDR): Likewise.
28028 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28029 type.
28030 Correct stop condition.
28031 (grub_ieee1275_devices_iterate): New function.
28032 * video/ieee1275.c: New file.
28033
28034 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28037
28038 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28039 as scratch.
28040 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28041 SCRATCH_PAD_DISKBOOT as scratch.
28042 (bootit): Pass Openfirmware pointer in %o4.
28043 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28044 of 0x200000.
28045 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28046 with util/grub-mkrawimage.c.
28047 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28048 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28049 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28050 (grub_aout_load) [GRUB_UTIL]: Likewise.
28051 * include/grub/kernel.h (grub_modules_get_end): New proto.
28052 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28053 (SCRATCH_PAD_BOOT): New definition.
28054 (SCRATCH_PAD_DISKBOOT): Likewise.
28055 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28056 * include/grub/sparc64/ieee1275/ieee1275.h
28057 (grub_ieee1275_original_stack): New variable
28058 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28059 New definition
28060 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28061 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28062 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28063 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28064 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28065 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28066 (grub_platform_image_format_t): New type.
28067 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28068 * kern/main.c (grub_modules_get_end)
28069 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28070 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28071 (codestart): Switch stacks.
28072 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28073 variable.
28074 (grub_heap_init): Use grub_modules_get_end.
28075 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28076 stack.
28077 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28078 (main): Likewise.
28079 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28080
28081 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
28082
28083 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28084
28085 2010-03-08 Matt Kraai <kraai@ftbfs.org>
28086
28087 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28088 bug #559005).
28089
28090 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 * genmoddep.awk: Output all missing symbols and not only first.
28093
28094 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * NEWS: Put the date of 1.98 release.
28097
28098 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28101 ft2build.h.
28102
28103 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28106 completition in the middle of string.
28107
28108 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 * util/grub-mkrescue.in: Use mktemp with explicit template.
28111
28112 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28113
28114 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28115
28116 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28119 right pointer.
28120
28121 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28122
28123 Fix FreeBSD compilation.
28124
28125 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28126 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28127
28128 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28129
28130 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28131
28132 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28135
28136 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28139
28140 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28141
28142 Support relative image path in theme file.
28143
28144 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28145 (image_set_property): Handle theme_dir and relative path.
28146
28147 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * configure.ac: Alias amd64 to x86_64.
28150
28151 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * NEWS: mention multiboot on EFI.
28154
28155 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 * kern/main.c (grub_load_modules): Handle errors from init functions of
28158 embeded modules.
28159
28160 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28161
28162 * normal/autofs.c (autoload_fs_module): Handle errors.
28163
28164 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 Disable linux.mod on qemu-mips since it's not functional and leads
28167 to compilation failure.
28168
28169 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28170 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28171 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28172 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28173 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28174 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28175 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28176 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28177 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28178 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28179 Reported by: BVK Chaitanya
28180
28181 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28182
28183 * INSTALL: Add gettext as a dependency and add qemu to a new section
28184 "Prerequisites for make-check".
28185
28186 2010-03-04 Christian Franke <franke@computer.org>
28187
28188 * util/grub-pe2elf.c: Add missing include "progname.h".
28189
28190 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28191
28192 * normal/crypto.c (read_crypto_list): Fix a typo.
28193 Reported by: Seth Goldberg.
28194
28195 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
28198 Reported by: Seth Goldberg.
28199
28200 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28201
28202 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28203 ascii.bitmaps.
28204
28205 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 * genmk.rb: Remove terminal*.lst in make clean.
28208 Reported by: Seth Goldberg.
28209
28210 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28211
28212 * util/i386/efi/grub-install.in: Copy gettext files.
28213
28214 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28215
28216 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28217
28218 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28219
28220 Wait for user entry basing on presence of output rather than on errors.
28221
28222 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28223 (grub_install_newline_hook): Likewise.
28224 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28225 * normal/menu.c (show_menu): Check line_counter to determine presence
28226 of output.
28227 * normal/term.c (grub_normal_line_counter): New variable.
28228 (grub_normal_get_line_counter): New function.
28229 (grub_install_newline_hook): Likewise.
28230
28231 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28234
28235 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * configure.ac: Update version to 1.98.
28238
28239 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 * util/grub.d/10_linux.in (linux_entry): Don't default to
28242 gfxpayload=keep if Linux doesn't support video handover.
28243
28244 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28245
28246 Don't compile video modules on yeeloong since video subsystem is part
28247 of kernel.
28248
28249 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28250 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28251 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28252 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28253 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28254 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28255 * include/grub/bitmap_scale.h: Likewise.
28256 * include/grub/bufio.h: Likewise.
28257 * include/grub/font.h: Likewise.
28258 * include/grub/gfxterm.h: Likewise.
28259 * include/grub/video.h: Likewise.
28260 * include/grub/vbe.h: Don't include video_fb.h.
28261 * video/i386/pc/vbe.c: Include video_fb.h.
28262 * commands/i386/pc/vbetest.c: Include video.h.
28263
28264 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28265
28266 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28267 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28268 default entry if GRUB_SAVEDEFAULT=true. This allows using
28269 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28270 saving a new default on every boot.
28271
28272 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28273
28274 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28275 * normal/term.c (read_terminal_list): Likewise.
28276 * normal/main.c (grub_normal_init_page): Likewise.
28277 (grub_normal_read_line_real): Likewise.
28278
28279 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28280
28281 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28282 memory leak.
28283 Reported by: Seth Goldberg.
28284
28285 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28286
28287 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28288 duplicate declaration of `start'.
28289
28290 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28291
28292 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28293 filename.
28294 Reported by: Georgy Buranov
28295
28296 2010-02-20 Carles Pina i Estany <carles@pina.cat>
28297
28298 * util/grub-mkrawimage.c (usage): Change string formatting to
28299 improve gettext.
28300
28301 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28302
28303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28304 backspace keys.
28305
28306 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28307
28308 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28309 Reported by: Michael Suchanek.
28310
28311 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
28312
28313 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28314 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28315
28316 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 Remove any reference to non-free fonts.
28319
28320 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28321 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28322 uses non-free components.
28323 * font/font.c (grub_font_get_name): Remove example name.
28324 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28325 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28326 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28327 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28328
28329 2010-02-16 Georgy Buranov <gburanov@gmail.com>
28330
28331 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28332
28333 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28334
28335 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28336 Double divisor.
28337 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28338 features.
28339 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28340
28341 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28344
28345 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28346
28347 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28348 * docs/grub.texi (Command-line and menu entry commands): Document play
28349 command.
28350
28351 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28352
28353 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28354 parse arguments as inline tempo and notes. Move code for playing notes
28355 to...
28356 (play): ... new function.
28357
28358 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28359
28360 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28361 grub_uint16_t instead of short.
28362 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28363 disk from little endian to cpu endianness.
28364
28365 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28366
28367 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28368 GRUB_TICKS_PER_SECOND instead of 120.
28369
28370 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28371
28372 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28373 escape sequence after \e.
28374
28375 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28376
28377 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28378 non-ASCII characters.
28379
28380 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28381
28382 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28383 set root in single quotes to prevent \, from being unescaped.
28384
28385 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 Prevent unknown commands from stopping menuentry execution.
28388
28389 * script/execute.c (grub_script_execute_cmdline): Print error after
28390 unknown command.
28391
28392 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28395 Reported by: Pavel Pisa.
28396
28397 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28400
28401 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28402
28403 Merge grub_ieee1275_map_physical into grub_map and rename to
28404 grub_ieee1275_map
28405
28406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28407 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28408 Remove.
28409 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28410 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28411 necessary.
28412 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28413
28414 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28415
28416 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28417 opening and not after.
28418
28419 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28420
28421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28422 constants.
28423
28424 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28425
28426 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28427 (alloc_phys): Use ALIGN_UP instead of align_addr.
28428
28429 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28430
28431 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28432
28433 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28436
28437 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28440 verbose dprintf.
28441
28442 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28443
28444 Fix over-4GiB seek on sparc64.
28445
28446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28447 Replace pos_i and pos_lo with pos. All users updated.
28448 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28449 New constant.
28450 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28451 Likewise.
28452 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28453 and pos_lo.
28454
28455 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28456
28457 * util/grub-mkrawimage.c (main): Call set_program_name.
28458
28459 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 Properly align 64-bit targets.
28462
28463 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28464 (generate_image): Use ALIGN_ADDR.
28465
28466 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28467
28468 Properly create cross-endian images.
28469
28470 * include/grub/types.h (grub_host_to_target_addr): New macro
28471 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28472
28473 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28474
28475 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28476
28477 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28478
28479 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28480
28481 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28482 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28483 (grub_linux_boot): Divide by 64K when on VESA.
28484
28485 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28486
28487 Support GRUB_GFXPAYLOAD_LINUX.
28488
28489 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28490 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28491
28492 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28493
28494 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28495 to show messages instead of discarding them.
28496 Process errors after executing command and not before. Keep old method
28497 too as precaution.
28498
28499 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28500
28501 * configure.ac: Check for ft2build.h.
28502
28503 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28504
28505 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28506
28507 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28508
28509 * genkernsyms.sh.in: Use TARGET_CC.
28510
28511 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
28512
28513 * NEWS: Update.
28514
28515 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 * include/grub/multiboot2.h: Remove leftover file.
28518 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28519 * include/grub/partition.h [GRUB_UTIL]: Likewise.
28520
28521 2010-02-07 Yves Blusseau <blusseau@zetam.org>
28522
28523 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
28524
28525 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 Fix warnings in grub-emu when compiling with maximum warning options.
28528
28529 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28530 (grub_arch_modules_addr): Return 0 and not NULL.
28531 * util/misc.c (ENABLE_RELOCATABLE): New definition.
28532 (xstrdup): Use newstr instead of dup.
28533 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28534 of disk to dsk to avoid shadowing.
28535 (find_free_slot): Fix prototype.
28536 * util/getroot.c (grub_util_is_dmraid): Make static.
28537 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28538 Add missing prototype.
28539 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
28540
28541 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28544 appropriately.
28545
28546 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28547
28548 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28549 code out.
28550
28551 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28552
28553 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28554 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28555 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28556 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28557 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28558 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28559
28560 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * include/grub/err.h (grub_err_printf): Don't export.
28563
28564 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28567
28568 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28569
28570 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28571 * kern/misc.c (grub_gettext_dummy): Make static.
28572
28573 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28574
28575 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28576 by non-valid ones.
28577 * kern/term.c (grub_putchar): Likewise.
28578
28579 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28582 buggy hook call and memory leak.
28583
28584 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28585
28586 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28587
28588 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28591
28592 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28593
28594 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28595 modevar.
28596 Return grub_errno on allocation error.
28597
28598 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28601
28602 2010-02-06 Yves Blusseau <blusseau@zetam.org>
28603
28604 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28605 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28606
28607 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28608
28609 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28610 non-pxe disk.
28611 (grub_pxefs_open): Likewise.
28612
28613 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28614
28615 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28616 * util/grub.d/10_kfreebsd.in: Likewise.
28617 * util/grub.d/10_linux.in: Likewise.
28618
28619 2010-02-06 Colin D Bennett <colin@gibibit.com>
28620
28621 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28622 (gfxmenu_mod_SOURCES): New variable.
28623 (gfxmenu_mod_CFLAGS): Likewise.
28624 (gfxmenu_mod_LDFLAGS): Likewise.
28625 * include/grub/term.h (grub_term_set_current_output): Declare
28626 argument as const.
28627 * docs/gfxmenu-theme-example.txt: New file.
28628 * gfxmenu/gfxmenu.c: Likewise.
28629 * gfxmenu/gui_box.c: Likewise.
28630 * gfxmenu/gui_canvas.c: Likewise.
28631 * gfxmenu/gui_circular_progress.c: Likewise.
28632 * gfxmenu/gui_image.c: Likewise.
28633 * gfxmenu/gui_label.c: Likewise.
28634 * gfxmenu/gui_list.c: Likewise.
28635 * gfxmenu/gui_progress_bar.c: Likewise.
28636 * gfxmenu/gui_string_util.c: Likewise.
28637 * gfxmenu/gui_util.c: Likewise.
28638 * gfxmenu/icon_manager.c: Likewise.
28639 * gfxmenu/model.c: Likewise.
28640 * gfxmenu/named_colors.c: Likewise.
28641 * gfxmenu/theme_loader.c: Likewise.
28642 * gfxmenu/view.c: Likewise.
28643 * gfxmenu/widget-box.c: Likewise.
28644 * include/grub/gfxmenu_model.h: Likewise.
28645 * include/grub/gfxmenu_view.h: Likewise.
28646 * include/grub/gfxwidgets.h: Likewise.
28647 * include/grub/gui.h: Likewise.
28648 * include/grub/gui_string_util.h: Likewise.
28649 * include/grub/icon_manager.h: Likewise.
28650
28651 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28652
28653 Agglomerate scrolling in gfxterm.
28654
28655 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28656 (grub_virtual_screen_setup): Initialise 'total_screen'.
28657 (write_char): Split to ...
28658 (paint_char): ... this ...
28659 (write_char): ... and this.
28660 (paint_char): Handle delayed scrolling.
28661 (draw_cursor): Likewise.
28662 (scroll_up): Split to ...
28663 (real_scroll): ... this ...
28664 (scroll_up): ... and this.
28665 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28666 characters.
28667 (grub_gfxterm_refresh): Call real_scroll.
28668
28669 2010-02-06 Colin D Bennett <colin@gibibit.com>
28670
28671 * include/grub/misc.h (grub_iscntrl): New inline function.
28672 (grub_isalnum): Likewise.
28673 (grub_strtol): Likewise.
28674
28675 2010-02-06 Colin D Bennett <colin@gibibit.com>
28676
28677 * normal/menu_text.c (get_entry_number): Move from here ...
28678 * normal/menu.c (get_entry_number): ... moved here.
28679 * include/grub/menu.h (grub_menu_get_default_entry_index):
28680 New prototype.
28681 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28682 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28683 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28684 (grub_menu_viewer_should_return): Likewise.
28685 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28686 * normal/menu_text.c (run_menu): Enable menu switching.
28687 * normal/menu_viewer.c (should_return): New variable.
28688 (menu_viewer_changed): Likewise.
28689 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28690 (grub_menu_viewer_should_return): New function.
28691 (menuviewer_write_hook): Likewise.
28692 (grub_menu_viewer_init): Likewise.
28693
28694 2010-02-06 Colin D Bennet <colin@gibibit.com>
28695 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28696
28697 Support for gfxterm in a window.
28698
28699 * include/grub/gfxterm.h: New file.
28700 * include/grub/video.h (struct grub_video_rect): New declaration.
28701 (grub_video_rect_t): Likewise.
28702 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28703 (refcount): New variable.
28704 (render_target): Likewise.
28705 (window): Likewise.
28706 (repaint_callback): Likewise.
28707 (grub_virtual_screen_setup): Use 'render_target'.
28708 (init_window): New function.
28709 (grub_gfxterm_init_window): Likewise.
28710 (grub_gfxterm_init): Check reference counter.
28711 Use init_window.
28712 (destroy_window): New function.
28713 (grub_gfxterm_destroy_window): Likewise.
28714 (grub_gfxterm_fini): Check reference counter.
28715 Use destroy_window.
28716 (redraw_screen_rect): Restore viewport.
28717 Use 'render_target' and 'window'.
28718 Call 'repaint_callback'.
28719 (write_char): Use 'render_target'.
28720 (draw_cursor): Likewise.
28721 (scroll_up): Restore viewport.
28722 Use 'render_target' and 'window'.
28723 Call 'repaint_callback'.
28724 (grub_gfxterm_cls): Likewise.
28725 (grub_gfxterm_refresh): Use 'window'.
28726 (grub_gfxterm_set_repaint_callback): New function.
28727 (grub_gfxterm_background_image_cmd): Use 'window'.
28728 (grub_gfxterm_get_term): New function.
28729 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28730
28731 2010-02-06 Colin D Bennett <colin@gibibit.com>
28732
28733 Bitmap scaling support.
28734
28735 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28736 (bitmap_scale_mod_SOURCES): New variable.
28737 (bitmap_scale_mod_CFLAGS): Likewise.
28738 (bitmap_scale_mod_LDFLAGS): Likewise.
28739 * include/grub/bitmap_scale.h: New file.
28740 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28741 (background_image_cmd_options): New variable.
28742 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28743 (cmd): Rename and change type to ...
28744 (background_image_cmd_handle): ... this. All users updated.
28745 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28746 * video/bitmap_scale.c: New file.
28747
28748 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 SDL support.
28751
28752 * Makefile.in (LIBSDL): New variable.
28753 (enable_grub_emu_sdl): Likewise.
28754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28755 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28756 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28757 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28758 * util/sdl.c: New file.
28759
28760 2010-02-06 Colin D Bennett <colin@gibibit.com>
28761 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28762
28763 Double buffering support.
28764
28765 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28766 * include/grub/video.h: Update comment.
28767 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28768 New type.
28769 (grub_video_fb_doublebuf_blit_init): New prototype.
28770 * term/gfxterm.c (scroll_up): Support double buffering.
28771 (grub_gfxterm_refresh): Likewise.
28772 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28773 (grub_video_fb_doublebuf_blit_init): Likewise.
28774 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28775 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28776 'displayed_page', 'render_page' and 'update_screen'.
28777 (grub_video_vbe_fini): Free offscreen buffer.
28778 (doublebuf_pageflipping_commit): New function.
28779 (doublebuf_pageflipping_update_screen): Likewise.
28780 (doublebuf_pageflipping_init): Likewise.
28781 (double_buffering_init): Likewise.
28782 (grub_video_vbe_setup): Enable doublebuffering.
28783 (grub_video_vbe_swap_buffers): Implement.
28784 (grub_video_vbe_set_active_render_target): Handle double buffering.
28785 (grub_video_vbe_get_active_render_target): Likewise.
28786 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28787 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28788 (grub_video_vbe_enable_double_buffering): Likewise.
28789 (grub_video_vbe_swap_buffers): Use update_screen.
28790 (grub_video_set_mode): Use double buffering.
28791
28792 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28793
28794 * maintainance/gentrigtables.py: Remove.
28795 * lib/trig.c: Likewise.
28796
28797 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28798
28799 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28800 `trigtables.c'.
28801 (trigtables.c): New rule.
28802 (gentrigtables): Likewise.
28803 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28804
28805 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28806
28807 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28808 integer constants.
28809
28810 2010-02-06 Colin D Bennet <colin@gibibit.com>
28811
28812 Trigonometry support.
28813
28814 * include/grub/trig.h: New file.
28815 * lib/trig.c: Likewise.
28816 * maintainance/gentrigtables.py: Likewise.
28817 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28818 (trig_mod_SOURCES): New variable.
28819 (trig_mod_CFLAGS): Likewise.
28820 (trig_mod_LDFLAGS): Likewise.
28821
28822 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28823
28824 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28825 disk devices.
28826
28827 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28828
28829 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28830 error.
28831
28832 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28833
28834 * util/hostdisk.c (open_device): Don't use partition device when reading
28835 before the partition.
28836 (grub_util_biosdisk_read): Don't read from partition and before the
28837 partition in single operation.
28838 (grub_util_biosdisk_write): Don't write to partition and before the
28839 partition in single operation.
28840
28841 2010-02-03 Torsten Landschoff <torsten@debian.org>
28842
28843 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28844 last sectors.
28845
28846 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28847
28848 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28849 CDROM reads.
28850 (grub_biosdisk_write): Refuse to write to CDROM.
28851
28852 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28853
28854 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28855
28856 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 * font/font.c (find_glyph): Check that bmp_idx is available before
28859 using it.
28860 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28861 with (font == NULL).
28862
28863 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
28864
28865 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28866
28867 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28868
28869 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28870 * util/grub-script-check.c (getline): Fix empty lines case.
28871
28872 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28873
28874 * Makefile.in (check): Exit with fail status when one of the tests
28875 fails.
28876 * tests/example_functional_test.c (example_test): Fix reversed assert.
28877 * tests/example_unit_test.c (example_test): Likewise.
28878
28879 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
28880
28881 * util/grub.d/10_linux.in: This script does not use any of the
28882 contents of gettext.sh, only the external command `gettext', so stop
28883 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28884 the same prefix as GRUB.)
28885 * util/grub.d/10_kfreebsd.in: Likewise.
28886
28887 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28890 of the line.
28891
28892 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28893
28894 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28895 last sectors.
28896
28897 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28898
28899 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28900 having a 4KiB and not 32KiB buffer size.
28901
28902 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28903
28904 * util/hostfs.c: Include `<errno.h>'.
28905 (grub_hostfs_read): Handle errors from fseeko() and fread().
28906
28907 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28908
28909 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28910 loop when using read hooks on files whose size isn't sector-aligned.
28911
28912 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28913
28914 Remove unused parameter.
28915
28916 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28917 (grub_iso9660_open): Remove initialization of `data->length'.
28918
28919 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28920
28921 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28922 memleak conditions.
28923
28924 2010-01-27 Carles Pina i Estany <carles@pina.cat>
28925
28926 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28927 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28928
28929 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28930
28931 * util/bin2h.c (usage): Fix warning (space after backslash).
28932
28933 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28934
28935 * font/font.c: Include `grub/fontformat.h.
28936 Remove font file format constants.
28937 (grub_font_load): Use the new macros.
28938 * include/grub/fontformat.h: New file.
28939 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28940 (write_font_pf2): Use the new macros.
28941
28942 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28945 does.
28946
28947 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28948
28949 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28950
28951 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28952 (_start): Macroify `0x7F'.
28953
28954 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28955 (make_install_device): Use "(pxe)" as fallback prefix when booting
28956 via PXE.
28957
28958 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28959
28960 * configure.ac: Reset LIBS after check for libgcc symbols.
28961
28962 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
28963
28964 * util/hostdisk.c (open_device): Add trailing newline to debug
28965 message.
28966
28967 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28968
28969 * configure.ac: Check for `limits.h'.
28970 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28971
28972 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28973
28974 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28975 capitalize error strings.
28976
28977 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28978
28979 * util/grub.d/10_hurd.in: Add a recovery mode.
28980
28981 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28982
28983 * configure.ac: Check for libgcc symbols with -nostdlib.
28984
28985 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28986
28987 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28988
28989 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28990
28991 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28992 stack since heap may be unavailable at that point.
28993 (grub_ofconsole_gotoxy): Likewise.
28994
28995 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 * configure.ac: Check for _restgpr_14_x.
28998 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28999 and _savegpr_* prototypes.
29000
29001 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29002
29003 Use generic grub_reboot() for i386-efi.
29004
29005 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29006 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29007 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29008
29009 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29012 presence of "prefix" variable as it breaks when normal.mod is
29013 embedded.
29014
29015 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29016
29017 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29018 stack since heap is unavailable at that point.
29019
29020 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29021
29022 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29023 (grub_freebsd_bootinfo): Rewritten.
29024 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29025
29026 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29027
29028 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29029
29030 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29033 domain now.
29034
29035 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
29036
29037 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29038 around for handling "/" to the correct fix. Fix a memory leak. Use
29039 xstrdup instead of strdup.
29040
29041 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29042
29043 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29044
29045 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29046
29047 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29048
29049 * font/font.c (struct grub_font): New member 'bmp_idx'.
29050 (font_init): Initialise 'bmp_idx'.
29051 (load_font_index): Fill 'bmp_idx'.
29052 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29053
29054 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29057 unnecessary calls.
29058
29059 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 Move context handling out of the kernel.
29062
29063 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29064 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29066 * conf/i386-efi.rmk: Likewise.
29067 * conf/i386-ieee1275.rmk: Likewise.
29068 * conf/i386-pc.rmk: Likewise.
29069 * conf/powerpc-ieee1275.rmk: Likewise.
29070 * conf/sparc64-ieee1275.rmk: Likewise.
29071 * conf/x86_64-efi.rmk: Likewise.
29072 * include/grub/env.h: Include grub/menu.h.
29073 (grub_env_var_type): Removed.
29074 (grub_env_var): Replaced field 'type' with 'global'.
29075 (grub_env_find): New prototype.
29076 (grub_env_context_open): Remove EXPORT_FUNC.
29077 (grub_env_context_close): Likewise.
29078 (grub_env_export): Likewise.
29079 (grub_env_set_data_slot): Removed.
29080 (grub_env_get_data_slot): Likewise.
29081 (grub_env_unset_data_slot): Likewise.
29082 (grub_env_unset_menu): New prototype.
29083 (grub_env_set_menu): Likewise.
29084 (grub_env_get_menu): Likewise.
29085 * include/grub/env_private.h: New file.
29086 * include/grub/normal.h (grub_context_init): New prototype.
29087 (grub_context_fini): Likewise.
29088 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29089 * normal/context.c (grub_cmd_export): ... to here.
29090 * kern/env.c: Include env_private.h.
29091 (HASHSZ): Moved to include/grub/env_private.h.
29092 (grub_env_context): Likewise.
29093 (grub_env_sorted_var): Likewise.
29094 (current_context): Renamed from this ...
29095 (grub_current_context): ...to this. 'static' removed. All users updated.
29096 (grub_env_find): Removed 'static'.
29097 (grub_env_context_open): Moved to normal/context.c.
29098 (grub_env_context_close): Likewise.
29099 (grub_env_export): Likewise.
29100 (mangle_data_slot_name): Removed.
29101 (grub_env_set_data_slot): Likewise.
29102 (grub_env_get_data_slot): Likewise.
29103 (grub_env_unset_data_slot): Likewise.
29104 * kern/main.c (grub_set_root_dev): Don't export root.
29105 It will be done later.
29106 (grub_main): Don't export prefix.
29107 It will be done later.
29108 * normal/context.c: New file.
29109 * normal/main.c (free_menu): Use grub_env_unset_menu.
29110 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29111 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29112 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29113 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29114
29115 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29116
29117 setpci support.
29118
29119 * commands/setpci.c: New file.
29120 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29121 (setpci_mod_SOURCES): New variable.
29122 (setpci_mod_CFLAGS): Likewise.
29123 (setpci_mod_LDFLAGS): Likewise.
29124
29125 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29126
29127 Byte-addressable PCI configuration space.
29128
29129 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29130 dword address.
29131 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29132 GRUB_PCI_REG_CACHELINE.
29133 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29134 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29135 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29136 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29137 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29138 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29139 grub_pci_make_address.
29140 (lock_rom_area): Likewise.
29141 * commands/lspci.c (grub_lspci_iter): Use macroses
29142 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29143 of grub_pci_make_address.
29144 * disk/ata.c (grub_ata_pciinit): Likewise.
29145 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29146 (GRUB_PCI_REG_VENDOR): Likewise.
29147 (GRUB_PCI_REG_DEVICE): Likewise.
29148 (GRUB_PCI_REG_COMMAND): Likewise.
29149 (GRUB_PCI_REG_STATUS): Likewise.
29150 (GRUB_PCI_REG_REVISION): Likewise.
29151 (GRUB_PCI_REG_CLASS): Likewise.
29152 (GRUB_PCI_REG_CACHELINE): Likewise.
29153 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29154 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29155 (GRUB_PCI_REG_BIST): Likewise.
29156 (GRUB_PCI_REG_ADDRESSES): Likewise.
29157 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29158 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29159 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29160 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29161 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29162 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29163 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29164 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29165 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29166 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29167 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29168 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29169 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29170 (GRUB_PCI_REG_MIN_GNT): Likewise.
29171 (GRUB_PCI_REG_MAX_LAT): Likewise.
29172 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29173 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29174 * video/efi_uga.c (find_framebuf): Likewise.
29175 * video/sm712.c (grub_video_sm712_setup): Likewise.
29176 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29177 space.
29178
29179 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29180
29181 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29182 can be reliably determined to be supported.
29183
29184 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29185
29186 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29187 that VESA is supported.
29188 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29189 supported.
29190
29191 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29194
29195 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29196
29197 * util/misc.c (make_system_path_relative_to_its_root): Work around
29198 special-casing of "/", as previous incarnation of this routine did.
29199
29200 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 Fix any-emu compilation.
29203
29204 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29205 * grub_bin2h_SOURCES: New variable.
29206
29207 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29208
29209 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29210
29211 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29212
29213 * util/grub.d/00_header.in: Fix handling of locale_dir.
29214
29215 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29216
29217 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29218 as possible unifont location (Gentoo).
29219 Reported by: Alexander Brüning
29220
29221 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29222
29223 Don't try to generate lists for kernel.img.
29224
29225 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29226 (pkglib_MODULES): Remove kernel.img.
29227 (kernel_img_EXPORTS): Removed.
29228 (kernel_img_RELOCATABLE): New variable.
29229 * conf/x86_64-efi.rmk: Likewise.
29230 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29231
29232 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29233
29234 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29235 grub_xasprintf or grub_snprintf.
29236 (grub_vsprintf): Likewise.
29237 (grub_snprintf): New proto.
29238 (grub_vsnprintf): Likewise.
29239 (grub_xasprintf): Likewise.
29240 (grub_xvasprintf): Likewise.
29241 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29242 (grub_sprintf): Removed.
29243 (grub_vsnprintf): New function.
29244 (grub_snprintf): Likewise.
29245 (grub_xvasprintf): Likewise.
29246 (grub_xasprintf): Likewise.
29247 (grub_vsprintf): Renamed to ...
29248 (grub_vsnprintf_real): ...this. New argument max_len.
29249
29250 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29251
29252 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29253 fix grub-script-check warning.
29254
29255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29256
29257 * include/grub/font.h (grub_font_load): Fix prototype.
29258
29259 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29262
29263 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 * include/grub/x86_64/at_keyboard.h: New file.
29266
29267 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * loader/mips/linux.c: Include missing grub/i18n.h.
29270
29271 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29272
29273 * normal/menu.c (notify_execution_failure): Clarify error message.
29274
29275 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29276
29277 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29278 return value (and revert all return statements). Update users.
29279
29280 2010-01-20 Dan Merillat <debian@dan.merillat.org>
29281
29282 * kern/device.c (grub_device_iterate): Allocate new part_ent
29283 structure based on sizeof (*p) rather than sizeof (p->next), to
29284 account for structure padding.
29285
29286 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29287 disk is NULL, which might happen for LVM physical volumes with no
29288 LVM signature.
29289
29290 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29291
29292 * loader/mips/linux.c (grub_cmd_initrd)
29293 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29294
29295 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29296
29297 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29298 (grub_video_video_init, grub_video_bitmap_init)
29299 (grub_font_manager_init, grub_term_gfxterm_init)
29300 (grub_at_keyboard_init): New extern declarations.
29301 (grub_machine_init): Initialize gfxterm and at_keyboard.
29302
29303 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29304
29305 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29306 `gfxterm.mod' into core image.
29307
29308 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29309 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29310 (kernel_img_FORMAT): Copy to ...
29311
29312 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29313 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29314 (kernel_img_FORMAT): ... here, and ...
29315
29316 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29317 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29318 (kernel_img_FORMAT): ... here.
29319
29320 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29321 and input (at_keyboard) terminals in kernel.
29322 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29323
29324 (pkglib_MODULES): Remove `pci.mod'.
29325 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29326 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29327 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29328 (at_keyboard_mod_LDFLAGS): Remove variables.
29329
29330 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
29331
29332 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29333
29334 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29335
29336 * include/grub/mips/libgcc.h: Only export symbols for functions
29337 that libgcc provides.
29338
29339 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29340
29341 MIPS support.
29342
29343 * bus/bonito.c: New file.
29344 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29345 GRUB_PCI_NUM_DEVICES.
29346 * term/i386/pc/serial.c: Move to ...
29347 * term/serial.c: ... here. All users updated.
29348 * util/i386/pc/grub-mkimage.c: Move to ...
29349 * util/grub-mkrawimage.c: ... here. All users updated.
29350 * term/i386/pc/at_keyboard.c: Move to ...
29351 * term/at_keyboard.c: ... here. All users updated.
29352 * conf/mips-qemu-mips.rmk: New file.
29353 * conf/mips-yeeloong.rmk: Likewise.
29354 * conf/mips.rmk: Likewise.
29355 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29356 mipsel-qemu-mips.
29357 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29358 to port addresses.
29359 (grub_ata_pciinit): Support CS5536.
29360 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29361 * font/font_cmd.c (loadfont_command): Open file before passing it to
29362 grub_font_load.
29363 (pseudo_file_read): New function.
29364 (pseudo_file_close): Likewise.
29365 (pseudo_fs): New structure.
29366 (load_font_module): New function.
29367 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29368 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29369 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29370 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29371 * include/grub/i386/at_keyboard.h: Split into ...
29372 * include/grub/at_keyboard.h: ... this ...
29373 * include/grub/i386/at_keyboard.h: ... and this.
29374 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29375 New prototype.
29376 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29377 updated.
29378 (grub_elf64_size): Likewise.
29379 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29380 filename.
29381 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29382 * include/grub/i386/coreboot/serial.h: Rewritten.
29383 * include/grub/i386/ieee1275/serial.h: Include
29384 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29385 * include/grub/i386/pc/serial.h: Moved from here ...
29386 * include/grub/serial.h: ... to here. All users updated.
29387 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29388 (GRUB_PCI_NUM_BUS): Likewise.
29389 (GRUB_PCI_NUM_DEVICES): Likewise.
29390 (grub_pci_device_map_range): Add missing volatile keyword.
29391 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29392 * include/grub/mips/at_keyboard.h: New file.
29393 * include/grub/mips/cache.h: Likewise.
29394 * include/grub/mips/io.h: Likewise.
29395 * include/grub/mips/kernel.h: Likewise.
29396 * include/grub/mips/libgcc.h: Likewise.
29397 * include/grub/mips/pci.h: Likewise.
29398 * include/grub/mips/qemu-mips/boot.h: Likewise.
29399 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29400 * include/grub/mips/qemu-mips/loader.h: Likewise.
29401 * include/grub/mips/qemu-mips/memory.h: Likewise.
29402 * include/grub/mips/qemu-mips/serial.h: Likewise.
29403 * include/grub/mips/qemu-mips/time.h: Likewise.
29404 * include/grub/mips/relocator.h: Likewise.
29405 * include/grub/mips/time.h: Likewise.
29406 * include/grub/mips/types.h: Likewise.
29407 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29408 * include/grub/mips/yeeloong/boot.h: Likewise.
29409 * include/grub/mips/yeeloong/kernel.h: Likewise.
29410 * include/grub/mips/yeeloong/loader.h: Likewise.
29411 * include/grub/mips/yeeloong/memory.h: Likewise.
29412 * include/grub/mips/yeeloong/pci.h: Likewise.
29413 * include/grub/mips/yeeloong/serial.h: Likewise.
29414 * include/grub/mips/yeeloong/time.h: Likewise.
29415 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29416 * kern/elf.c (grub_elf32_size): New parameter. All users
29417 updated.
29418 (grub_elf64_size): Likewise.
29419 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29420 Load modules before saying "Welcome to GRUB!".
29421 Call grub_refresh after saying "Welcome to GRUB!".
29422 * kern/mips/cache.S: New file.
29423 * kern/mips/cache_flush.S: Likewise.
29424 * kern/mips/dl.c: Likewise.
29425 * kern/mips/init.c: Likewise.
29426 * kern/mips/qemu-mips/init.c: Likewise.
29427 * kern/mips/startup.S: Likewise.
29428 * kern/mips/yeeloong/init.c: Likewise.
29429 * kern/term.c (grub_putcode): Handle NULL terminal.
29430 (grub_getcharwidth): Likewise.
29431 (grub_getkey): Likewise.
29432 (grub_checkkey): Likewise.
29433 (grub_getkeystatus): Likewise.
29434 (grub_getxy): Likewise.
29435 (grub_getwh): Likewise.
29436 (grub_gotoxy): Likewise.
29437 (grub_cls): Likewise.
29438 (grub_setcolorstate): Likewise.
29439 (grub_setcolor): Likewise.
29440 (grub_getcolor): Likewise.
29441 (grub_refresh): Likewise.
29442 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29443 (write_jump): Add hatch nop.
29444 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29445 * lib/mips/setjmp.S: New file.
29446 * loader/mips/linux.c: Likewise.
29447 * term/i386/pc/at_keyboard.c: Move from here ...
29448 * term/at_keyboard.c: ... to here.
29449 * term/i386/pc/serial.c: Moved from here ...
29450 * term/serial.c: ... to here. All users updated.
29451 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29452 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29453 (serial_translate_key_sequence): Avoid deadlock.
29454 (grub_serial_getkey): Handle backspace.
29455 (grub_serial_putchar): Fix newline handling.
29456 * util/i386/pc/grub-mkimage.c: Move from here ...
29457 * util/grub-mkrawimage.c: ... to here. All users updated.
29458 (generate_image): New parameters 'font_path' and 'format'.
29459 Support embedding font.
29460 Use grub_host_to_target* instead of grub_cpu_to_le*.
29461 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29462 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29463 (options): New option "--font".
29464 (usage): Likewise.
29465 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29466 (main): Handle "--font".
29467 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29468 (grub_virtual_screen_setup): Set bg_color_display.
29469 (redraw_screen_rect): Use bg_color_display instead of incorrect
29470 bg_color.
29471 (grub_gfxterm_cls): Likewise.
29472 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29473 Support embedding config file.
29474 (add_segments): Likewise.
29475 (options): New option "--config".
29476 (main): Handle "--config".
29477 * video/sm712.c: New file.
29478
29479 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29480
29481 Fix parallel builds.
29482
29483 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29484 font.c depend on ascii.h).
29485
29486 2010-01-12 Carles Pina i Estany <carles@pina.cat>
29487
29488 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29489
29490 2010-01-11 Carles Pina i Estany <carles@pina.cat>
29491
29492 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29493 By default: disabled.
29494 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29495 parameter.
29496
29497 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29498
29499 * font/font.c: Update copyright years.
29500 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29501
29502 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29503
29504 * font/font.c: Include `ascii.h'.
29505 (ASCII_BITMAP_SIZE): New macro.
29506 (ascii_font_glyph): Define.
29507 (ascii_glyph_lookup): New function.
29508 (grub_font_get_string_width): Change comment. If glyph not found, use
29509 ascii_glyph_lookup.
29510 (grub_font_get_glyph_with_fallback): If glyph not available returns
29511 ascii_glyph_lookup.
29512 * util/grub-mkfont.c (file_formats): New enum.
29513 (options): Add `ascii-bitmaps' new option.
29514 (usage): Add `asii-bitmaps' new option.
29515 (write_font_ascii_bitmap): New function.
29516 (write_font): Rename to ...
29517 (write_font_p2): ... this. Remove print_glyphs call.
29518 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29519 used. Call print_glyphs.
29520 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29521
29522 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29523
29524 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29525 (grub_bin2h_SOURCES): New variable.
29526 * util/bin2h.c: New file.
29527
29528 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29529
29530 * include/multiboot.h: Resynced with spec.
29531 * include/multiboot2.h: Likewise.
29532 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29533 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29534
29535 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29536
29537 * include/grub/term.h (grub_term_register_input,
29538 grub_term_register_output): Check return of terminal init()
29539 routines, and abort if errors are raised.
29540
29541 * commands/terminal.c: Update copyright year.
29542
29543 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29544
29545 * commands/terminal.c (grub_cmd_terminal_input)
29546 (grub_cmd_terminal_output): Check return of terminal init()
29547 routines, and abort if errors are raised.
29548
29549 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29550
29551 * include/grub/i386/bsd.h: Fix include pathes.
29552
29553 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 Add missing *BSD copyright headers.
29556
29557 * include/grub/aout.h: Add BSD licence.
29558 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29559 * include/grub/i386/freebsd_linker.h: ... here,
29560 * include/grub/i386/freebsd_reboot.h: ... here,
29561 * include/grub/i386/netbsd_bootinfo.h: ... here,
29562 * include/grub/i386/netbsd_reboot.h: ... here,
29563 * include/grub/i386/openbsd_bootarg.h: ... here,
29564 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29565 licence to each file.
29566
29567 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29568
29569 * acinclude.m4: Remove `nop' assembly instruction; it's not
29570 implemented by all architectures.
29571
29572 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29573
29574 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29575 ELILO. This is no longer necessary.
29576
29577 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29578
29579 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29580
29581 * util/grub-script-check.c: grub-script-check tool.
29582 * conf/common.rmk: Make rules for grub-script-check.
29583
29584 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29585
29586 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29587 spotting it back in 2008. Shame on me for forgetting he did.
29588
29589 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29590
29591 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29592
29593 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29594 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29595 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29596 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29597 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29598 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29599
29600 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29601
29602 * include/grub/test.h: Add license header.
29603 * tests/example_functional_test.c: Likewise.
29604 * tests/example_unit_test.c: Likewise.
29605 * tests/lib/functional_test.c: Likewise.
29606 * tests/lib/test.c: Likewise.
29607 * tests/lib/unit_test.c: Likewise.
29608
29609 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29610
29611 Use flag-based instead of hook-based video mode selection and "auto"
29612 keyword.
29613
29614 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29615 (grub_video_set_mode): Changed prototype. All users updated.
29616 (grub_video_check_mode_flag): New inline function.
29617 * video/video.c (parse_modespec): New function.
29618 (grub_video_set_mode): Parse flags and keywords.
29619
29620 2010-01-17 Carles Pina i Estany <carles@pina.cat>
29621
29622 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29623 fprintf call.
29624
29625 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29626
29627 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29628
29629 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29630
29631 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29632 string.
29633 * util/grub-emu.c (usage): Likewise.
29634 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29635 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29636 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29637 * util/i386/pc/grub-setup.c (usage): Likewise.
29638
29639 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29640
29641 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29642 the message.
29643 (grub_util_info): Likewise.
29644 (grub_util_error): Likewise.
29645 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29646 and/or new lines in `grub_util_warna', `grub_util_info',
29647 `grub_util_error' calls.
29648 * util/getroot.c: Likewise.
29649 * util/grub-editenv.c: Likewise.
29650 * util/grub-emu.c: Likewise.
29651 * util/grub-fstest.c: Likewise.
29652 * util/grub-mkdevicemap.c: Likewise.
29653 * util/grub-mkfont.c: Likewise.
29654 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29655 * util/grub-mkrelpath.c: Likewise.
29656 * util/grub-pe2elf.c: Likewise.
29657 * util/grub-probe.c: Likewise.
29658 * util/hostdisk.c: Likewise.
29659 * util/i386/efi/grub-mkimage.c: Likewise.
29660 * util/i386/pc/grub-mkimage.c: Likewise.
29661 * util/i386/pc/grub-setup.c: Likewise.
29662 * util/ieee1275/ofpath.c: Likewise.
29663 * util/mkisofs/eltorito.c: Likewise.
29664 * util/mkisofs/rock.c: Likewise.
29665 * util/mkisofs/write.c: Likewise.
29666 * util/raid.c: Likewise.
29667 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29669
29670 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29671
29672 Enable multiboot on non-pc.
29673
29674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29675 multiboot.mod and multiboot2.mod to ...
29676 * conf/i386.rmk (pkglib_MODULES): ... here.
29677 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29678 Moved to ...
29679 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29680 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29681 Moved to ...
29682 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29683 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29684 Moved to ...
29685 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29686 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29687 Moved to ...
29688 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29689 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29690 relocator.mod.
29691 (ata_mod_SOURCES): Removed.
29692 (ata_mod_CFLAGS): Likewise.
29693 (ata_mod_LDFLAGS): Likewise.
29694 (relocator_mod_SOURCES): Removed.
29695 (relocator_mod_CFLAGS): Likewise.
29696 (relocator_mod_ASFLAGS): Likewise.
29697 (relocator_mod_LDFLAGS): Likewise.
29698 Include i386.mk.
29699 * include/grub/x86_64/multiboot.h: New file.
29700 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29701 Terminate EFI.
29702
29703 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29704
29705 Video multiboot support.
29706
29707 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29708 New prototype.
29709 * include/multiboot.h: Resynced with multiboot specification.
29710 * include/multiboot2.h: Likewise.
29711 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29712 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29713 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29714 (HAS_VGA_TEXT): Likewise.
29715 (accepts_video): New variable.
29716 (grub_multiboot_set_accepts_video): New function.
29717 (grub_multiboot_get_mbi_size): Account for video structures.
29718 (set_video_mode): New function.
29719 (retrieve_video_parameters): Likewise.
29720 (grub_multiboot_make_mbi): Fill video fields.
29721
29722 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29723
29724 Video driver ids.
29725
29726 * include/grub/video.h (grub_video_driver_id): New type.
29727 (grub_video_adapter): New member 'id'. All users updated.
29728 (grub_video_get_driver_id): New proto.
29729 * video/video.c (grub_video_get_driver_id): New function.
29730
29731 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29732
29733 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29734 `var=val'.
29735
29736 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29737
29738 * normal/cmdline.c (print_completion): Gettextizze.
29739
29740 2001-01-14 Carles Pina i Estany <carles@pina.cat>
29741
29742 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29743
29744 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29745
29746 * gettext/gettext.c (grub_gettext_translate): Push and pop
29747 grub_errno.
29748 (grub_gettext_delete_list): Change comment style.
29749 * kern/err.c (grub_error): Gettextizze.
29750 (grub_fatal): Gettextizze.
29751
29752 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29753
29754 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29755 (grub_linux16_real_boot): ... this.
29756 * kern/i386/loader.S: Likewise.
29757 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29758 (grub_linux16_boot): New function. Switches to text mode and calls
29759 grub_linux16_real_boot().
29760
29761 * loader/i386/bsd.c: Include `<grub/video.h>'.
29762 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29763 text mode before calling grub_unix_real_boot().
29764
29765 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29766 (grub_multiboot_boot): Switch to text mode before calling
29767 grub_relocator32_boot().
29768
29769 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29770 (grub_chainloader_boot): Switch to text mode before calling
29771 grub_chainloader_real_boot().
29772
29773 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29774 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29775
29776 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29777 non-empty value.
29778
29779 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29780 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29781
29782 * util/grub.d/00_header.in: Define a "savedefault" function for use
29783 in menu entries.
29784 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29785
29786 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29787 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29788
29789 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29790 saved_entry if boot_once is unset.
29791 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29792 previous saved entry (i.e. grub-reboot).
29793
29794 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29795
29796 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29797
29798 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29799
29800 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29801 `var=val'.
29802 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29803
29804 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29805
29806 * util/grub-reboot.in: Fix --version output.
29807 * util/grub-set-default.in: Likewise.
29808
29809 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29810
29811 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29812 blocks.
29813
29814 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29815
29816 * util/grub.d/00_header.in: Quote the value assigned to `default',
29817 in case it contains spaces.
29818
29819 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29820
29821 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29822 `save_default_entry' call from the macosx case to the linux case.
29823
29824 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
29825 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
29826
29827 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29828 in `chosen' environment variable.
29829 * normal/menu_text.c (get_entry_number): Check if the variable
29830 matches the title of a menu entry.
29831 (run_menu): Pass menu to get_entry_number.
29832
29833 * util/grub-reboot.in: New file.
29834 * util/grub-set-default.in: New file.
29835 * conf/common.rmk (grub-reboot): New utility.
29836 (grub-set-default): New utility.
29837
29838 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29839 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29840 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29841 move it to `saved_entry' for the next boot. Load environment on
29842 initialisation.
29843 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29844 * util/grub.d/10_hurd.in: Likewise.
29845 * util/grub.d/10_linux.in (linux_entry): Likewise.
29846 * util/grub.d/10_windows.in: Likewise.
29847 * util/grub.d/30_os-prober.in: Likewise.
29848
29849 * util/grub-install.in: Create environment block.
29850 * util/i386/efi/grub-install.in: Likewise.
29851 * util/ieee1275/grub-install.in: Likewise.
29852 * util/sparc64/ieee1275/grub-install.in: Likewise.
29853
29854 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29855
29856 Unit testing framework for GRUB.
29857
29858 * Makefile.in: Test framework build rules for 'make check'.
29859 * conf/tests.rmk: Build rules for individual tests and framework.
29860
29861 * include/grub/test.h: Header file for whitebox tests.
29862 * tests/lib/functional_test.c: Framework support for whitebox
29863 functional tests.
29864 * tests/lib/test.c: Common whitebox testing code for unit and
29865 functional tests.
29866 * tests/lib/unit_test.c: Framework support for whitebox unit
29867 tests.
29868
29869 * tests/util/grub-shell-tester.in: Support utility for grub-script
29870 tests.
29871 * tests/util/grub-shell.in: Utility to execute grub-script
29872 commands in a Qemu instance.
29873
29874 * tests/example_functional_test.c: Example whitebox functional
29875 test.
29876 * tests/example_grub_script_test.in: Example grub-script test.
29877 * tests/example_scripted_test.in: Example scripted test.
29878 * tests/example_unit_test.c: Example whitebox unit test.
29879
29880 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29881
29882 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29883 Add loader/i386/multiboot_mbi.c.
29884 (multiboot2_mod_SOURCES): Likewise.
29885 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29886 (multiboot2_mod_SOURCES): Likewise.
29887 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29888 (grub_multiboot_make_mbi): Likewise.
29889 (grub_multiboot_free_mbi): Likewise.
29890 (grub_multiboot_init_mbi): Likewise.
29891 (grub_multiboot_add_module): Likewise.
29892 (grub_multiboot_set_bootdev): Likewise.
29893 * loader/i386/multiboot.c (mbi): Removed.
29894 (mbi_dest): Likewise.
29895 (alloc_mbi): New variable.
29896 (grub_multiboot_payload_size): Removed. All users updated.
29897 (grub_multiboot_pure_size): New variable.
29898 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29899 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29900 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29901 (grub_fill_multiboot_mmap): Likewise.
29902 (grub_multiboot_get_bootdev): Likewise.
29903 (grub_multiboot): Use multiboot_mbi functions.
29904 * loader/i386/multiboot_mbi.c: New file.
29905
29906 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29909 it would result in module crash.
29910
29911 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29912
29913 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29914 (grub_ofconsole_getwh): Split to ...
29915 (grub_ofconsole_getwh): ... this.
29916 (grub_ofconsole_dimensions): ...and this.
29917 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29918
29919 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29920
29921 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29922
29923 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29924
29925 * loader/i386/pc/multiboot2.c: Removed stalled file.
29926
29927 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29930 Reported by: Grégoire Sutre
29931
29932 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29933
29934 * util/misc.c (canonicalize_file_name): New function.
29935 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29936 instead of realpath().
29937
29938 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
29939
29940 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29941 and make it clearer that it's optional. Based on confusion
29942 witnessed on IRC.
29943
29944 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29945
29946 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29947 in premature implicit newline.
29948
29949 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29950
29951 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29952 which resulted in garbled command line at the end of screen.
29953
29954 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29955
29956 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29957 initialization with similar approach as with other Linux loaders.
29958
29959 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29960
29961 Fix i386-ieee1275 build.
29962
29963 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29964 and grub_term_height() for video_{width,height} initialization.
29965
29966 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29967
29968 Fix grub-emu build.
29969
29970 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29971
29972 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29973 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29974
29975 Support for multiple terminals.
29976
29977 * Makefile.in (pkglib_DATA): terminal.lst.
29978 (terminal.lst): New target.
29979 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29980 (GRUB_MOD_INIT(handler)): Likewise.
29981 (GRUB_MOD_FINI(handler)): Likewise.
29982 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29983 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29984 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29985 (grub_cmd_sleep): Use grub_term_save_pos.
29986 * commands/terminal.c: New file.
29987 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29988 commands/terminal.c and lib/charset.c.
29989 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29990 (pkglib_MODULES): Add terminal.mod.
29991 (terminal_mod_SOURCES): New variable.
29992 (terminal_mod_CFLAGS): Likewise.
29993 (terminal_mod_LDFLAGS): Likewise.
29994 * genhandlerlist.sh: Don't handle terminals.
29995 * genmk.rb: Generate terminal-*.lst.
29996 * genterminallist.sh: New file.
29997 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29998 (grub_is_valid_utf8): Likewise.
29999 (grub_utf8_to_ucs4_alloc): Likewise.
30000 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30001 (grub_menu_register_viewer): Changed argument.
30002 (grub_menu_try_text): New proto.
30003 (grub_gfxmenu_try_hook): New declaration.
30004 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30005 (grub_menu_init_page): Additional argument term.
30006 (grub_normal_init_page): Likewise.
30007 (grub_cmdline_get): Arguments simplified.
30008 (grub_utf8_to_ucs4_alloc): Removed.
30009 (grub_print_ucs4): Additional argument term.
30010 (grub_getstringwidth): Likewise.
30011 (grub_print_message_indented): Likewise.
30012 (grub_menu_text_register_instances): New proto.
30013 (grub_show_menu): Likewise.
30014 (read_terminal_list): Likewise.
30015 (grub_set_more): Likewise.
30016 * include/grub/parser.h: Include handler.h.
30017 * include/grub/reader.h: Rewritten.
30018 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30019 (GRUB_TERM_WIDTH): Changed to function.
30020 (GRUB_TERM_HEIGHT): Likewise.
30021 (GRUB_TERM_BORDER_WIDTH): Likewise.
30022 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30023 (GRUB_TERM_NUM_ENTRIES): Likewise.
30024 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30025 (GRUB_TERM_CURSOR_X): Likewise.
30026 (grub_term_input_class): Likewise.
30027 (grub_term_output_class): Likewise.
30028 (grub_term_outputs_disabled): New declaration.
30029 (grub_term_inputs_disabled): Likewise.
30030 (grub_term_outputs): Likewise.
30031 (grub_term_inputs): Likewise.
30032 (grub_term_register_input): Rewritten.
30033 (grub_term_register_output): Likewise.
30034 (grub_term_unregister_input): Likewise.
30035 (grub_term_unregister_output): Likewise.
30036 (FOR_ACTIVE_TERM_INPUTS): New macro.
30037 (FOR_DISABLED_TERM_INPUTS): Likewise.
30038 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30039 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30040 * include/grub/terminfo.h: Add oterm argument to all protypes.
30041 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30042 Use grub_rescue_run.
30043 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30044 All users updated.
30045 * kern/reader.c: Removed. All users updated.
30046 * kern/rescue_reader.c (grub_rescue_init): Removed.
30047 (grub_rescue_reader): Likewise.
30048 (grub_register_rescue_reader): Likewise.
30049 (grub_rescue_run): New function based on kern/reader.c.
30050 * kern/term.c: Adapted for multiterm.
30051 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30052 (grub_is_valid_utf8): Likewise.
30053 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30054 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30055 right terminal.
30056 * loader/i386/linux.c (grub_linux_boot): Likewise.
30057 * normal/auth.c (grub_username_get): New function.
30058 (grub_auth_check_authentication): Use grub_username_get.
30059 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30060 * normal/color.c: Adapt for multiterm.
30061 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30062 (grub_normal_init_page): Additional argument term.
30063 (read_lists): Call read_terminal_lists.
30064 (grub_enter_normal_mode): Call grub_cmdline_run.
30065 Handle grub_normal_exit_level.
30066 (grub_cmd_normal): Make reentrant.
30067 (grub_cmd_normal_exit): New function.
30068 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30069 * normal/menu.c: Adapt for multiterm.
30070 * normal/menu_entry.c: Likewise.
30071 * normal/menu_text.c: Likewise.
30072 * normal/menu_viewer.c: Removed. All users updated.
30073 * normal/term.c: New file.
30074 * util/console.c: Change order of includes to workaround a bug in
30075 ncurses headers.
30076 * term/terminfo.c: New argument oterm on all exported functions.
30077 All users updated.
30078 * util/grub-editenv.c (grub_term_input_class): Removed.
30079 (grub_term_output_class): Likewise.
30080
30081 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30082
30083 Make loader output a bit more user-friendly.
30084
30085 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30086 is being loaded. Likewise for the Hurd.
30087
30088 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30089 that kernel of FreeBSD ${version} is being loaded.
30090
30091 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30092 grub_dprintf().
30093 (grub_cmd_initrd): Likewise.
30094 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30095 that Linux ${version} is being loaded. Likewise for initrd.
30096
30097 2010-01-09 Carles Pina i Estany <carles@pina.cat>
30098
30099 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30100
30101 2010-01-08 Carles Pina i Estany <carles@pina.cat>
30102
30103 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30104 (GRUB_MOD_INIT): Gettextizze.
30105 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30106 (GRUB_MOD_INIT): Gettextizze.
30107 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30108 (grub_cmd_linux): Capitalise Linux.
30109 (GRUB_MOD_INIT): Gettextizze.
30110 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30111 (grub_cmd_linux): Capitalise Linux.
30112 (GRUB_MOD_INIT): Gettextizze.
30113 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30114 (grub_cmd_linux): Capitalise Linux.
30115 (GRUB_MOD_INIT): Gettextizze.
30116 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30117 (GRUB_MOD_INIT): Gettextizze.
30118 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30119 (grub_cmd_linux): Capitalise Linux.
30120 (GRUB_MOD_INIT): Gettextizze.
30121 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30122 (grub_cpu_xnu_init): Gettextizze.
30123 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30124 (GRUB_MOD_INIT): Gettextizze.
30125 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30126 (GRUB_MOD_INIT): Gettextizze.
30127 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30128 (grub_linux_load64): Capitalise Linux.
30129 (GRUB_MOD_INIT): Gettextizze.
30130 * loader/xnu.c: Include `<grub/i18n.h>'.
30131 (GRUB_MOD_INIT): Gettextizze.
30132 * po/POTFILES: Add `loader/efi/appleloader.c',
30133 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30134 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30135 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30136 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30137 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30138 and `loader/xnu.c'.
30139
30140 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30141
30142 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30143
30144 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30147 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30148 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30149
30150 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30151
30152 Reset Multiboot 2 support. New loader implements the draft in
30153 /branches/multiboot2 and shares as much code as possible with the
30154 production Multiboot 1 implementation.
30155
30156 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30157 * loader/multiboot2.c: Likewise.
30158 * loader/i386/multiboot_helper.S: Likewise.
30159 * include/multiboot2.h: Replace with latest version from the draft
30160 in /branches/multiboot2.
30161
30162 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30163 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30164 and `loader/multiboot2.c'.
30165 (pkglib_MODULES): Add `multiboot2.mod'.
30166 (multiboot2_mod_SOURCES): New variable.
30167 (multiboot2_mod_LDFLAGS): Likewise.
30168 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30169
30170 * conf/i386-pc.rmk: Likewise.
30171
30172 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30173 (multiboot_mod_SOURCES): Remove variable.
30174 (multiboot_mod_LDFLAGS): Likewise.
30175 (multiboot_mod_CFLAGS): Likewise.
30176
30177 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30178 `<multiboot2.h>' instead of `<multiboot.h>'.
30179 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30180 (MULTIBOOT_HEADER_MAGIC): New macros.
30181
30182 * loader/multiboot_loader.c (module_version_status): Remove variable.
30183 (find_multi_boot2_header): Remove function.
30184 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30185 logic. Always check for the Multiboot version we're compiling for.
30186 (grub_cmd_module_loader): Likewise.
30187 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30188 command instead of `multiboot'.
30189
30190 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30191
30192 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30193 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30194 all users.
30195
30196 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30197 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30198
30199 Fix breakage introduced with previous commit.
30200
30201 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30202 commands.
30203 * normal/handler.c (read_handler_list): Revert part of previous commit
30204 affecting this file.
30205 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30206 (grub_normal_execute): ... here.
30207
30208 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30209
30210 Merge prefix-redefinition-fix branch.
30211
30212 * normal/autofs.c (read_fs_list): Make function capable of being
30213 run multiple times, gracefuly replacing the previous data
30214 structures.
30215 * normal/dyncmd.c (read_command_list): Likewise.
30216 * normal/handler.c (read_handler_list): Likewise.
30217 * normal/main.c (read_lists): New function. Calls all the
30218 list reading functions.
30219 (grub_normal_execute): Use read_lists() instead of calling all
30220 list reading functions explicitly. Register read_lists() as a
30221 variable hook attached to ${prefix}.
30222
30223 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30224
30225 Merge crypto branch.
30226
30227 * Makefile.in (pkglib_DATA): Add crypto.lst.
30228 (crypto.lst): New target.
30229 * commands/hashsum.c: New file.
30230 * commands/password.c (check_password): Use grub_crypto_memcmp.
30231 * commands/password_pbkdf2.c: New file.
30232 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30233 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30234 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30235 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30236 -I$(srcdir)/lib/libgcrypt_wrap.
30237 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30238 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30239 password_pbkdf2.mod.
30240 (crypto_mod_SOURCES): New variable.
30241 (crypto_mod_CFLAGS): Likewise.
30242 (crypto_mod_LDFLAGS): Likewise.
30243 (hashsum_mod_SOURCES): New variable.
30244 (hashsum_mod_CFLAGS): Likewise.
30245 (hashsum_mod_LDFLAGS): Likewise.
30246 (pbkdf2_mod_SOURCES): New variable.
30247 (pbkdf2_mod_CFLAGS): Likewise.
30248 (pbkdf2_mod_LDFLAGS): Likewise.
30249 (password_pbkdf2_mod_SOURCES): New variable.
30250 (password_pbkdf2_mod_CFLAGS): Likewise.
30251 (password_pbkdf2_mod_LDFLAGS): Likewise.
30252 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30253 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30254 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30255 Include conf/gcry.rmk.
30256 * include/grub/auth.h: Rewritten.
30257 * include/grub/crypto.h: New file.
30258 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30259 * include/grub/normal.h (read_crypto_list): New prototype.
30260 * lib/crypto.c: New file.
30261 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30262 * lib/pbkdf2.c: Likewise.
30263 * normal/auth.c (grub_auth_strcmp): Removed.
30264 (grub_iswordseparator): Likewise.
30265 (grub_auth_strword): Likewise.
30266 (is_authenticated): Use grub_strword.
30267 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30268 and grub_strword. Pass entered password to authentication callback.
30269 * normal/crypto.c: New file.
30270 * normal/main.c: Call read_crypto_list.
30271 * util/grub-mkpasswd-pbkdf2.c: New file.
30272 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30273
30274 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30275
30276 Fix descent and ascent calculation.
30277
30278 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30279 (options): New option "asce".
30280 (usage): Likewise.
30281 (add_char): Ignore invalid glyphs for descent calculation.
30282 Calculate ascent from actual content.
30283 (print_glyphs): Use 'asce'.
30284 (write_font): Likewise. Allow ascent override.
30285 (main): Handle "asce" option.
30286
30287 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30288
30289 * kern/err.c: Include `<grub/i18n.h>'.
30290 (grub_print_error): Add full stop. Gettextizze.
30291 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30292 (grub_bsd_load_elf): Capitalise ELF.
30293 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30294 (grub_cmd_freebsd_module): Likewise.
30295 (grub_cmd_freebsd_module_elf): Likewise.
30296 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30297
30298 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30299
30300 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30301 * commands/search_file.c (HELP_MESSAGE): New macro.
30302 * commands/search_label.c (HELP_MESSAGE): Likewise.
30303 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30304 * po/POTFILES: Add `commands/search_file.c',
30305 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30306 `commands/search.c'.
30307
30308 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30309
30310 * config.rpath: Update from Gnulib.
30311
30312 2010-01-05 Yves Blusseau <blusseau@zetam.org>
30313
30314 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30315
30316 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30317
30318 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30319
30320 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30321
30322 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30323 arguments to fread so that we get a return value in bytes, rather
30324 than something that will normally be rounded down to 0.
30325 Adjust error handling to avoid producing garbage when size_t is not
30326 the same size as long long.
30327
30328 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30329
30330 * util/mkisofs/write.c (padblock_write): Check return value of
30331 fread.
30332
30333 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30334
30335 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30336 floppy images now.
30337
30338 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30339
30340 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30341
30342 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30343 instead of manual alignment.
30344 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30345 verbose). Avoid attempts to read past end of the device
30346 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30347 but GRUB_DISK_CACHE_SIZE may exceed that).
30348
30349 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30350
30351 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30352 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30353 it to upper layer.
30354
30355 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30356
30357 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30358 New constant.
30359 (grub_efi_piwg_device_path): New structure
30360 (grub_efi_piwg_device_path_t): New type.
30361 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30362 (devpath_1): Transform to a structure. All users updated.
30363 (devpath_2): Likewise.
30364 (devpath_3): Likewise.
30365 (devpath_4): Likewise.
30366 (devpath_5): Likewise.
30367
30368 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30369
30370 * loader/efi/appleloader.c: Restored. Update all users.
30371
30372 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30373
30374 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30375
30376 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30377 (struct boot_blocklist): Move from here ...
30378 * include/grub/i386/pc/boot.h [ASM_FILE]
30379 (struct grub_boot_blocklist): ... to here. Update all users.
30380 (setup): Only initialize `start' member of `first_block'
30381 structure. Add assert() calls to verify the other members.
30382
30383 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30384 (generate_image): Fix broken blocklist length initialization.
30385 Add assert() call to verify blocklist `segment' field.
30386
30387 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30388
30389 * loader/efi/appleloader.c: Remove. Update all users.
30390
30391 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30392
30393 * boot/i386/pc/boot.S: Update copyright year.
30394 * boot/i386/pc/cdboot.S: Likewise.
30395 * boot/i386/pc/diskboot.S: Likewise.
30396 * boot/i386/pc/lnxboot.S: Likewise.
30397 * boot/i386/pc/pxeboot.S: Likewise.
30398 * bus/pci.c: Likewise.
30399 * commands/cmp.c: Likewise.
30400 * commands/help.c: Likewise.
30401 * commands/hexdump.c: Likewise.
30402 * commands/i386/pc/halt.c: Likewise.
30403 * commands/i386/pc/play.c: Likewise.
30404 * commands/i386/pc/vbeinfo.c: Likewise.
30405 * commands/ls.c: Likewise.
30406 * commands/test.c: Likewise.
30407 * disk/dmraid_nvidia.c: Likewise.
30408 * disk/i386/pc/biosdisk.c: Likewise.
30409 * disk/ieee1275/nand.c: Likewise.
30410 * disk/ieee1275/ofdisk.c: Likewise.
30411 * disk/lvm.c: Likewise.
30412 * disk/raid.c: Likewise.
30413 * disk/raid6_recover.c: Likewise.
30414 * disk/scsi.c: Likewise.
30415 * fs/affs.c: Likewise.
30416 * fs/cpio.c: Likewise.
30417 * fs/ext2.c: Likewise.
30418 * fs/hfs.c: Likewise.
30419 * fs/iso9660.c: Likewise.
30420 * fs/ntfs.c: Likewise.
30421 * fs/sfs.c: Likewise.
30422 * fs/udf.c: Likewise.
30423 * fs/ufs.c: Likewise.
30424 * fs/xfs.c: Likewise.
30425 * gencmdlist.sh: Likewise.
30426 * genmk.rb: Likewise.
30427 * include/grub/disk.h: Likewise.
30428 * include/grub/efi/api.h: Likewise.
30429 * include/grub/efi/efi.h: Likewise.
30430 * include/grub/efi/pe32.h: Likewise.
30431 * include/grub/elf.h: Likewise.
30432 * include/grub/fs.h: Likewise.
30433 * include/grub/i386/at_keyboard.h: Likewise.
30434 * include/grub/i386/pc/memory.h: Likewise.
30435 * include/grub/i386/pc/vbe.h: Likewise.
30436 * include/grub/i386/pci.h: Likewise.
30437 * include/grub/i386/tsc.h: Likewise.
30438 * include/grub/ieee1275/ieee1275.h: Likewise.
30439 * include/grub/ntfs.h: Likewise.
30440 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30441 * include/grub/sparc64/libgcc.h: Likewise.
30442 * include/grub/symbol.h: Likewise.
30443 * include/grub/types.h: Likewise.
30444 * include/multiboot2.h: Likewise.
30445 * io/gzio.c: Likewise.
30446 * kern/device.c: Likewise.
30447 * kern/disk.c: Likewise.
30448 * kern/efi/efi.c: Likewise.
30449 * kern/efi/mm.c: Likewise.
30450 * kern/elf.c: Likewise.
30451 * kern/file.c: Likewise.
30452 * kern/i386/dl.c: Likewise.
30453 * kern/i386/pc/init.c: Likewise.
30454 * kern/i386/pc/startup.S: Likewise.
30455 * kern/ieee1275/ieee1275.c: Likewise.
30456 * kern/ieee1275/init.c: Likewise.
30457 * kern/main.c: Likewise.
30458 * kern/mm.c: Likewise.
30459 * kern/powerpc/dl.c: Likewise.
30460 * kern/sparc64/dl.c: Likewise.
30461 * kern/x86_64/dl.c: Likewise.
30462 * lib/hexdump.c: Likewise.
30463 * loader/efi/appleloader.c: Likewise.
30464 * loader/i386/ieee1275/linux.c: Likewise.
30465 * loader/i386/pc/chainloader.c: Likewise.
30466 * loader/i386/pc/linux.c: Likewise.
30467 * loader/i386/pc/multiboot2.c: Likewise.
30468 * loader/ieee1275/multiboot2.c: Likewise.
30469 * loader/multiboot2.c: Likewise.
30470 * loader/multiboot_loader.c: Likewise.
30471 * loader/powerpc/ieee1275/linux.c: Likewise.
30472 * normal/completion.c: Likewise.
30473 * normal/menu_entry.c: Likewise.
30474 * partmap/apple.c: Likewise.
30475 * util/grub.d/10_hurd.in: Likewise.
30476 * util/hostfs.c: Likewise.
30477 * video/readers/png.c: Likewise.
30478
30479 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
30480
30481 * include/grub/misc.h (GNUC_PREREQ): New macro.
30482 (ATTRIBUTE_ERROR): New macro.
30483 * include/grub/list.h (grub_bad_type_cast_real): Use
30484 ATTRIBUTE_ERROR.
30485
30486 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30487
30488 * normal/menu_text.c (print_message): Change messages.
30489
30490 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30491
30492 * normal/menu_entry.c (store_completion): Gettextizze.
30493
30494 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30495
30496 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30497
30498 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30499
30500 * po/POTFILES: Sort correctly.
30501
30502 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30503
30504 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30505 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30506 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30507 full stop.
30508 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30509 summary. Gettextizze the strings.
30510 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30511 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30512 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30513 full stop.
30514 (GRUB_MOD_INIT): Remove command name from summary.
30515 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30516 summary.
30517 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30518 * term/i386/pc/serial.c (options): Add full stops.
30519 (GRUB_MOD_INIT): Remove command name from the summary.
30520
30521 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30522
30523 * commands/acpi.c: Gettextizze help strings and/or options. Include
30524 `grub/i18n.h' if needed.
30525 * commands/blocklist.c: Likewise.
30526 * commands/boot.c: Likewise.
30527 * commands/cat.c: Likewise.
30528 * commands/cmp.c: Likewise.
30529 * commands/configfile.c: Likewise.
30530 * commands/crc.c: Likewise.
30531 * commands/date.c: Likewise.
30532 * commands/echo.c: Likewise.
30533 * commands/efi/fixvideo.c: Likewise.
30534 * commands/efi/loadbios.c: Likewise.
30535 * commands/gptsync.c: Likewise.
30536 * commands/halt.c: Likewise.
30537 * commands/handler.c: Likewise.
30538 * commands/hdparm.c: Likewise.
30539 * commands/hexdump.c: Likewise.
30540 * commands/i386/cpuid.c: Likewise.
30541 * commands/i386/pc/drivemap.c: Likewise.
30542 * commands/i386/pc/halt.c: Likewise.
30543 * commands/i386/pc/pxecmd.c: Likewise.
30544 * commands/i386/pc/vbeinfo.c: Likewise.
30545 * commands/i386/pc/vbetest.c: Likewise.
30546 * commands/ieee1275/suspend.c: Likewise.
30547 * commands/keystatus.c: Likewise.
30548 * commands/loadenv.c: Likewise.
30549 * commands/ls.c: Likewise.
30550 * commands/lsmmap.c: Likewise.
30551 * commands/lspci.c: Likewise.
30552 * commands/memrw.c: Likewise.
30553 * commands/minicmd.c: Likewise.
30554 * commands/parttool.c: Likewise.
30555 * commands/password.c: Likewise.
30556 * commands/probe.c: Likewise.
30557 * commands/read.c: Likewise.
30558 * commands/reboot.c: Likewise.
30559 * commands/search.c: Likewise.
30560 * commands/sleep.c: Likewise.
30561 * commands/test.c: Likewise.
30562 * commands/true.c: Likewise.
30563 * commands/usbtest.c: Likewise.
30564 * commands/videotest.c: Likewise.
30565 * commands/xnu_uuid.c: Likewise.
30566 * disk/loopback.c: Likewise.
30567 * hello/hello.c: Likewise.
30568 * loader/i386/bsd.c: Likewise.
30569 * term/i386/pc/serial.c: Likewise.
30570 * po/POTFILES: Add new files.
30571
30572 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
30573
30574 * term/i386/pc/at_keyboard.c
30575 (keyboard_controller_wait_untill_ready): Rename to ...
30576 (keyboard_controller_wait_until_ready): ... this. Update all users.
30577
30578 2010-01-01 Carles Pina i Estany <carles@pina.cat>
30579
30580 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30581 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30582 string using string width.
30583 * normal/menu_text.c (grub_print_message_indented): Use
30584 grub_print_spaces and not print_spaces.
30585 (print_timeout): Likewise.
30586 (print_spaces): Move to...
30587 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30588
30589 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30590
30591 Import from Gnulib.
30592
30593 * gnulib/getdelim.c: New file.
30594 * gnulib/getline.c: Likewise.
30595
30596 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30597
30598 * include/grub/list.h (grub_assert_fail): Removed.
30599 (grub_bad_type_cast_real): New function.
30600 (grub_bad_type_cast): New macro.
30601 (GRUB_AS_LIST): Use grub_bad_type_cast.
30602 (GRUB_AS_LIST_P): Likewise.
30603 (GRUB_AS_NAMED_LIST): Likewise.
30604 (GRUB_AS_NAMED_LIST_P): Likewise.
30605 (GRUB_AS_PRIO_LIST): Likewise.
30606 (GRUB_AS_PRIO_LIST_P): Likewise.
30607 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
30608
30609 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30610
30611 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30612 Fix syntax error.
30613
30614 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30615
30616 * configure.ac: Check for TARGET_CFLAGS initialization before we
30617 initialize it ourselves (sigh).
30618 Move a few modifications to TARGET_CFLAGS to be unconditional
30619 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30620 eh_frame)
30621
30622 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30623 * term/i386/pc/at_keyboard.c
30624 (keyboard_controller_wait_untill_ready): Likewise.
30625 (keyboard_controller_led): Rename `led_status' paramter to avoid
30626 name conflict.
30627
30628 2009-12-28 Carles Pina i Estany <carles@pina.cat>
30629
30630 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30631 quotes.
30632
30633 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30634
30635 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30636
30637 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30638
30639 * normal/menu_text.c (grub_print_message_indented): Prevent
30640 past-the-end-of-array dereference.
30641
30642 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30643
30644 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30645 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30646
30647 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30648
30649 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30650 * normal/main.c (grub_normal_read_line): Remove a space from the
30651 default prompt.
30652
30653 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30654
30655 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30656 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30657 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30658 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30659 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30660 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30661 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30662
30663 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30664
30665 * video/readers/jpeg.c (cmd): Declare.
30666 (grub_cmd_jpegtest): Use `grub_command_t' type.
30667 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30668 Assign to `cmd'.
30669 (GRUB_MOD_FINI): Use `cmd' to unregister.
30670 * video/readers/png.c (cmd): Declare.
30671 (grub_cmd_pngtest): Use `grub_command_t' type.
30672 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30673 Assign to `cmd'.
30674 (GRUB_MOD_FINI): Use `cmd' to unregister.
30675 * video/readers/tga.c (cmd): Declare.
30676 (grub_cmd_tgatest): Use `grub_command_t' type.
30677 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30678 Assign to `cmd'.
30679 (GRUB_MOD_FINI): Use `cmd' to unregister.
30680
30681 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30682
30683 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30684 stops.
30685 * kern/corecmd.c (grub_register_core_commands): Likewise.
30686 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30687 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30688 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30689 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30690 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30691 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30692 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30693 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30694 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30695 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30696 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30697 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30698 * normal/handler.c (insert_handler): Likewise.
30699 * normal/main.c (GRUB_MOD_INIT): Likewise.
30700 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30701
30702 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30703
30704 * commands/help.c (grub_cmd_help): Print the command name before the
30705 summary.
30706 (GRUB_MOD_INIT): Remove command name from the summary.
30707 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
30708 string as summary.
30709 * lib/arg.c (find_long): Print the command name before the summary.
30710 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30711 summary.
30712 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30713 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30714 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30715 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30716 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30717 * commands/date.c (GRUB_MOD_INIT): Likewise.
30718 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30719 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30720 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30721 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30722 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30723 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30724 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30725 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30726 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30727 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30728 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30729 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30730 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30731 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30732 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30733 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30734 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30735 * commands/password.c (GRUB_MOD_INIT): Likewise.
30736 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30737 * commands/read.c (GRUB_MOD_INIT): Likewise.
30738 * commands/search.c (GRUB_MOD_INIT): Likewise.
30739 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30740 * commands/test.c (GRUB_MOD_INIT): Likewise.
30741 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30742 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30743 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30744 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30745 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30746 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30747 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30748 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30749 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30750 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30751 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30752 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30753 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30754 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30755
30756 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30757
30758 Use search command for preliminar UUID search.
30759
30760 * commands/search.c: Split into ...
30761 * commands/search_wrap.c: ...this
30762 * commands/search.c: ...and this.
30763 * commands/search_file.c: New file.
30764 * commands/search_label.c: New file.
30765 * commands/search_uuid.c: New file.
30766 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30767 Add commands/search_wrap.c, commands/search_file.c,
30768 commands/search_label.c and commands/search_uuid.c.
30769 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30770 (search_mod_SOURCES): Set to commands/search_wrap.c.
30771 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30772 search_label.mod.
30773 (search_fs_file_mod_SOURCES): New variable.
30774 (search_fs_file_mod_CFLAGS): Likewise.
30775 (search_fs_file_mod_LDFLAGS): Likewise.
30776 (search_label_mod_SOURCES): Likewise.
30777 (search_label_mod_CFLAGS): Likewise.
30778 (search_label_mod_LDFLAGS): Likewise.
30779 (search_fs_uuid_mod_SOURCES): New variable.
30780 (search_fs_uuid_mod_CFLAGS): Likewise.
30781 (search_fs_uuid_mod_LDFLAGS): Likewise.
30782 (fs_file_mod_SOURCES): Removed.
30783 (fs_file_mod_CFLAGS): Likewise.
30784 (fs_file_mod_LDFLAGS): Likewise.
30785 (fs_uuid_mod_SOURCES): Removed.
30786 (fs_uuid_mod_CFLAGS): Likewise.
30787 (fs_uuid_mod_LDFLAGS): Likewise.
30788 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30789 Set to util/grub-install.in.
30790 * disk/fs_file.c: Removed.
30791 * disk/fs_uuid.c: Likewise.
30792 * include/grub/search.h: New file.
30793 * util/grub-install.in: Handle sparc64.
30794 Create and use load.cfg.
30795 * util/sparc64/ieee1275/grub-install.in: Removed.
30796
30797 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30798
30799 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30800 Ignore return status if CF is cleared.
30801 (grub_biosdisk_get_diskinfo_standard): Likewise.
30802
30803 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30804
30805 * term/i386/pc/at_keyboard.c
30806 (keyboard_controller_wait_untill_ready): New function.
30807 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30808 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30809 for keyboard polling, rather than duplicate the same loop. This
30810 saves a few bytes in code size.
30811
30812 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30813
30814 Support for (pxe[:server[:gateway]]) syntax and
30815 use environment variable for PXE.
30816
30817 * commands/i386/pc/pxecmd.c (options): Removed.
30818 (print_ip): Removed.
30819 (grub_cmd_pxe): Removed
30820 (grub_cmd_pxe_unload): New function.
30821 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30822 (grub_pxe_your_ip): Made static.
30823 (grub_pxe_default_server_ip): Likewise.
30824 (grub_pxe_default_gateway_ip): Likewise.
30825 (grub_pxe_blksize): Likewise.
30826 (parse_ip): New function.
30827 (grub_pxe_open): Support server and gateway specification.
30828 (grub_pxe_close): Free disk->data.
30829 (grub_pxefs_open): Use disk->data.
30830 (grub_pxefs_read): Likewise.
30831 (grub_env_write_readonly): New function.
30832 (set_mac_env): Likewise.
30833 (set_env_limn_ro): Likewise.
30834 (parse_dhcp_vendor): Likewise.
30835 (grub_pxe_detect): Set the environment variables.
30836 (set_ip_env): New function.
30837 (write_ip_env): Likewise.
30838 (grub_env_write_pxe_default_server): Likewise.
30839 (grub_env_write_pxe_default_gateway): Likewise.
30840 (grub_env_write_pxe_blocksize): Likewise.
30841 (GRUB_MOD_INIT(pxe)): Set environment variables.
30842 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30843 (grub_pxe_mac_addr_t): ... this. All users updated.
30844 (grub_pxe_your_ip): Removed.
30845 (grub_pxe_server_ip): Likewise.
30846 (grub_pxe_gateway_ip): Likewise.
30847 (grub_pxe_blksize): Likewise.
30848
30849 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30850
30851 * commands/help.c: Include `<grub/i18n.h>'.
30852 (grub_cmd_help): Gettextizze.
30853 (GRUB_MOD_INIT): Likewise.
30854 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30855 (GRUB_MOD_INIT): Gettextizze.
30856 * commands/search.c: Include `<grub/i18n.h>'.
30857 (options): Gettextizze.
30858 (GRUB_MOD_INIT): Gettextizze.
30859 * lib/arg.c: Include `<grub/i18n.h>'.
30860 (help_options): Gettextizze.
30861 (find_long): Likewise.
30862 (grub_arg_show_help): Likewise.
30863 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30864 (read_command_list): Gettextizze.
30865 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
30866 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
30867
30868 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30869
30870 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30871 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30872 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30873 (led_status): New variable.
30874 (keyboard_controller_led): New function.
30875 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30876 update led status for caps lock, num lock and scroll lock.
30877
30878 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
30879
30880 * util/hostdisk.c (open_device): Fix a comment.
30881
30882 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * util/grub-install.in (host_os): New variable.
30885 * util/i386/efi/grub-install.in (host_os): Likewise.
30886
30887 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30888
30889 * util/mkisofs/write.c (padblock_write): Abort when given an
30890 excedingly large embed image, instead of silently truncating it.
30891
30892 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30893
30894 * include/multiboot.h: Indentation fixes.
30895
30896 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30897
30898 * include/multiboot.h (struct multiboot_aout_symbol_table)
30899 (struct multiboot_elf_section_header_table): New structure
30900 declarations (stolen from GRUB Legacy).
30901 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30902 table information.
30903
30904 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30905 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30906 type aliases.
30907
30908 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30909
30910 * include/multiboot.h: Make comments src2texi-friendly.
30911
30912 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30913
30914 For consistency with [multiboot]/docs/boot.S.
30915
30916 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30917 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30918 (MULTIBOOT_MAGIC2): Rename from this ...
30919 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30920
30921 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30922
30923 * include/multiboot.h: Remove `<grub/types.h>'.
30924 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30925 types. Update all users.
30926
30927 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30928
30929 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30930 `couldn't' and `can not' by `cannot'.
30931 * commands/i386/pc/drivemap.c: Likewise.
30932 * disk/ata.c: Likewise.
30933 * disk/ieee1275/nand.c: Likewise.
30934 * fs/affs.c: Likewise.
30935 * fs/fat.c: Likewise.
30936 * fs/hfs.c: Likewise.
30937 * fs/hfsplus.c: Likewise.
30938 * fs/iso9660.c: Likewise.
30939 * fs/jfs.c: Likewise.
30940 * fs/minix.c: Likewise.
30941 * fs/reiserfs.c: Likewise.
30942 * fs/sfs.c: Likewise.
30943 * fs/udf.c: Likewise.
30944 * fs/ufs.c: Likewise.
30945 * fs/xfs.c: Likewise.
30946 * loader/powerpc/ieee1275/linux.c: Likewise.
30947 * loader/sparc64/ieee1275/linux.c: Likewise.
30948 * util/grub-probe.c: Likewise.
30949 * util/misc.c: Likewise.
30950
30951 2009-12-24 Carles Pina i Estany <carles@pina.cat>
30952
30953 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30954 grub_errno calls.
30955 * commands/acpi.c: Likewise.
30956 * commands/blocklist.c: Likewise.
30957 * commands/efi/loadbios.c: Likewise.
30958 * commands/i386/pc/drivemap.c: Likewise.
30959 * commands/loadenv.c: Likewise.
30960 * commands/memrw.c: Likewise.
30961 * commands/password.c: Likewise.
30962 * commands/videotest.c: Likewise.
30963 * disk/ata.c: Likewise.
30964 * disk/ata_pthru.c: Likewise.
30965 * disk/dmraid_nvidia.c: Likewise.
30966 * disk/ieee1275/nand.c: Likewise.
30967 * disk/ieee1275/ofdisk.c: Likewise.
30968 * disk/loopback.c: Likewise.
30969 * disk/lvm.c: Likewise.
30970 * disk/mdraid_linux.c: Likewise.
30971 * disk/raid.c: Likewise.
30972 * disk/raid6_recover.c: Likewise.
30973 * disk/scsi.c: Likewise.
30974 * efiemu/main.c: Likewise.
30975 * efiemu/mm.c: Likewise.
30976 * efiemu/pnvram.c: Likewise.
30977 * efiemu/symbols.c: Likewise.
30978 * font/font.c: Likewise.
30979 * fs/cpio.c: Likewise.
30980 * fs/hfsplus.c: Likewise.
30981 * fs/iso9660.c: Likewise.
30982 * fs/jfs.c: Likewise.
30983 * fs/minix.c: Likewise.
30984 * fs/ntfs.c: Likewise.
30985 * fs/ntfscomp.c: Likewise.
30986 * fs/reiserfs.c: Likewise.
30987 * fs/ufs.c: Likewise.
30988 * fs/xfs.c: Likewise.
30989 * gettext/gettext.c: Likewise.
30990 * include/grub/auth.h: Likewise.
30991 * kern/elf.c: Likewise.
30992 * kern/file.c: Likewise.
30993 * kern/ieee1275/init.c: Likewise.
30994 * kern/ieee1275/mmap.c: Likewise.
30995 * kern/ieee1275/openfw.c: Likewise.
30996 * kern/powerpc/dl.c: Likewise.
30997 * kern/sparc64/dl.c: Likewise.
30998 * lib/arg.c: Likewise.
30999 * loader/i386/bsd.c: Likewise.
31000 * loader/i386/bsdXX.c: Likewise.
31001 * loader/i386/efi/linux.c: Likewise.
31002 * loader/i386/efi/xnu.c: Likewise.
31003 * loader/i386/ieee1275/linux.c: Likewise.
31004 * loader/i386/linux.c: Likewise.
31005 * loader/i386/multiboot.c: Likewise.
31006 * loader/i386/pc/linux.c: Likewise.
31007 * loader/i386/pc/multiboot2.c: Likewise.
31008 * loader/i386/xnu.c: Likewise.
31009 * loader/ieee1275/multiboot2.c: Likewise.
31010 * loader/macho.c: Likewise.
31011 * loader/machoXX.c: Likewise.
31012 * loader/multiboot2.c: Likewise.
31013 * loader/multiboot_loader.c: Likewise.
31014 * loader/powerpc/ieee1275/linux.c: Likewise.
31015 * loader/sparc64/ieee1275/linux.c: Likewise.
31016 * loader/xnu.c: Likewise.
31017 * loader/xnu_resume.c: Likewise.
31018 * mmap/i386/pc/mmap.c: Likewise.
31019 * normal/menu_viewer.c: Likewise.
31020 * partmap/acorn.c: Likewise.
31021 * partmap/amiga.c: Likewise.
31022 * partmap/apple.c: Likewise.
31023 * script/lexer.c: Likewise.
31024 * term/gfxterm.c: Likewise.
31025 * term/i386/pc/serial.c: Likewise.
31026 * term/i386/pc/vga.c: Likewise.
31027 * term/ieee1275/ofconsole.c: Likewise.
31028 * term/terminfo.c: Likewise.
31029 * video/bitmap.c: Likewise.
31030 * video/efi_gop.c: Likewise.
31031 * video/efi_uga.c: Likewise.
31032 * video/fb/video_fb.c: Likewise.
31033 * video/i386/pc/vbe.c: Likewise.
31034 * video/readers/tga.c: Likewise.
31035 * video/video.c: Likewise.
31036
31037 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
31038
31039 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31040 * commands/lspci.c: Likewise.
31041 * commands/probe.c: Likewise.
31042 * commands/xnu_uuid.c: Likewise.
31043 * conf/i386-coreboot.rmk: Likewise.
31044 * conf/i386-efi.rmk: Likewise.
31045 * conf/i386-ieee1275.rmk: Likewise.
31046 * conf/i386-pc.rmk: Likewise.
31047 * conf/powerpc-ieee1275.rmk: Likewise.
31048 * conf/sparc64-ieee1275.rmk: Likewise.
31049 * conf/x86_64-efi.rmk: Likewise.
31050 * fs/i386/pc/pxe.c: Likewise.
31051 * gettext/gettext.c: Likewise.
31052 * include/grub/efi/graphics_output.h: Likewise.
31053 * include/grub/i386/pc/memory.h: Likewise.
31054 * kern/env.c: Likewise.
31055 * kern/i386/qemu/startup.S: Likewise.
31056 * lib/i386/pc/biosnum.c: Likewise.
31057 * lib/i386/relocator.c: Likewise.
31058 * lib/i386/relocator_asm.S: Likewise.
31059 * lib/relocator.c: Likewise.
31060 * loader/i386/bsd.c: Likewise.
31061 * loader/i386/multiboot.c: Likewise.
31062 * loader/i386/pc/chainloader.c: Likewise.
31063 * loader/i386/xnu.c: Likewise.
31064 * loader/xnu.c: Likewise.
31065 * normal/main.c: Likewise.
31066 * normal/menu_text.c: Likewise.
31067 * util/getroot.c: Likewise.
31068 * util/grub-mkconfig_lib.in: Likewise.
31069 * util/grub.d/00_header.in: Likewise.
31070 * util/i386/pc/grub-mkimage.c: Likewise.
31071 * util/mkisofs/eltorito.c: Likewise.
31072 * util/mkisofs/exclude.h: Likewise.
31073 * util/mkisofs/hash.c: Likewise.
31074 * util/mkisofs/iso9660.h: Likewise.
31075 * util/mkisofs/joliet.c: Likewise.
31076 * util/mkisofs/mkisofs.c: Likewise.
31077 * util/mkisofs/mkisofs.h: Likewise.
31078 * util/mkisofs/multi.c: Likewise.
31079 * util/mkisofs/name.c: Likewise.
31080 * util/mkisofs/rock.c: Likewise.
31081 * util/mkisofs/tree.c: Likewise.
31082 * util/mkisofs/write.c: Likewise.
31083 * video/efi_gop.c: Likewise.
31084
31085 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31086
31087 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31088 size counting.
31089
31090 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31091
31092 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31093 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31094
31095 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31096
31097 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31098 (GRUB_MOD_INIT(memrw)): Update help line.
31099
31100 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31101
31102 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31103 Use grub_extcmd_t. All users updated.
31104 (options): New variable.
31105 (grub_cmd_read): Restructure for readability. Support "-v" option.
31106 (grub_cmd_write): Restructure for readability.
31107
31108 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31109
31110 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31111
31112 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31113
31114 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31115 with the actual contents of the correspondending make variable.
31116 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31117 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31118 specifying `*.lst' and `efiemu??.o'
31119
31120 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31121
31122 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31123 after function name.
31124 Noticed by Rene Engelhard <rene@debian.org>.
31125
31126 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31127
31128 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31129 (options): New variable.
31130 (iospace): Likewise.
31131 (grub_lspci_iter): List IO spaces if "-i" was given.
31132 (grub_cmd_lspci): Parse options.
31133 (GRUB_MOD_INIT(lspci)): Use extcmd.
31134 (GRUB_MOD_FINI(lspci)): Likewise.
31135
31136 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31137
31138 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31139 `function' keyword.
31140 Patch by Tony Mancill <tmancill@debian.org>.
31141
31142 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31143
31144 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31145 (grub_uhci_portstatus): Likewise.
31146 (grub_uhci_portstatus): Add necessary delay.
31147 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
31148
31149 2009-12-21 Carles Pina i Estany <carles@pina.cat>
31150
31151 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31152 (GRUB_MOD_INIT): Likewise.
31153 * commands/boot.c (GRUB_MOD_INIT): Likewise.
31154 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31155 * commands/echo.c (options): Fix capitalizations and/or full stops.
31156 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31157 (enable_rom_area): Likewise.
31158 (GRUB_MOD_INIT): Likewise.
31159 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31160 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31161 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31162 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31163 * commands/hexdump.c (options): Likewise.
31164 * commands/i386/cpuid.c (options): Likewise.
31165 (GRUB_MOD_INIT): Likewise.
31166 * commands/i386/pc/drivemap.c (options): Likewise.
31167 (GRUB_MOD_INIT): Likewise.
31168 * commands/i386/pc/halt (options): Likewise.
31169 (GRUB_MOD_INIT): Likewise.
31170 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31171 * commands/i386/pc/pxecmd.c (options): Likewise.
31172 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31173 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31174 * commands/keystatus.c (options): Likewise.
31175 (GRUB_MOD_INIT): Likewise.
31176 * commands/loadenv.c (options): Likewise.
31177 * commands/ls.c (options): Likewise.
31178 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31179 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31180 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31181 * commands/parttool.c (helpmsg): Likewise.
31182 * commands/probe.c (options): Likewise.
31183 * commands/read.c (GRUB_MOD_INIT): Likewise.
31184 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31185 * commands/search.c (options): Likewise.
31186 * commands/sleep.c (options): Likewise.
31187 * commands/test.c (GRUB_MOD_INIT): Likewise.
31188 * commands/true.c (GRUB_MOD_INIT): Likewise.
31189 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31190 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31191 * lib/arg.c (help_options): Likewise.
31192 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31193 `$(XGETTEXT)'.
31194 * po/POTFILES: Add `commands/loadenv.c'.
31195
31196 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
31197
31198 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
31199 instead of specifying them explicit.
31200
31201 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31202
31203 * NEWS: Add grub-probe support for GNU/Hurd.
31204
31205 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 * NEWS: gettext was added after 1.97.
31208
31209 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 * util/mkisofs/msdos_partition.h: New file (based on
31212 include/grub/msdos_partition.h).
31213 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31214 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31215 (ld_options, main): Recognize --protective-msdos-label.
31216 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31217 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31218 (padblock_write): If `use_protective_msdos_label' is set, patch a
31219 protective DOS-style label in the output image.
31220
31221 * util/grub-mkrescue.in: Use --protective-msdos-label.
31222
31223 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31224
31225 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31226 boot.
31227
31228 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31231 variables.
31232 (ld_options, main): Recognize `--embedded-boot'.
31233 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31234 declarations.
31235 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31236 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31237 (padblock_write): Likewise. Rewrite to support embedded boot image.
31238
31239 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31240 for BIOS-based disk boot instead of only ElTorito.
31241
31242 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31243
31244 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31245 build (not needed for bootstrap).
31246
31247 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31248
31249 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31250 from i386-pc build (not needed for bootstrap).
31251 Rewrite a pair of strings.
31252
31253 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31254
31255 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31256
31257 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
31258
31259 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31260
31261 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31262
31263 * kern/env.c (grub_env_context_open): Mark exported variable for
31264 reexport.
31265
31266 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31267
31268 * kern/env.c (grub_env_export): Create nonexistent variables before
31269 exporting.
31270
31271 2009-12-20 Carles Pina i Estany <carles@pina.cat>
31272
31273 * include/grub/auth.h: Include `<grub/i18n.h>'.
31274 (GRUB_GET_PASSWORD): Gettextizze string.
31275 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31276 menu_text.c.
31277 (grub_utf8_to_ucs4_alloc): Fix indentation.
31278 (grub_print_ucs4): Likewise.
31279 (grub_getstringwidth): Likewise.
31280 (print_message_indented): New declaration.
31281 * normal/auth.c: Include `<grub/i18n.h>'.
31282 (grub_auth_check_authentication): Gettexttize string.
31283 * normal/cmdline.c: Include `<grub/i18n.h>'.
31284 (grub_cmdline_get): Gettextizze.
31285 * normal/color.c: Include `<grub/i18n.h>'.
31286 (grub_parse_color_name_pair): Gettexttize strings.
31287 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31288 string (use `print_message_indented').
31289 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31290 `include/grub/normal.h'.
31291 (print_message_indented): Renamed to ...
31292 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31293 used in normal/main.c).
31294 (print_message): Use `grub_print_message_indented' instead of
31295 `print_message_indented'.
31296 (print_timeout): Likewise.
31297 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31298 (grub_normal_print_device_info): Gettexttize strings.
31299 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31300
31301 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31302
31303 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31304 of arguments. Return number of tokens and not arguments. All users
31305 updated.
31306
31307 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31308
31309 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31310 non-MSDOS paritions.
31311
31312 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31313
31314 * include/grub/types.h (UNUSED): Removed since it conflicts with
31315 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31316 Reported by Grégoire Sutre.
31317
31318 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31319
31320 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31321 (grub_print_ucs4_alloc): Likewise.
31322 (grub_getstringwidth): Likewise.
31323 * normal/main.c (grub_normal_init_page): Gettextize version string.
31324 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31325 (getstringwidth): Renamed to ...
31326 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31327 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31328 (grub_print_ucs4): Remove `static' qualifer (now used in
31329 normal/main.c).
31330 * po/POTFILES: Add normal/main.c.
31331
31332 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31333
31334 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31335 (print_message_indented): Add `margin_left' and `margin_right'
31336 parameters.
31337 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31338 strings.
31339 (print_timeout): Use `print_message_indented' to print the message.
31340 Deletes `second_stage' parameter.
31341 (run_menu): Update `print_timeout' calls.
31342
31343 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31344
31345 Fix console palette on OpenFirmware.
31346
31347 * term/ieee1275/ofconsole.c (MAX): Removed.
31348 (colors): Redone based on VGA palette.
31349 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31350 colors are supported.
31351 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31352
31353 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31354
31355 Fix potential EfiEmu double prepare.
31356
31357 * efiemu/main.c (prepared): New variable
31358 (grub_efiemu_unload): Set prepare to '0'.
31359 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31360
31361 set_virtual_address_map support.
31362
31363 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31364 prototype.
31365 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31366 prototype.
31367 (grub_efiemu_crc32): Likewise.
31368 (grub_efiemu_crc64): Likewise.
31369 (grub_efiemu_set_virtual_address_map): Likewise.
31370 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31371 New definition.
31372 (grub_autoefi_set_virtual_address_map): Likewise.
31373 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31374 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31375 Restructure flow to accomodate it.
31376 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31377 (grub_efiemu_crc): Recompute CRC32.
31378 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31379 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31380 * efiemu/symbols.c (relocated_handle): New variable.
31381 (grub_efiemu_free_syms): Free relocated_handle.
31382 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31383 (grub_efiemu_write_sym_markers): New function.
31384 (grub_efiemu_set_virtual_address_map): Likewise.
31385
31386 Newer XNU parameters.
31387
31388 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31389 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31390 (grub_xnu_fill_devicetree): New prototype.
31391 (grub_xnu_heap_real_start): New variable.
31392 * loader/xnu.c (get_name_ptr): New function.
31393 (grub_xnu_load_driver): Fill namelen and name.
31394
31395 64-bit xnu support.
31396
31397 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31398 and 'loader/macho64.c'.
31399 * conf/i386-pc.rmk: Likewise.
31400 * conf/x86_64-efi.rmk: Likewise.
31401 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31402 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31403 * include/grub/macho.h (grub_macho_segment64): New structure.
31404 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31405 (grub_macho_size32): ... to this.
31406 (grub_macho32_get_entry_point): Renamed from ...
31407 (grub_macho_get_entry_point32): ... to this.
31408 (grub_macho_contains_macho64): New prototype.
31409 (grub_macho_size64): Likewise.
31410 (grub_macho_get_entry_point64): Likewise.
31411 (grub_macho32_load): Renamed from ...
31412 (grub_macho_load32): ... to this.
31413 (grub_macho32_filesize): Renamed from ...
31414 (grub_macho_filesize32): ... to this.
31415 (grub_macho32_readfile): Renamed from ...
31416 (grub_macho_readfile32): ... to this.
31417 (grub_macho_filesize64): New prototype.
31418 (grub_macho_readfile64): Likewise.
31419 (grub_macho_parse32): Likewise.
31420 (grub_macho_parse64): Likewise.
31421 * loader/macho.c: Split into ...
31422 * loader/machoXX.c: ... and this. Replace 32 with XX.
31423 * loader/macho32.c: New file.
31424 * loader/macho64.c: Likewise.
31425 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31426 (grub_cmd_xnu_kernel): Make 32-bit only.
31427 (grub_cmd_xnu_kernel64): New function.
31428 (grub_xnu_load_driver): Support Mach-O 64.
31429 (grub_cmd_xnu_mkext): Likewise.
31430 * util/grub.d/30_os-prober.in (osx_entry): New function.
31431 Generate entries for 64-bit boot too.
31432
31433 Eliminate ad-hoc tree format in XNU and EfiEmu.
31434
31435 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31436 * efiemu/pnvram.c: Rewritten to use environment variables.
31437 All users updated.
31438
31439 Inline utf16_to_utf8.
31440
31441 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31442 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31443 All users updated.
31444 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31445
31446 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31447 * commands/usbtest.c (grub_usb_get_string): ... move here.
31448 (usb_print_str): Fix error handling.
31449 * include/grub/usb.h (grub_usb_get_string): Remove.
31450
31451 UTF-8 to UTF-16 transformation.
31452
31453 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31454 (charset_mod_SOURCES): New variable.
31455 (charset_mod_CFLAGS): Likewise.
31456 (charset_mod_LDFLAGS): Likewise.
31457 * include/grub/utf.h: New file.
31458 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31459
31460 Support for device properties.
31461
31462 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31463 (grub_xnu_devprop_device_header): Likewise.
31464 (grub_xnu_devprop_device_descriptor): Likewise.
31465 (grub_xnu_devprop_add_device): New prototype.
31466 (grub_xnu_devprop_remove_device): Likewise.
31467 (grub_xnu_devprop_remove_property): Likewise.
31468 (grub_xnu_devprop_add_property_utf8): Likewise.
31469 (grub_xnu_devprop_add_property_utf16): Likewise.
31470 (grub_cpu_xnu_init): Likewise.
31471 (grub_cpu_xnu_fini): Likewise.
31472 (grub_cpu_xnu_unload): Likewise.
31473 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31474 (property_descriptor): Likewise.
31475 (devices): New variable.
31476 (grub_xnu_devprop_remove_property): New function.
31477 (grub_xnu_devprop_add_device): Likewise.
31478 (grub_xnu_devprop_remove_device): Likewise.
31479 (grub_xnu_devprop_add_property): Likewise.
31480 (grub_xnu_devprop_add_property_utf8): Likewise.
31481 (grub_xnu_devprop_add_property_utf16): Likewise.
31482 (hextoval): Likewise.
31483 (grub_cpu_xnu_fill_devprop): Likewise.
31484 (grub_cmd_devprop_load): Likewise.
31485 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31486 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31487 (cmd_devprop_load): New variable.
31488 (grub_cpu_xnu_init): New function.
31489 (grub_cpu_xnu_fini): Likewise.
31490 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31491 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31492 (grub_cmd_xnu_devtree): Likewise.
31493 (hextoval): New function.
31494 (unescape): Likewise.
31495 (grub_xnu_fill_devicetree): Likewise.
31496
31497 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31498 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31499
31500 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31501
31502 Workaround for broken ATI VBE.
31503
31504 * video/i386/pc/vbe.c (last_set_mode): New variable.
31505 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31506 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31507 (grub_video_vbe_setup): Don't check for reserved flag.
31508
31509 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
31510
31511 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31512 the `find' command.
31513
31514 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31515
31516 UUID support for HFS.
31517
31518 * fs/hfs.c (grub_hfs_uuid): New function.
31519 (grub_hfs_fs): New value .uuid.
31520 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31521
31522 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
31523
31524 Fix a segfault with parsing unknown long options.
31525
31526 * util/grub-mkrelpath.c (options): Zero terminate it.
31527
31528 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31529
31530 * include/grub/misc.h (grub_puts): New declaration.
31531 (grub_puts_): Likewise.
31532 * kern/misc.c (grub_puts): New definition.
31533 (grub_puts_): Likewise.
31534
31535 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31536
31537 * util/grub-probe.c (probe): Improve error message.
31538
31539 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31540
31541 * loader/i386/multiboot_elfxx.c
31542 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31543 initialization.
31544
31545 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31546
31547 Relocator framework
31548
31549 * loader/i386/xnu_helper.S: Removed. All users updated.
31550 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31551 (relocator_mod_SOURCES): New variable.
31552 (relocator_mod_CFLAGS): Likewise.
31553 (relocator_mod_LDFLAGS): Likewise.
31554 (relocator_mod_ASFLAGS): Likewise.
31555 * conf/x86_64.rmk: Likewise.
31556 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31557 (grub_multiboot_payload_entry_offset): Likewise.
31558 (grub_multiboot_forward_relocator): Likewise.
31559 (grub_multiboot_forward_relocator_end): Likewise.
31560 (grub_multiboot_backward_relocator): Likewise.
31561 (grub_multiboot_backward_relocator_end): Likewise.
31562 (grub_multiboot_payload_eip): New variable.
31563 (grub_multiboot_payload_orig): Likewise.
31564 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31565 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31566 * include/grub/i386/memory.h
31567 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31568 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31569 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31570 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31571 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31572 * include/grub/i386/relocator.h: New file.
31573 * include/grub/x86_64/relocator.h: Likewise.
31574 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31575 (XNU_RELOCATOR): New macro.
31576 (grub_xnu_launcher_start): Remove.
31577 (grub_xnu_launcher_end): Likewise.
31578 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31579 (grub_xnu_heap_real_start): Remove.
31580 (grub_xnu_heap_start): Change to void *. All users updated.
31581 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31582 * lib/i386/relocator.c: New file.
31583 * lib/i386/relocator_asm.S: Likewise.
31584 * lib/i386/relocator_backward.S: Likewise.
31585 * lib/mips/relocator.c: Likewise.
31586 * lib/mips/relocator_asm.S: Likewise.
31587 * lib/relocator.c: Likewise.
31588 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31589 (entry): Removed.
31590 (playground): Likewise.
31591 (grub_multiboot_payload_orig): New variable.
31592 (grub_multiboot_payload_dest): Likewise.
31593 (grub_multiboot_payload_size): Likewise.
31594 (grub_multiboot_payload_eip): Likewise.
31595 (grub_multiboot_payload_esp): Likewise.
31596 (grub_multiboot_boot): Use grub_relocator32_boot.
31597 (grub_multiboot_unload): Free relocators.
31598 (grub_multiboot): Setup stack. Use relocators.
31599 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31600 (grub_multiboot_load_elfXX): Use relocators.
31601 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31602 (grub_multiboot_payload_size): Likewise.
31603 (grub_multiboot_payload_dest): Likewise.
31604 (grub_multiboot_payload_entry_offset): Likewise.
31605 (grub_multiboot_forward_relocator): Likewise.
31606 (grub_multiboot_backward_relocator): Likewise.
31607 (grub_multiboot_real_boot): Likewise.
31608 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31609 (grub_xnu_entry_point): Likewise.
31610 (grub_xnu_arg1): Likewise.
31611 (grub_xnu_stack): Likewise.
31612 (grub_xnu_launch): Removed.
31613 (grub_xnu_boot_resume): New function.
31614 (grub_xnu_boot): Use relocators.
31615 * loader/i386/xnu_helper.S: Removed.
31616 * loader/xnu.c (grub_xnu_heap_start): New variable.
31617 (grub_xnu_heap_size): Likewise.
31618 (grub_xnu_heap_malloc): Use relocators.
31619 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31620
31621 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31622
31623 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31624 anything.
31625
31626 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31627
31628 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31629 GRUB_ERR_NONE before calling grub_env_set.
31630
31631 2009-12-12 Robert Millan <rmh@aybabtu.com>
31632
31633 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31634 * genmk.rb (video): New variable.
31635 (CLEANFILES, VIDEOFILES): Add #{video}.
31636 (#{video}): New target rule.
31637 * genvideolist.sh: New file.
31638 * Makefile.in (pkglib_DATA): Add video.lst.
31639 (video.lst): New target rule.
31640 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31641 `video.lst'.
31642 * util/grub.d/30_os-prober.in: Replace `vbe' with
31643 ${GRUB_VIDEO_BACKEND}.
31644
31645 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31646
31647 * THANKS: Add David Miller.
31648
31649 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 libpciaccess support.
31652
31653 * Makefile.in (LIBPCIACCESS): New variable.
31654 (enable_grub_emu_pci): Likewise.
31655 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31656 util/pci.c and commands/lspci.c.
31657 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31658 * configure.ac (grub-emu-pci): New option.
31659 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31660 (grub_pci_device_unmap_range): Likewise.
31661 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31662 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31663 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31664 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31665 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31666 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31667 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31668 * include/grub/pciutils.h: New file.
31669 * util/pci.c: Likewise.
31670
31671 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
31672
31673 * util/misc.c: Don't include <errno.h> twice.
31674
31675 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
31676
31677 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31678 name in an error message.
31679 (grub_biosdisk_rw): Likewise.
31680
31681 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31682
31683 Eliminate NTFS 4Gib barrier.
31684
31685 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31686 (read_run_data): Likewise.
31687 (grub_ntfs_read_run_list): Likewise.
31688 (grub_ntfs_read_block): Likewise.
31689 (grub_ntfs_iterate_dir): Likewise.
31690 (read_mft): Likewise.
31691 (read_data): Likewise.
31692 Use COM_LOG_LEN.
31693 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31694 to avoid 64-bit division
31695 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31696 (grub_ntfs_rlst): Use grub_disk_addr_t.
31697
31698 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31699
31700 Eliminate grub-fstest 4Gib barrier.
31701
31702 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31703 (read_file): Fix error reporting.
31704
31705 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31706
31707 Eliminate hexdump 4Gib barrier.
31708
31709 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31710 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31711
31712 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31713
31714 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31715 Fixes amarsh bug.
31716
31717 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31718
31719 Remove miscellaneous files in distclean target.
31720
31721 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31722
31723 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
31724
31725 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31726 if they're already set. This resolves the conflict between my
31727 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31728 fixing the --grub-probe option again.
31729 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31730 change on 2009-10-06, so that we now once again source
31731 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31732
31733 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31734
31735 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31736 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31737 `util/devicemap.c'.
31738
31739 2009-12-08 Carles Pina i Estany <carles@pina.cat>
31740
31741 * include/grub/misc.h (grub_printf_): New declaration.
31742 * kern/misc.c (grub_printf_): New definition.
31743 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31744 instead of `grub_printf' and `_'.
31745 * normal/menu_entry.c (store_completion): Likewise.
31746 (run): Likewise.
31747 (grub_menu_entry_run): Likewise.
31748 * normal/menu_text.c (grub_wait_after_message): Likewise.
31749 (notify_booting): Likewise.
31750 (notify_fallback): Likewise.
31751 (notify_execution_failure): Likewise.
31752
31753 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
31754
31755 * configure.ac: Check for vasprintf.
31756 * util/misc.c (asprintf): Move allocation from here ...
31757 (vasprintf): ... to here. New function.
31758 (xasprintf): New function.
31759 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31760 prototypes.
31761 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31762 * util/grub-mkfont.c (write_font): Likewise.
31763 * util/grub-probe.c (probe): Likewise.
31764 * util/hostdisk.c (make_device_name): Likewise.
31765
31766 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
31767
31768 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31769 anything even prefixed with 'cdrom' as a cdrom.
31770
31771 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
31772
31773 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31774 mount points.
31775
31776 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31777
31778 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31779 grub_gettext_msg_list.
31780 (grub_gettext_gettranslation_from_position): Return const char *
31781 and not char *.
31782 (grub_gettext_translate): Add the translated strings into a list,
31783 returns from the list if existing there.
31784 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31785 (grub_gettext_delete_list): Delete the list.
31786 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31787 lang environment variable is changed.
31788 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31789
31790 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31791
31792 Rename kernel.mod to kernel.img.
31793
31794 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31795 (kernel_mod_EXPORTS): Rename to ...
31796 (kernel_img_EXPORTS): ... this.
31797 (kernel_mod_SOURCES): Rename to ...
31798 (kernel_img_SOURCES): ... this.
31799 (kernel_mod_HEADERS): Rename to ...
31800 (kernel_img_HEADERS): ... this. All users updated.
31801 (kernel_mod_CFLAGS): Rename to ...
31802 (kernel_img_CFLAGS): ... this.
31803 (kernel_mod_ASFLAGS): Rename to ...
31804 (kernel_img_ASFLAGS): ... this.
31805 (kernel_mod_LDFLAGS): Rename to ...
31806 (kernel_img_LDFLAGS): ... this.
31807 * conf/x86_64-efi.rmk: Likewise.
31808 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31809 (read_kernel_image): ... this. All users updated.
31810 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31811
31812 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31813
31814 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31815 (print_spaces): New function.
31816 (grub_print_ucs4): New function.
31817 (getstringwidth): New function.
31818 (print_message_indented): New function.
31819 (print_message): Gettexttize strings using print_message_indented.
31820 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31821 width.
31822 (get_entry_number): Gettextize and uses dynamic terminal width.
31823 (notify_booting, notify_fallback, notify_execution_failure):
31824 Gettextize.
31825 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31826 string.
31827 (run): Likewise.
31828 (grub_menu_entry_run): Likewise.
31829 * PO/POTFILES: Add normal/menu_entry.c.
31830
31831 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31832
31833 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31834
31835 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31836
31837 * util/grub-install.in: Install gettext .mo files.
31838 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31839
31840 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31841
31842 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31843 grub_dprintf.
31844
31845 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31846
31847 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31848 non-firmware-dependant one in realmode.S takes precedence.
31849
31850 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31851
31852 * commands/halt.c: Replace misc arch-specific headers with
31853 `<grub/misc.h>'.
31854 * commands/reboot.c: Likewise.
31855 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31856 `<grub/misc.h>'.
31857 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31858 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31859 (kernel_img_SOURCES): ... to here.
31860
31861 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31862 * include/grub/i386/pc/init.h: Likewise.
31863 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31864 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31865
31866 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31867
31868 * include/grub/i386/halt.h: Remove.
31869 * include/grub/i386/reboot.h: Likewise.
31870
31871 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31872
31873 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
31874
31875 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31876 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31877 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31878 "progname.h"
31879 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31880 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31881 (usage): Add missing comma in printf.
31882
31883 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31884
31885 Use the same reboot approach on i386 coreboot and qemu as we do on
31886 BIOS.
31887
31888 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31889 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31890 * kern/i386/reboot.c: Remove.
31891 * include/grub/i386/reboot.h (grub_reboot): Export function.
31892 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31893 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31894 0xf000:0xfff0 instead of 0xffff:0x0000.
31895 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31896 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31897
31898 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31899
31900 Fix $srcdir != $objdir build.
31901
31902 * Makefile.in (po/%.po): Rewrite as ...
31903 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31904
31905 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31906
31907 Fix GNU/Hurd grub-install crash.
31908 * util/grub-probe.c (probe): Try to access `path' only when it is not
31909 NULL.
31910
31911 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31912
31913 Correct module naming.
31914
31915 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31916 (GRUB_MOD_INIT(efi_uga)): ... to this
31917 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31918 (GRUB_MOD_FINI(efi_uga)): ... to this
31919 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31920 (GRUB_MOD_INIT(efi_gop)): ... to this
31921 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31922 (GRUB_MOD_FINI(efi_gop)): ... to this
31923
31924 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31925
31926 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31927 translatable.
31928 (usage): Translate `arg' strings using gettext().
31929 Thanks to Jordi Mallach for the suggestion.
31930
31931 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31932
31933 GOP support. Based on patch from Bean
31934 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31935
31936 * video/efi_gop.c: New file.
31937 * include/grub/efi/graphics_output.h: Likewise.
31938 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31939 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31940 variables.
31941 * conf/x86_64-efi.rmk: Likewise.
31942
31943 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31944
31945 Rename efi_fb to efi_uga.
31946
31947 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31948 'efi_uga.mod'.
31949 (efi_fb_mod_SOURCES): Rename this ...
31950 (efi_uga_mod_SOURCES): ... to this.
31951 (efi_fb_mod_CFLAGS): Rename this ...
31952 (efi_uga_mod_CFLAGS): ... to this.
31953 (efi_fb_mod_LDFLAGS): Rename this ...
31954 (efi_uga_mod_LDFLAGS): ... to this.
31955 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31956 'efi_uga.mod'.
31957 (efi_fb_mod_SOURCES): Rename this ...
31958 (efi_uga_mod_SOURCES): ... to this.
31959 (efi_fb_mod_CFLAGS): Rename this ...
31960 (efi_uga_mod_CFLAGS): ... to this.
31961 (efi_fb_mod_LDFLAGS): Rename this ...
31962 (efi_uga_mod_LDFLAGS): ... to this.
31963 * video/efi_fb.c: Move this ...
31964 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31965
31966 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31967
31968 * po/README: New file. Explain our PO file workflow.
31969
31970 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31971
31972 * po/ChangeLog: Remove. Move relevant entries back to ...
31973 * ChangeLog: ... here.
31974 * po/ca.po: Remove (now handled by TLP).
31975 * po/id.po: Likewise.
31976 * po/zh_CN.po: Likewise.
31977 * Makefile.in (LINGUAS): Initialize in a way that supports
31978 empty set.
31979
31980 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31981
31982 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31983 reliing on po/LINGUAS.
31984 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31985 (po/%.po): ... this.
31986
31987 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31988
31989 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31990 (main): Use `program_name' instead of nonexistent `progname'.
31991
31992 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31993
31994 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31995 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31996
31997 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31998
31999 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32000 commit.
32001 * conf/i386-efi.rmk: Likewise.
32002 * conf/i386-ieee1275.rmk: Likewise.
32003 * conf/powerpc-ieee1275.rmk: Likewise.
32004 * conf/sparc64-ieee1275.rmk: Likewise.
32005 * conf/x86_64-efi.rmk: Likewise.
32006
32007 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32008
32009 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32010
32011 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32012
32013 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32014
32015 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32016
32017 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32018 (grub_mkdevicemap_SOURCES): New variable.
32019 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32020 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32021 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32022 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32023 (grub_mkdevicemap_SOURCES): Remove.
32024 * conf/i386-efi.rmk: Likewise.
32025 * conf/i386-ieee1275.rmk: Likewise.
32026 * conf/i386-pc.rmk: Likewise.
32027 * conf/powerpc-ieee1275.rmk: Likewise.
32028 * conf/sparc64-ieee1275.rmk: Likewise.
32029 * conf/x86_64-efi.rmk: Likewise.
32030 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32031 (usage): Fix strings to use `program_name'.
32032 (main): Initialize gettext.
32033 * util/grub-editenv.c: Likewise.
32034 * util/grub-emu.c: Likewise.
32035 * util/grub-fstest.c: Likewise.
32036 * util/grub-mkdevicemap.c: Likewise.
32037 * util/grub-mkfont.c: Likewise.
32038 * util/grub-mkrelpath.c: Likewise.
32039 * util/grub-pe2elf.c: Likewise.
32040 * util/grub-probe.c: Likewise.
32041 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32042 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32043 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32044
32045 * util/misc.c: Include `"progname.h"'.
32046 (progname): Remove variable.
32047 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32048
32049 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32050
32051 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32052 printf and print a newline after the menuentry header line.
32053 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32054
32055 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32056
32057 autoconf >= 2.60 support $(localedir).
32058
32059 * INSTALL: Note that autoconf 2.60 is required.
32060 * configure.ac (AC_PREREQ): Bump to 2.60.
32061 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32062 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32063
32064 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32065
32066 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32067 aclocal is run.
32068
32069 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32070
32071 * normal/main.c (grub_normal_read_line): Fix off-by-one
32072 buffer overflow.
32073
32074 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32075
32076 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32077 "parser.grub" in grub_command_execute() call.
32078
32079 2009-11-24 Carles Pina i Estany <carles@pina.cat>
32080
32081 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32082 * conf/i386-efi.rmk: Likewise.
32083 * conf/i386-ieee1275.rmk: Likewise.
32084 * conf/i386-pc.rmk: Likewise.
32085 * conf/powerpc-ieee1275.rmk: Likewise.
32086 * conf/sparc64-ieee1275.rmk: Likewise.
32087 * conf/x86_64-efi.rmk: Likewise.
32088 * gettext/gettex.c: Include <grub/i18n.h>.
32089 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32090 here ...
32091 * include/grub/i18n.h: ... to here
32092 * include/grub/i18n.h: ... to here.
32093 * kern/misc.c: Include <grub/i18n.h>
32094 (grub_gettext_dummy): Move above user.
32095
32096 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32097
32098 * util/Makefile.in (install-local): Convert a `for' into a normal
32099 shell expansion.
32100
32101 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32102
32103 * autogen.sh: Add automake call.
32104 * config.guess: Remove.
32105 * config.sub: Likewise.
32106 * install-sh: Likewise.
32107
32108 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32109
32110 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32111
32112 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32113
32114 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32115 function to a normal shell `for'.
32116
32117 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32118
32119 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32120
32121 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32122
32123 * util/grub-mkrelpath.c: New file.
32124 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32125 (grub_mkrelpath_SOURCES): New variable.
32126 * include/grub/util/misc.h: New function prototype.
32127 * util/misc.c (make_system_path_relative_to_its_root): New function.
32128
32129 * util/grub-mkconfig_lib.in (bindir): New variable.
32130 (grub_mkrelpath): Likewise.
32131 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32132
32133 * util/probe.c (probe): Make the file path relative to its root.
32134 Change a info message to use the GRUB path. Enable again the
32135 check if we can read the file with GRUB facilities.
32136
32137 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32138 to its root.
32139
32140 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32141
32142 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32143 platform.
32144
32145 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32146
32147 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32148 strncmp().
32149
32150 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32151
32152 * util/getroot.c (grub_util_is_dmraid): New function.
32153 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32154 devices as normal ones, not as LVM.
32155
32156 2009-11-23 Carles Pina i Estany <carles@pina.cat>
32157
32158 * conf/common.rmk: Add grub-gettext_lib target and updates
32159 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32160 LDFLAGS.
32161 * gettext/gettext.c: New file. (Reads mo files).
32162 * include/grub/file.h (grub_file_pread): New prototype.
32163 * include/grub/i18n.h (_): New prototype.
32164 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32165 prototypes.
32166 * kern/misc.c (grub_gettext_dummy): New function.
32167 * normal/menu_text.c: Include <grub/i18n.h>.
32168 * normal/menu_text.c (print_timeout): Gettexttize string.
32169 * normal/menu_text.c (print_message): Gettexttize string.
32170 * po/POTFILES: Add `normal/menu_text.c'.
32171 * po/ca.po: Add new translations.
32172 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32173 gettext module and defines locale_dir and lang in grub.cfg.
32174 * NEWS: Add gettext support.
32175
32176 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32177
32178 * util/hostdisk.c: Include `<grub/i18n.h>'.
32179 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32180 (make_device_name): Rewrite using asprintf.
32181 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32182 (find_system_device): If a device is not found, generate one just
32183 by reusing the OS path name.
32184 (read_device_map): Make it permissible for device.map not to exist.
32185
32186 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32187
32188 * script/sh/execute.c: Move from here ...
32189 * script/execute.c: ... to here. Update all users.
32190 * script/sh/function.c: Move from here ...
32191 * script/function.c: ... to here. Update all users.
32192 * script/sh/lexer.c: Move from here ...
32193 * script/lexer.c: ... to here. Update all users.
32194 * script/sh/main.c: Move from here ...
32195 * script/main.c: ... to here. Update all users.
32196 * script/sh/parser.y: Move from here ...
32197 * script/parser.y: ... to here. Update all users.
32198 * script/sh/script.c: Move from here ...
32199 * script/script.c: ... to here. Update all users.
32200
32201 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32202
32203 * configure.ac: Detect all `emu' platforms. Define
32204 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32205 --enable-grub-emu logic. Disable include/grub/machine
32206 symlink on `emu' platforms.
32207
32208 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32209 * gensymlist.sh.in: Likewise.
32210
32211 * include/grub/i386/coreboot/machine.h: Remove file.
32212 * include/grub/i386/efi/machine.h: Likewise.
32213 * include/grub/i386/ieee1275/machine.h: Likewise.
32214 * include/grub/i386/pc/machine.h: Likewise.
32215 * include/grub/i386/qemu/machine.h: Likewise.
32216 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32217 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32218 * include/grub/x86_64/efi/machine.h: Likewise.
32219
32220 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32221 * commands/halt.c: Likewise.
32222 * commands/reboot.c: Likewise.
32223 * include/grub/autoefi.h: Likewise.
32224 * include/grub/i386/at_keyboard.h: Likewise.
32225 * include/grub/i386/kernel.h: Likewise.
32226 * include/grub/i386/loader.h: Likewise.
32227 * include/grub/i386/pc/memory.h: Likewise.
32228 * kern/dl.c: Likewise.
32229 * kern/i386/coreboot/init.c: Likewise.
32230 * loader/i386/bsd.c: Likewise.
32231 * loader/i386/linux.c: Likewise.
32232 * loader/multiboot_loader.c: Likewise.
32233 * term/i386/pc/serial.c: Likewise.
32234 * term/usb_keyboard.c: Likewise.
32235
32236 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32237 `<grub/machine/machine.h>'
32238 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32239 * util/misc.c: Remove `<grub/machine/machine.h>' and
32240 `<grub/machine/time.h>'.
32241
32242 * Makefile.in (enable_grub_emu): Remove variable.
32243 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32244
32245 * conf/any-emu.rmk: New file.
32246 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32247 (grub_emu_init.c): Move from here ...
32248 * conf/any-emu.rmk: ... to here.
32249
32250 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32251 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32252 * conf/any-emu.rmk: ... to here.
32253
32254 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32255
32256 * include/grub/parser.h (grub_parser_register): Document need
32257 of `name' parameter.
32258 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32259 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32260 "sh" to "grub".
32261
32262 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32263
32264 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32265 `$(XGETTEXT)'.
32266 * include/grub/i18n.h (N_): New macro.
32267 * util/mkisofs/mkisofs.h: Likewise.
32268 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32269 around N_().
32270 (usage): Use gettext() to translate help strings when printing them.
32271
32272 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32273
32274 Based on patch from Bean
32275 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32276
32277 * video/efi_fb.c: New file.
32278 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32279 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32280 variables.
32281 * conf/x86_64-efi.rmk: Likewise.
32282
32283 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32284
32285 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32286 * util/i386/pc/grub-setup.c: Likewise.
32287
32288 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32289
32290 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32291 <hurd/fs.h>
32292 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32293 file_get_storage_info to implement grub_guess_root_device.
32294
32295 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32296
32297 * Makefile.in (target): Use make's builtin $(shell) function
32298 instead of calling directly $(SHELL) to create the locale directories,
32299 inside the $(foreach) function.
32300
32301 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32302
32303 * util/grub-mkrescue.in: Print an error and usage if output option
32304 has not been given.
32305
32306 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32307
32308 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32309 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32310 root and /boot are on different devices.
32311
32312 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32313
32314 Fix build for srcdir != objdir.
32315
32316 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32317 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32318 $(srcdir).
32319 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32320 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32321 reference for input.
32322
32323 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32324
32325 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32326 or hardlinking it). Remove -J option, Joliet is not compatible with
32327 multiple source directories.
32328
32329 2009-11-21 Carles Pina i Estany <carles@pina.cat>
32330 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32333 (process_input_dir): New function. Process an arbitrary input
32334 directory.
32335 Misc adjustments to support both "override mode" and system-wide mode.
32336
32337 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32338
32339 * configure.ac (UNIFONT_BDF): Rename to ...
32340 (FONT_SOURCE): ... this. Update all users.
32341
32342 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32343
32344 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32345 to the list of unifont files to look for.
32346
32347 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32348
32349 Patch from Joe Auricchio <jauricchio@gmail.com>
32350 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32351 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32352 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32353
32354 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32355
32356 * Makefile.in (install-local): Add a missing backslash.
32357
32358 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32359
32360 * include/grub/x86_64/io.h: New file.
32361
32362 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32363
32364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32365 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32366 Include `"progname.h"'.
32367 (main): Initialize gettext.
32368 * util/i386/pc/grub-setup.c: Gettexttize.
32369 * util/i386/pc/grub-mkimage.c: Likewise.
32370
32371 * Makefile.in (po/*.po): Redefine as ...
32372 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32373
32374 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32375
32376 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32377
32378 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32379 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32380 (program_name): Remove.
32381 (main): Initialize gettext support.
32382 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32383 Include `<libintl.h>'.
32384 (_): New macro.
32385
32386 * util/mkisofs/eltorito.c: Gettexttize.
32387 * util/mkisofs/joliet.c: Likewise.
32388 * util/mkisofs/mkisofs.c: Likewise.
32389 * util/mkisofs/multi.c: Likewise.
32390 * util/mkisofs/rock.c: Likewise.
32391 * util/mkisofs/tree.c: Likewise.
32392 * util/mkisofs/write.c: Likewise.
32393
32394 * po/POTFILES: Update with new files.
32395
32396 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32397
32398 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32399 * util/mkisofs/iso9660.h: Likewise.
32400 * util/mkisofs/joliet.c: Likewise.
32401 * util/mkisofs/mkisofs.c: Likewise.
32402 * util/mkisofs/mkisofs.h: Likewise.
32403 * util/mkisofs/rock.c: Likewise.
32404 * util/mkisofs/tree.c: Likewise.
32405 * util/mkisofs/write.c: Likewise.
32406
32407 * util/mkisofs/eltorito.c (rcsid): Remove.
32408 * util/mkisofs/hash.c: Likewise.
32409 * util/mkisofs/joliet.c: Likewise.
32410 * util/mkisofs/name.c: Likewise.
32411 * util/mkisofs/rock.c: Likewise.
32412 * util/mkisofs/tree.c: Likewise.
32413 * util/mkisofs/write.c: Likewise.
32414
32415 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32416
32417 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32418 instead of static allocation.
32419 * util/mkisofs/match.h: Likewise.
32420
32421 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32422
32423 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32424 and `util/grub.d/10_linux.in'.
32425 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32426 translatable Shell files.
32427
32428 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32429
32430 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32431
32432 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32433
32434 * INSTALL: Document Automake is needed for bootstrap.
32435 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
32436 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32437 Add gettext initialization.
32438 (kfreebsd_entry): Make menuentry output translatable.
32439
32440 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32441
32442 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32443 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32444 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32445 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32446 (LINGUAS): Auto-generate using `po/LINGUAS'.
32447 * po/LINGUAS: New file.
32448
32449 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32450
32451 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32452 other things).
32453 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32454 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32455 bindtextdomain() calls for gettext initialization.
32456
32457 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32458
32459 * gnulib/progname.c: New file (imported from Gnulib).
32460 * gnulib/progname.h: Likewise.
32461 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32462 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32463 (usage): Replace `progname' with `program_name'.
32464 (main): Use set_program_name() for program name initialization.
32465
32466 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32467
32468 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32469 from here ...
32470 * Makefile.in (CPPFLAGS): ... to here.
32471
32472 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32473
32474 * aclocal.m4: Move from here ...
32475 * acinclude.m4: ... to here.
32476 * autogen.sh: Add call to `aclocal'.
32477 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32478
32479 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32480
32481 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32482 (LINGUAS): New variable.
32483 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32484 (install-local): Install MO files.
32485 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32486 * include/grub/i18n.h: New file.
32487 * po/POTFILES: New file.
32488 * po/ca.po: New file.
32489 * util/grub.d/10_linux.in (bindir): New variable.
32490 Add gettext initialization.
32491 (linux_entry): Make menuentry output translatable.
32492 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32493 (usage): Make --help output translatable.
32494 (main): Initialize gettext.
32495
32496 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32497
32498 * import_gcry.py: New file (written by Vladimir with minor
32499 adjustments).
32500 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32501 ciphers.
32502 * INSTALL: Document that Python is required for bootstrap.
32503
32504 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32505
32506 Import ciphers from libgcrypt 1.4.4.
32507
32508 * lib/libgcrypt/cipher/ChangeLog
32509 * lib/libgcrypt/cipher/ac.c
32510 * lib/libgcrypt/cipher/arcfour.c
32511 * lib/libgcrypt/cipher/bithelp.h
32512 * lib/libgcrypt/cipher/blowfish.c
32513 * lib/libgcrypt/cipher/camellia-glue.c
32514 * lib/libgcrypt/cipher/camellia.c
32515 * lib/libgcrypt/cipher/camellia.h
32516 * lib/libgcrypt/cipher/cast5.c
32517 * lib/libgcrypt/cipher/cipher.c
32518 * lib/libgcrypt/cipher/crc.c
32519 * lib/libgcrypt/cipher/des.c
32520 * lib/libgcrypt/cipher/dsa.c
32521 * lib/libgcrypt/cipher/ecc.c
32522 * lib/libgcrypt/cipher/elgamal.c
32523 * lib/libgcrypt/cipher/hash-common.c
32524 * lib/libgcrypt/cipher/hash-common.h
32525 * lib/libgcrypt/cipher/hmac-tests.c
32526 * lib/libgcrypt/cipher/md.c
32527 * lib/libgcrypt/cipher/md4.c
32528 * lib/libgcrypt/cipher/md5.c
32529 * lib/libgcrypt/cipher/primegen.c
32530 * lib/libgcrypt/cipher/pubkey.c
32531 * lib/libgcrypt/cipher/rfc2268.c
32532 * lib/libgcrypt/cipher/rijndael-tables.h
32533 * lib/libgcrypt/cipher/rijndael.c
32534 * lib/libgcrypt/cipher/rmd.h
32535 * lib/libgcrypt/cipher/rmd160.c
32536 * lib/libgcrypt/cipher/rsa.c
32537 * lib/libgcrypt/cipher/seed.c
32538 * lib/libgcrypt/cipher/serpent.c
32539 * lib/libgcrypt/cipher/sha1.c
32540 * lib/libgcrypt/cipher/sha256.c
32541 * lib/libgcrypt/cipher/sha512.c
32542 * lib/libgcrypt/cipher/tiger.c
32543 * lib/libgcrypt/cipher/twofish.c
32544 * lib/libgcrypt/cipher/whirlpool.c
32545
32546 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32547
32548 Fix build for systems without error().
32549
32550 * gnulib/error.c: New file (imported from Gnulib).
32551 * gnulib/error.h: Likewise.
32552 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32553 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32554 (this variable is now used by error()).
32555
32556 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32557
32558 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32559 instead of relying that char is signed.
32560
32561 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32562
32563 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32564 blocksize different from specified.
32565 (grub_pxefs_read): Likewise.
32566
32567 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32568
32569 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32570
32571 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32572 (grub_ata_readwrite): Likewise. Update 2 format strings.
32573 (grub_atapi_read): Likewise.
32574
32575 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32576 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32577 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32578 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32579 (ata_mod_LDFLAGS): Move from here ...
32580 * conf/i386.rmk: ... to here ...
32581 * conf/x86_64-efi.rmk: ... and here.
32582 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32583 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32584
32585 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32586
32587 Relicense multiboot.h, with RMS' blessing.
32588
32589 * include/multiboot.h: Change to X11 license.
32590
32591 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32592
32593 Support --version in grub-mkisofs.
32594
32595 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32596 (OPTION_VERSION): New macro.
32597 (ld_options): Recognize --version.
32598 (usage): Move `program_name' from here ...
32599 (program_name): ... to here. Add `static' qualifier.
32600 (main): Recognize `OPTION_VERSION'.
32601
32602 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
32603
32604 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32605 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32606
32607 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32608
32609 Fix help2man generation for mkisofs.
32610
32611 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32612 (usage): Send output to stdout (rather than stderr).
32613
32614 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32615
32616 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32617 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32618 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32619 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32620 (bin_SCRIPTS): Add `grub-mkfloppy'.
32621 (grub_mkfloppy_SOURCES): New variable.
32622
32623 * util/grub-mkrescue.in: New file.
32624 * util/i386/pc/grub-mkfloppy.in: New file.
32625
32626 * util/i386/coreboot/grub-mkrescue.in: Remove.
32627 * util/i386/pc/grub-mkrescue.in: Remove.
32628
32629 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32630
32631 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32632 from here ...
32633 * include/multiboot.h (struct multiboot_header): ... to here. Update
32634 all users.
32635 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32636 from here ...
32637 * include/multiboot.h (struct multiboot_info): ... to here. Update
32638 all users.
32639 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32640 from here ...
32641 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32642 Update all users.
32643 * include/grub/multiboot.h (struct grub_mod_list): Move
32644 from here ...
32645 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32646 Update all users.
32647
32648 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32649
32650 * include/multiboot2.h (multiboot_word): Rename from this ...
32651 (multiboot2_word): ... to this. Update all users.
32652 (multiboot_header): Rename from this ...
32653 (multiboot2_header): ... to this. Update all users.
32654 (multiboot_tag_header): Rename from this ...
32655 (multiboot2_tag_header): ... to this. Update all users.
32656 (multiboot_tag_start): Rename from this ...
32657 (multiboot2_tag_start): ... to this. Update all users.
32658 (multiboot_tag_name): Rename from this ...
32659 (multiboot2_tag_name): ... to this. Update all users.
32660 (multiboot_tag_module): Rename from this ...
32661 (multiboot2_tag_module): ... to this. Update all users.
32662 (multiboot_tag_memory): Rename from this ...
32663 (multiboot2_tag_memory): ... to this. Update all users.
32664 (multiboot_tag_unused): Rename from this ...
32665 (multiboot2_tag_unused): ... to this. Update all users.
32666 (multiboot_tag_end): Rename from this ...
32667 (multiboot2_tag_end): ... to this. Update all users.
32668
32669 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32670
32671 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32672 this platform we should support Multiboot1 first.
32673
32674 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32675 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32676 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32677
32678 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32679
32680 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32681 of write calls (converting them to fwrite() if they aren't already).
32682 (get_torito_desc): Likewise.
32683 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32684
32685 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 * util/i386/pc/grub-install.in: Move from here ...
32688 * util/grub-install.in: ... to here. Update all users.
32689
32690 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
32691
32692 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32693
32694 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32695
32696 Support for El Torito without floppy emulation.
32697
32698 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32699 (init_boot_catalog): Improve error handling.
32700 (get_torito_desc): Don't use floppy emulation unless requested by
32701 user. Patch boot information table when requested via
32702 `-boot-info-table'.
32703 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32704 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32705 (use_boot_info_table): New variables.
32706 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32707 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32708 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32709 `--eltorito-emul-floppy'.
32710 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32711 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32712 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32713 (use_boot_info_table, get_731): New prototypes.
32714 * util/mkisofs/write.c (get_731): New function.
32715
32716 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
32717
32718 Fix the generation of the man page.
32719
32720 * util/pc/i386/grub-install.in: Source
32721 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32722
32723 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 Large file support for grub-mkisofs.
32726
32727 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32728 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32729 (session_start): Upgrade type to `uint64_t'. Update all users.
32730 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32731 (struct directory_entry): Upgrade type of `starting_block' and
32732 `size' to `uint64_t'. Update all users.
32733 (struct deferred): Remove unused structure.
32734 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32735 Update all users.
32736 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32737 file is larger than `UINT32_MAX'.
32738 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32739 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32740 return value.
32741 (struct deferred_write): Upgrade type of `extent' and `size' to
32742 `uint64_t'. Update all users.
32743 (last_extent_written): Upgrade type to `uint64_t'. Update all
32744 users.
32745 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32746 Update all users. Upgrade type of `remain' to `int64_t' and
32747 `use' to `size_t'. Use error() to handle fread() errors.
32748 (write_files): Rely on write_one_file() rather than calling
32749 xfwrite() directly.
32750
32751 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
32752
32753 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32754
32755 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32756
32757 * util/mkisofs/fnmatch.c: Remove.
32758 * util/mkisofs/getopt1.c: Likewise.
32759 * util/mkisofs/getopt.c: Likewise.
32760 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32761 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32762 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32763 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32764 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32765
32766 * configure.ac: Detect `mingw32msvc' host_os.
32767 Check for lstat(), getuid() and getgid().
32768
32769 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32770 instances of `u_char' with `uint8_t'.
32771
32772 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32773 [!HAVE_GETUID] (getuid): New function (stub).
32774 [!HAVE_GETGID] (getgid): Likewise.
32775 [!HAVE_LSTAT] (lstat): Likewise.
32776 [!S_IROTH] (S_IROTH): New macro (dummy).
32777 [!S_IRGRP] (S_IRGRP): Likewise.
32778
32779 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32780
32781 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32782 conditional expression).
32783
32784 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32785
32786 Import from Gnulib.
32787
32788 * gnulib/fnmatch.c: New file.
32789 * gnulib/fnmatch.h: Likewise.
32790 * gnulib/fnmatch_loop.c: Likewise.
32791 * gnulib/getopt.c: Likewise.
32792 * gnulib/getopt.h: Likewise.
32793 * gnulib/getopt1.c: Likewise.
32794 * gnulib/getopt_int.h: Likewise.
32795 * gnulib/gettext.h: Likewise.
32796
32797 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32800 * normal/handler.c (read_handler_list): Likewise.
32801
32802 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32803
32804 Misc cleanup.
32805
32806 * kern/command.c (grub_register_command_prio): Use
32807 grub_zalloc() instead of explicitly zeroing data.
32808 * kern/list.c: Include `<grub/mm.h>'.
32809 (grub_named_list_find): Replace `0' with `NULL'.
32810 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32811 (fs_module_list): Change type to `grub_named_list_t'. Update all
32812 users.
32813 * normal/dyncmd.c (read_command_list): Add space between function
32814 call and parenthesis.
32815 * normal/handler.c (read_handler_list): Likewise.
32816
32817 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32818
32819 * normal/auth.c (punishment_delay): Moved from here ...
32820 (grub_auth_strcmp): ... to here (inside function).
32821
32822 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32823
32824 * include/grub/list.h (struct grub_named_list): Remove `const'
32825 qualifier from `name'.
32826 (struct grub_prio_list): Likewise.
32827
32828 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32829
32830 * normal/auth.c: Include `<grub/time.h>'.
32831 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32832
32833 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32834
32835 * normal/auth.c (punishment_delay): New variable.
32836 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32837 (grub_auth_check_authentication): Punish failed login attempts with
32838 an incremental (2^N) delay.
32839
32840 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32843 path with $(srcdir).
32844
32845 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32846
32847 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32848
32849 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32850
32851 * util/i386/coreboot/grub-mkrescue.in: New file.
32852 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32853 variables.
32854
32855 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32856 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32857 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32858 requirements.
32859 * util/mkisofs/defaults.h: New file.
32860 * util/mkisofs/eltorito.c: Likewise.
32861 * util/mkisofs/exclude.h: Likewise.
32862 * util/mkisofs/fnmatch.c: Likewise.
32863 * util/mkisofs/getopt.c: Likewise.
32864 * util/mkisofs/getopt1.c: Likewise.
32865 * util/mkisofs/hash.c: Likewise.
32866 * util/mkisofs/include/fctldefs.h: Likewise.
32867 * util/mkisofs/include/mconfig.h: Likewise.
32868 * util/mkisofs/include/prototyp.h: Likewise.
32869 * util/mkisofs/include/statdefs.h: Likewise.
32870 * util/mkisofs/iso9660.h: Likewise.
32871 * util/mkisofs/joliet.c: Likewise.
32872 * util/mkisofs/match.c: Likewise.
32873 * util/mkisofs/match.h: Likewise.
32874 * util/mkisofs/mkisofs.c: Likewise.
32875 * util/mkisofs/mkisofs.h: Likewise.
32876 * util/mkisofs/multi.c: Likewise.
32877 * util/mkisofs/name.c: Likewise.
32878 * util/mkisofs/rock.c: Likewise.
32879 * util/mkisofs/tree.c: Likewise.
32880 * util/mkisofs/write.c: Likewise.
32881
32882 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32883
32884 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32885 being insecure.
32886
32887 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32888
32889 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32890 `grub-mkimage' (and use $0 when possible).
32891
32892 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32893
32894 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32895 error message for excessively large memory map.
32896
32897 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32898
32899 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32900 executable bit.
32901
32902 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32903
32904 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32905 message for coreboot users.
32906
32907 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32908
32909 Fix build with GNU gold.
32910
32911 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32912 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32913 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32914 link addresses.
32915 * aclocal.m4: Likewise.
32916
32917 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
32918
32919 * configure.ac (AC_PREREQ): Bump to 2.59d.
32920 * INSTALL: Make it more clear when Autoconf and Ruby are
32921 needed and when to run `./autogen.sh'.
32922
32923 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32924
32925 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32926 OSes.
32927
32928 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32929
32930 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32931
32932 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32933
32934 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32935 giving it to GNU Mach.
32936
32937 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32938
32939 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32940 GNU partition number to get internal GRUB partition number.
32941
32942 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32943
32944 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32945 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32946
32947 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32948
32949 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32950 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32951 case.
32952
32953 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
32954
32955 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32956
32957 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32958
32959 Fix build problem.
32960
32961 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32962 `-isystem=$(srcdir)/include'.
32963
32964 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32965
32966 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32967 checked (grub-install doesn't currently rely on it).
32968
32969 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32970
32971 Revert SVN r2660.
32972
32973 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32974 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32975 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32976 * conf/i386-ieee1275.rmk: Likewise.
32977 * conf/i386-pc.rmk: Likewise.
32978 * conf/powerpc-ieee1275.rmk: Likewise.
32979 * conf/sparc64-ieee1275.rmk: Likewise.
32980 * conf/x86_64-efi.rmk: Likewise.
32981
32982 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32983
32984 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32985
32986 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * include/grub/misc.h: Stop checking for APPLE_CC.
32989
32990 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32991
32992 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32993 doesn't cause an infinite call loop.
32994
32995 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
32996
32997 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32998 strings.
32999
33000 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33001
33002 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33003 variable.
33004 * Makefile.in: Likewise.
33005
33006 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33007
33008 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33009
33010 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33011
33012 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33013
33014 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33015
33016 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33017
33018 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33019
33020 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33021 from here ...
33022 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33023
33024 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33025
33026 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33027 in $(MAKEINFO) invocation. This makes it clear in output that
33028 errors are being ignored.
33029
33030 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33031
33032 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33033 from here ...
33034 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33035 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33036 * conf/i386-ieee1275.rmk: Likewise.
33037 * conf/i386-pc.rmk: Likewise.
33038 * conf/powerpc-ieee1275.rmk: Likewise.
33039 * conf/sparc64-ieee1275.rmk: Likewise.
33040 * conf/x86_64-efi.rmk: Likewise.
33041
33042 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33043
33044 * util/grub-editenv.c (main): If only a command is given, use
33045 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33046 (usage): FILENAME is now optional and has a default.
33047
33048 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33049
33050 Improve grub-mkconfig performance when there are several menu
33051 entries on a single filesystem.
33052
33053 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33054 prepare_grub_to_access_device.
33055 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33056 * util/grub.d/30_os-prober.in: Likewise.
33057
33058 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33059
33060 * util/grub.d/10_freebsd.in: Remove.
33061 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33062 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33063
33064 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33065
33066 * docs/grub.cfg: Fix example usage of *BSD loaders.
33067
33068 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33069
33070 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33071 grub_util_error() call.
33072
33073 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33074
33075 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33076 `reserved_first_sector' member.
33077 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33078 `reserved_first_sector' to 1.
33079 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33080 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33081 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33082 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33083 filesystems which begin at first sector.
33084 (options): New option --skip-fs-probe.
33085 (main): Handle --skip-fs-probe and pass it to setup().
33086
33087 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33088
33089 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33090 (memset): Fix function prototype.
33091
33092 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33093 2009-10-25 Vasily Averin <vvs@parallels.com>
33094
33095 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33096 `dirent.direntlen == 0'.
33097
33098 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33099
33100 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33101 `cpio'.
33102 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33103
33104 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33105
33106 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33107 `__trampoline_setup' and `__ucmpdi2'.
33108 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33109 that libgcc provides.
33110
33111 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33112
33113 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33114 * include/grub/sparc64/libgcc.h (memset): Likewise.
33115 * include/grub/misc.h (memset, memcmp): New function prototypes.
33116
33117 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33118
33119 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33120 `cpio'.
33121 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33122
33123 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33124
33125 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33126 * docs/grub.cfg: Compensate for recent change in multiboot
33127 loader (since 2009-08-14 it won't pass filename to payload).
33128 * util/grub.d/10_hurd.in: Likewise.
33129
33130 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
33131
33132 * config.guess: Update to latest version from config git
33133 repository.
33134 * config.sub: Likewise.
33135
33136 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 Fix build on sparc64.
33139
33140 * configure.ac: Perform checks for libgcc symbols before
33141 adding `-nostdlib' to LDFLAGS.
33142
33143 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33144
33145 Let user specify OpenBSD root device.
33146
33147 * loader/i386/bsd.c (openbsd_root): New variable.
33148 (openbsd_opts): New option 'root'.
33149 (OPENBSD_ROOT_ARG): New macro.
33150 (grub_openbsd_boot): Use 'openbsd_root'.
33151 (grub_cmd_openbsd): Fill 'openbsd_root'.
33152
33153 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33154
33155 * NEWS: Misc adjustments.
33156
33157 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33158
33159 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33160
33161 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33162
33163 * configure.ac: Bump version to 1.97.
33164
33165 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
33166
33167 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33168 -mno-3dnow on x86 architectures. Some toolchains enable these
33169 features by default, but they rely on registers that aren't enabled
33170 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33171
33172 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33173
33174 Make entry text a bit more readable.
33175
33176 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33177
33178 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33179
33180 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33181
33182 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33183
33184 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33185 operations.
33186
33187 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33188
33189 * configure.ac: Add missing dollar.
33190
33191 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33192
33193 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33194
33195 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33196 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33197 exports.
33198 * include/grub/sparc64/libgcc.h: Likewise. Use
33199 preprocessor conditionals.
33200
33201 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 * conf/common.rmk (grub-dumpbios): Remove rule.
33204 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33205 * util/grub-dumpbios.in: Remove file.
33206
33207 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33208
33209 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33210 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33211
33212 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33213 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33214 users.
33215
33216 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33217 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33218 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33219 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33220 users.
33221
33222 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33223
33224 * term/tparm.c: Switch to GPLv3.
33225
33226 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33227
33228 * include/grub/i386/cpuid.h: Add header protection.
33229
33230 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33231
33232 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33233
33234 * include/grub/i386/cpuid.h: New file.
33235 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33236 (has_longmode): Rename to ...
33237 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33238 `static' attribute.
33239 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33240 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33241 on a CPU that doesn't implement AMD64 instruction set.
33242
33243 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33244
33245 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33246 that version.texi is rebuilt on version number changes.
33247
33248 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33249
33250 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33251 Fixes bug #27602.
33252
33253 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33254
33255 * util/i386/pc/grub-install.in: Source
33256 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33257 that the --grub-probe option will work.
33258 * util/sparc64/ieee1275/grub-install.in: Likewise.
33259
33260 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33261
33262 * configure.ac: Bump version to 1.97~beta4.
33263
33264 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 Resync grub-mkdevicemap in x86_64-efi.
33267
33268 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33269 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33270 `util/devicemap.c'.
33271
33272 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
33273
33274 * util/grub-editenv.c (create_envblk_file): Write new block with a
33275 .new suffix and then rename it into place, to ensure atomic
33276 creation.
33277
33278 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33279
33280 Do not automatically install headers.
33281
33282 * Makefile.in (include_DATA): Remove. Update all users.
33283
33284 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33285
33286 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33287 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33288
33289 * util/osdetect.lua: Remove.
33290 * script/lua/lauxlib.c: Likewise.
33291 * script/lua/ldebug.c: Likewise.
33292 * script/lua/grub_main.c: Likewise.
33293 * script/lua/lauxlib.h: Likewise.
33294 * script/lua/ldebug.h: Likewise.
33295 * script/lua/ltablib.c: Likewise.
33296 * script/lua/liolib.c: Likewise.
33297 * script/lua/lstrlib.c: Likewise.
33298 * script/lua/lualib.h: Likewise.
33299 * script/lua/ldo.c: Likewise.
33300 * script/lua/ldump.c: Likewise.
33301 * script/lua/ldo.h: Likewise.
33302 * script/lua/loslib.c: Likewise.
33303 * script/lua/lundump.c: Likewise.
33304 * script/lua/grub_lib.c: Likewise.
33305 * script/lua/ldblib.c: Likewise.
33306 * script/lua/lundump.h: Likewise.
33307 * script/lua/lmem.c: Likewise.
33308 * script/lua/grub_lib.h: Likewise.
33309 * script/lua/lmathlib.c: Likewise.
33310 * script/lua/lstate.c: Likewise.
33311 * script/lua/ltm.c: Likewise.
33312 * script/lua/lvm.c: Likewise.
33313 * script/lua/lmem.h: Likewise.
33314 * script/lua/lstate.h: Likewise.
33315 * script/lua/ltm.h: Likewise.
33316 * script/lua/ltable.c: Likewise.
33317 * script/lua/lvm.h: Likewise.
33318 * script/lua/llex.c: Likewise.
33319 * script/lua/lgc.c: Likewise.
33320 * script/lua/grub_lua.h: Likewise.
33321 * script/lua/loadlib.c: Likewise.
33322 * script/lua/lfunc.c: Likewise.
33323 * script/lua/lopcodes.c: Likewise.
33324 * script/lua/lparser.c: Likewise.
33325 * script/lua/ltable.h: Likewise.
33326 * script/lua/llex.h: Likewise.
33327 * script/lua/lgc.h: Likewise.
33328 * script/lua/lfunc.h: Likewise.
33329 * script/lua/lbaselib.c: Likewise.
33330 * script/lua/lopcodes.h: Likewise.
33331 * script/lua/lparser.h: Likewise.
33332 * script/lua/lzio.c: Likewise.
33333 * script/lua/linit.c: Likewise.
33334 * script/lua/lobject.c: Likewise.
33335 * script/lua/llimits.h: Likewise.
33336 * script/lua/lstring.c: Likewise.
33337 * script/lua/lzio.h: Likewise.
33338 * script/lua/lapi.c: Likewise.
33339 * script/lua/lcode.c: Likewise.
33340 * script/lua/lua.h: Likewise.
33341 * script/lua/lobject.h: Likewise.
33342 * script/lua/lstring.h: Likewise.
33343 * script/lua/lapi.h: Likewise.
33344 * script/lua/lcode.h: Likewise.
33345 * script/lua/luaconf.h: Likewise.
33346
33347 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
33348
33349 * docs/grub.texi (Command-line and menu entry commands): Document
33350 date and echo commands.
33351
33352 2009-09-24 Pavel Roskin <proski@gnu.org>
33353
33354 * include/grub/kernel.h (struct grub_module_header): Remove
33355 `grub_module_header_types'. Make `type' unsigned. Make `size'
33356 32-bit on all platforms.
33357 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33358 8-bit field. Use grub_host_to_target32() for `size'.
33359 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33360 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33361 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33362
33363 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33364
33365 Fix "lost keypress" bug in at_keyboard.
33366
33367 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33368 Checks for readyness of input buffer (without flushing it).
33369 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33370 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33371
33372 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33373
33374 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33375 size check within GRUB_MACHINE_PCBIOS section.
33376
33377 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33378
33379 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33380 return value.
33381 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33382 KEYBOARD_ISREADY check.
33383 (grub_at_keyboard_checkkey): Rename to ...
33384 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33385 Remove gratuitous cast.
33386
33387 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
33388
33389 * configure.ac: Call AC_PROG_MKDIR_P.
33390 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33391 version.texi in $(builddir) rather than $(srcdir).
33392 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33393 to makeinfo's @include search path.
33394
33395 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33396
33397 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33398
33399 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33400
33401 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33402 for `*.dpkg-new'.
33403
33404 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
33405
33406 Build info documentation. Some code borrowed from Automake.
33407
33408 * configure.ac: Check for makeinfo.
33409 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33410 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33411 docs/version.texi.
33412 (MOSTLYCLEANFILES): Add vti.tmp.
33413 (docs/version.texi, docs/stamp-vti): Update automatically.
33414 (docs/grub.info): Build info documentation. Use --force and ignore
33415 errors for now.
33416 (all-local): Add $(INFOS).
33417 (install-local): Install info files.
33418 (uninstall): Uninstall info files.
33419 * docs/version.texi: Remove from revision control. This file is
33420 automatically generated on build now.
33421 * gendistlist.sh: Add `*.info'.
33422
33423 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33424
33425 * kern/term.c: Fix indentation.
33426
33427 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33428
33429 * util/hostdisk.c: Fix a comment.
33430
33431 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33432
33433 Fix regression introduced in r2539.
33434
33435 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33436 to 0xA1.
33437
33438 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
33439
33440 * util/grub.d/30_os-prober.in: Don't throw away stderr from
33441 os-prober. Under normal operation, it does not print anything to
33442 stderr; if it does, we need to debug it, and throwing away stderr
33443 makes that excessively difficult.
33444
33445 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33446
33447 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33448
33449 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33450
33451 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33452 AC_LANG_PROGRAM from autoconf.
33453 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33454 prototypes (fixes warning).
33455
33456 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33457 `--disable-werror' was used.
33458
33459 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33460
33461 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33462 uninitialized `lastaddr'.
33463
33464 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33465
33466 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
33467
33468 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33469
33470 * commands/test.c (get_fileinfo): Return immediately if
33471 grub_fs_probe fails.
33472
33473 2009-09-14 José Martínez <xosemp@gmail.com>
33474
33475 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33476
33477 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33478
33479 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33480 output.
33481
33482 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33483
33484 * configure.ac: Remove --enable-grub-pe2elf. Only build
33485 grub-pe2elf when needed by the build system itself.
33486 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33487
33488 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33489
33490 * configure.ac: Bump version to 1.97~beta3.
33491 * docs/version.texi: Likewise.
33492
33493 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33494
33495 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33496 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33497 from here ...
33498 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33499 (grub_linux_setup_video): ... to here (with some adjustments).
33500
33501 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33502
33503 Fix memory corruption issue (spotted by Colin Watson).
33504
33505 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33506 causing returned size to be stored in an incorrect memory location.
33507 Fix use of uninitialized value when storing the returned size.
33508
33509 2009-09-12 Yves Blusseau <blusseau@zetam.org>
33510
33511 Change clean rules to properly remove files
33512
33513 * genmk.rb: add new clean rules
33514 * Makefile.in (clean): add the new targets
33515 (mostlyclean): likewise
33516
33517 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33518
33519 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33520 to grub_uint64_t.
33521 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33522 non-resident files.
33523
33524 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33525
33526 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33527 part of bug #27349.
33528
33529 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33530
33531 * util/grub-mkconfig.in: Make the created config mode 400 and
33532 print a warning if it fails.
33533
33534 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33535
33536 * util/grub.d/40_custom.in: Ask user to type custom entries below
33537 comment, rather than below 'exec tail' line.
33538
33539 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33540
33541 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33542 visible in grub.cfg.
33543
33544 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33545
33546 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33547 file.
33548
33549 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33550
33551 * docs/grub.cfg: Add an example menu entry for memtest86+.
33552
33553 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
33554
33555 * config.guess: Update to latest version from config git.
33556 * config.sub: Likewise.
33557
33558 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
33559
33560 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33561 unknown-command case. Fixes bug #27320.
33562
33563 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
33564
33565 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33566 `help' if the command exists.
33567
33568 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33569
33570 * INSTALL: Require GCC 4.1.3 or later.
33571
33572 2009-09-06 Yves Blusseau <blusseau@zetam.org>
33573
33574 * Makefile.in (RMKFILES): add i386-qemu.rmk
33575 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33576 $(srcdir)/stamp-h.in
33577
33578 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33579
33580 * util/grub-probe.c (probe): Comment out buggy codepath, which
33581 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33582 should be re-enabled after 1.97.
33583
33584 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
33585
33586 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33587 find searches for.
33588
33589 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33590
33591 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33592 unnecessary calls to grub_error.
33593
33594 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
33595
33596 * NEWS: Mention `keystatus' and Unicode fonts.
33597
33598 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33599
33600 * configure.ac: Bump version to 1.97~beta2.
33601 * docs/version.texi: Likewise.
33602
33603 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33604
33605 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33606 containing unwind information in some cases where it previously did
33607 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33608 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33609 discussion.
33610
33611 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33612
33613 Embedding loadenv module into grub-emu
33614
33615 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33616 commands/loadenv.c
33617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33618 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33623
33624 2009-09-03 Magnus Granberg <zorry@ume.nu>
33625
33626 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33627 include -fPIE in the default specs.
33628 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33629 to TARGET_CFLAGS.
33630
33631 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
33632
33633 * INSTALL: Note that GNU Bison 2.3 or later is required.
33634
33635 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33636
33637 * kern/i386/pc/startup.S: Fix typo.
33638
33639 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33640
33641 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33642 according to GCS.
33643
33644 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33645
33646 * docs/grub.texi (Naming convention): Describe one-based partition
33647 numbering.
33648 (Device syntax): Likewise.
33649 (File name syntax): Likewise.
33650 (Block list syntax): Likewise.
33651 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33652 menu.lst.
33653 (File name syntax): Likewise.
33654 (Command-line and menu entry commands): Document acpi, blocklist,
33655 crc, export, insmod, keystatus, ls, set, and unset commands.
33656
33657 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33658
33659 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33660 to avoid implying that only one of --shift, --ctrl, or --alt may be
33661 used.
33662
33663 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33664
33665 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33666 rather than comparing against S_IFREG, which will almost never work.
33667
33668 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33669
33670 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33671 (write_blocklists): Likewise.
33672
33673 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
33674
33675 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33676 argument to grub_printf.
33677
33678 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
33679
33680 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
33681 non GNU test.
33682
33683 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33684
33685 * kern/file.c (grub_file_read): Spelling fix
33686
33687 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33690 loading of headers in some cases.
33691
33692 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33693
33694 * configure.ac: Bump version to 1.97~beta1.
33695 * docs/version.texi: Likewise.
33696
33697 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
33698
33699 * include/grub/i386/xnu.h: Add license header.
33700 include grub/err.h explicitly.
33701
33702 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33703
33704 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33705 to `ufs' in the vfs.root.mountfrom kernel parameter.
33706
33707 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33708
33709 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33710
33711 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33712 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33713
33714 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33715 `ARRAY_SIZE' macro.
33716
33717 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33718
33719 * kern/file.c (grub_file_read): Check offset.
33720 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33721 * fs/jfs.c (grub_jfs_read_file): Likewise.
33722 * fs/ntfs.c (grub_ntfs_read): Likewise.
33723 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33724 * fs/minix.c (grub_minix_read_file): Correct offset check.
33725 * fs/ufs.c (grub_ufs_read_file): Likewise.
33726
33727 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33728
33729 * term/i386/pc/console.c (bios_data_area): Cast
33730 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33731
33732 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33733
33734 1-bit optimised blitters.
33735
33736 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33737 prototype.
33738 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33739 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33740 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33741 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33742 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33743 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33744 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33745 function.
33746 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33747 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33748 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33749 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33750 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33751 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33752 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33753 when possible.
33754 * video/video.c (grub_video_get_blit_format): Return
33755 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33756
33757 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33758
33759 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33760 the first argument to grub_printf.
33761
33762 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33763 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33764
33765 Add `getkeystatus' terminal method. Add a new `keystatus' command
33766 to query it.
33767
33768 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33769 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33770 modifier key bitmasks.
33771 (struct grub_term_input): Add `getkeystatus' member.
33772 (grub_getkeystatus): Add prototype.
33773 * kern/term.c (grub_getkeystatus): New function.
33774
33775 * include/grub/i386/pc/memory.h
33776 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33777 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33778 Data Area layout.
33779 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33780 (grub_console_term_input): Set `getkeystatus' member.
33781 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33782 constants.
33783 (grub_usb_keyboard_getreport): Likewise.
33784 (grub_usb_keyboard_checkkey): Likewise.
33785 (grub_usb_keyboard_getkeystatus): New function.
33786 (grub_usb_keyboard_term): Set `getkeystatus' member.
33787
33788 * commands/keystatus.c: New file.
33789 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33790 (keystatus_mod_SOURCES): New variable.
33791 (keystatus_mod_CFLAGS): Likewise.
33792 (keystatus_mod_LDFLAGS): Likewise.
33793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33794 commands/keystatus.c.
33795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33800 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33801
33802 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33803
33804 Split befs.mod and afs.mod into *_be.mod and *.mod
33805
33806 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33807 (grub_fstest_SOURCES): Likewise.
33808 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33809 (afs_be_mod_SOURCES): New variable.
33810 (afs_be_mod_CFLAGS): Likewise.
33811 (afs_be_mod_LDFLAGS): Likewise.
33812 (befs_be_mod_SOURCES): Likewise.
33813 (befs_be_mod_CFLAGS): Likewise.
33814 (befs_be_mod_LDFLAGS): Likewise.
33815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33818 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33819 (grub_emu_SOURCES): Likewise.
33820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33823 * fs/afs_be.c: New file.
33824 * fs/befs_be.c: New file.
33825 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33826 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33827 (U16): Replaced with ...
33828 (grub_afs_to_cpu16): ...this. All users updated.
33829 (U32): Replaced with ...
33830 (grub_afs_to_cpu32): ...this. All users updated.
33831 (U64): Replaced with ...
33832 (grub_afs_to_cpu64): ...this. All users updated.
33833 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33834 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
33835 (grub_afs_validate_sblock): Check only one endianness.
33836 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33837 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33838 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33839 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33840 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33841 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33842 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33843 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33844
33845 2009-08-26 Bean <bean123ch@gmail.com>
33846
33847 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33848 64-bit number.
33849 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33850 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33851 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33852
33853 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33854
33855 NetBSD memory map support.
33856
33857 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33858 (grub_netbsd_btinfo_mmap_header): New structure.
33859 (grub_netbsd_btinfo_mmap_entry): Likewise.
33860 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33861
33862 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33863
33864 Enable bsd.mod on coreboot.
33865
33866 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33867 (bsd_mod_SOURCES): New variable.
33868 (bsd_mod_CFLAGS): Likewise.
33869 (bsd_mod_LDFLAGS): Likewise.
33870 (bsd_mod_ASFLAGS): Likewise.
33871 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33872 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33873
33874 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33875
33876 Cleanup NetBSD root support.
33877
33878 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33879 grub_bsd_get_device.
33880 Fix typo.
33881
33882 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
33883
33884 * util/grub.d/00_header.in: Move check for the video backend of
33885 gfxterm from here ...
33886 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33887 a suitable video backend.
33888
33889 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33890
33891 Fix breakage in grub-setup.
33892
33893 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33894 "msdos_partition_map".
33895
33896 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33897
33898 Fix breakage in normal/auth.c.
33899
33900 * normal/auth.c (grub_iswordseparator): New function.
33901
33902 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33903
33904 Authentication support.
33905
33906 * commands/password.c: New file.
33907 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33908 (password_mod_SOURCES): New variable.
33909 (password_mod_CFLAGS): Likewise.
33910 (password_mod_LDFLAGS): Likewise.
33911 (normal_mod_SOURCES): Add normal/auth.c.
33912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33913 normal/auth.c.
33914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33919 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33920 * include/grub/auth.h: New file.
33921 * include/grub/err.h (grub_err_t): New enum value
33922 GRUB_ERR_ACCESS_DENIED.
33923 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33924 'users'.
33925 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33926 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33927 users updated.
33928 * normal/auth.c: New file.
33929 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33930 (grub_cmdline_run): Don't allow to go to command line without
33931 authentication.
33932 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33933 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33934 menuentry without superuser rights.
33935 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33936 user isn't a superuser.
33937
33938 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33939
33940 Save space by inlining misc.c functions.
33941
33942 * kern/misc.c (grub_iswordseparator): Made static.
33943 * kern/misc.c (grub_strcat): Moved from here ...
33944 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33945 * kern/misc.c (grub_strncat): Moved from here ...
33946 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33947 * kern/misc.c (grub_strcasecmp): Moved from here ...
33948 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33949 * kern/misc.c (grub_strncasecmp): Moved from here ...
33950 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33951 * kern/misc.c (grub_isalpha): Moved from here ...
33952 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33953 * kern/misc.c (grub_isdigit): Moved from here ...
33954 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33955 * kern/misc.c (grub_isgraph): Moved from here ...
33956 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33957 * kern/misc.c (grub_tolower): Moved from here ...
33958 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33959
33960 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33961
33962 * script/sh/function.c (grub_script_function_find): Cut error message
33963 not to flood terminal.
33964 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33965 limit.
33966 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33967
33968 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
33969
33970 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33971 `report' grub_uint8_t *.
33972 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33973 Use a 50-millisecond timeout rather than just repeating
33974 grub_usb_keyboard_getreport 50 times.
33975 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33976
33977 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33978
33979 Rename *_partition_map to part_*
33980
33981 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33982 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33983 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33984 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33985 All users updated.
33986 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33987 All users updated.
33988 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33989 * util/grub-probe.c (probe_partmap): Don't transform partition name
33990 to get module name.
33991
33992 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33993
33994 Fix OpenBSD and NetBSD support.
33995
33996 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33997 memory address conflict.
33998 (OPENBSD_MMAP_ACPI): New definition.
33999 (OPENBSD_MMAP_NVS): Likewise.
34000 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34001 and OPENBSD_MMAP_NVS.
34002 Add memory map terminator
34003 Explicit cast when calling grub_unix_real_boot.
34004 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
34005
34006 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34007
34008 Let user specify NetBSD root device.
34009
34010 * loader/i386/bsd.c (netbsd_root): New variable.
34011 (netbsd_opts): New option 'root'.
34012 (NETBSD_ROOT_ARG): New macro.
34013 (grub_netbsd_boot): Use 'netbsd_root'.
34014 (grub_bsd_unload): Free 'netbsd_root'.
34015 (grub_cmd_netbsd): Fill 'netbsd_root'.
34016
34017 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34018
34019 Support for 64-bit NetBSD.
34020
34021 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34022 point when booting non-FreeBSD.
34023
34024 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34025
34026 Support --no-smp and --no-acpi for NetBSD.
34027
34028 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34029 (NETBSD_AB_NOACPI): Likewise.
34030 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34031 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34032
34033 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34034
34035 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34036 errors.
34037 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34038 errors. Call grub_error when needed.
34039
34040 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34041
34042 * commands/search.c (search_fs): Try searching without autoload first.
34043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34044 filesystem module explicitly for faster booting.
34045
34046 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34047
34048 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34049
34050 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34051
34052 * util/grub.d/30_os-prober.in: Disable os-prober if
34053 `GRUB_DISABLE_OS_PROBER' was set to true.
34054
34055 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34056
34057 * partmap/pc.c: Rename to ...
34058 * partmap/msdos.c: ... this. Update all users.
34059 (grub_pc_partition_map): Rename to ...
34060 (grub_msdos_partition_map): ... this. Update all users.
34061
34062 * parttool/pcpart.c: Rename to ...
34063 * parttool/msdospart.c: ... this. Update all users.
34064
34065 * include/grub/pc_partition.h: Rename to ...
34066 * include/grub/msdos_partition.h: ... this. Update all users.
34067 (grub_pc_partition_bsd_entry): Rename to ...
34068 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34069 (grub_pc_partition_disk_label): Rename to ...
34070 (grub_msdos_partition_disk_label): ... this. Update all users.
34071 (grub_pc_partition_entry): Rename to ...
34072 (grub_msdos_partition_entry): ... this. Update all users.
34073 (grub_pc_partition_mbr): Rename to ...
34074 (grub_msdos_partition_mbr): ... this. Update all users.
34075 (grub_pc_partition): Rename to ...
34076 (grub_msdos_partition): ... this. Update all users.
34077 (grub_pc_partition_is_empty): Rename to ...
34078 (grub_msdos_partition_is_empty): ... this. Update all users.
34079 (grub_pc_partition_is_extended): Rename to ...
34080 (grub_msdos_partition_is_extended): ... this. Update all users.
34081 (grub_pc_partition_is_bsd): Rename to ...
34082 (grub_msdos_partition_is_bsd): ... this. Update all users.
34083
34084 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34085 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34086 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34087 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34088 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34089 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34090 (gpt_mod_LDFLAGS): Rename to ...
34091 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34092 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34093 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34094 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34095 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34096 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34097 (part_gpt_mod_LDFLAGS): ... this.
34098 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34099 `pcpart.mod' to `msdospart.mod'.
34100 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34101 to ...
34102 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34103 (msdospart_mod_LDFLAGS): ... this.
34104
34105 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34106
34107 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34108 (openbsd_opts): Likewise.
34109 (netbsd_opts): Likewise.
34110 (freebsd_flags): Added 0 terminator.
34111 (openbsd_flags): Likewise.
34112 (netbsd_flags): Likewise.
34113 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34114 (grub_cmd_freebsd): Transformed into extended command.
34115 (grub_cmd_openbsd): Likewise.
34116 (grub_cmd_netbsd): Likewise.
34117 (cmd_freebsd): Changed type to grub_extcmd_t.
34118 (cmd_openbsd): Likewise.
34119 (cmd_netbsd): Likewise.
34120 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34121 grub_cmd_openbsd as extended commands.
34122 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34123 cmd_netbsd and cmd_openbsd
34124
34125 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34126
34127 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34128
34129 2009-08-21 Pavel Roskin <proski@gnu.org>
34130
34131 * Makefile.in (install-local): When checking if a file is in the
34132 build directory, use "test -e" to detect symlinks.
34133
34134 * Makefile.in (install-local): Remove all files in
34135 $(DESTDIR)$(pkglibdir) before installing new files there.
34136
34137 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34138
34139 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34140 grub-mkelfimage.
34141
34142 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34143
34144 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34145 explicitly specified by the user.
34146
34147 2009-08-18 Pavel Roskin <proski@gnu.org>
34148
34149 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34150 grub_uint8_t pointer for data.
34151 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34152 Likewise.
34153 * video/fb/fbutil.c: Remove unnecessary casts.
34154
34155 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34156
34157 VBE cleanup.
34158
34159 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34160 (grub_vbe_set_video_mode): Save active mode info
34161 only after setting the mode.
34162 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34163 second argument.
34164
34165 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34166
34167 Rename variables for clarity.
34168
34169 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34170 (active_vbe_mode_info): ... this. All users updated.
34171 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34172 All users updated.
34173 (initial_mode): Rename to ...
34174 (initial_vbe_mode): ... this. All users updated.
34175 (mode_in_use): Rename to ..
34176 (vbe_mode_in_use): ... this. All users updated.
34177 (mode_list): Rename to ..
34178 (vbe_mode_list): ... this. All users updated.
34179 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34180 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34181 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34182 'mode_list_size' to 'vbe_mode_list_size'.
34183 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34184 'best_mode_info' to 'best_vbe_mode_info' and
34185 'best_mode' to 'best_vbe_mode'
34186
34187 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34188
34189 Remove duplicate grub_video_fb_get_video_ptr.
34190
34191 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34192 (grub_video_fb_get_video_ptr): ... this.
34193 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34194 * video/fb/fbutil.c: Add comment about addressing.
34195 (get_data_ptr): Rename to ...
34196 (grub_video_fb_get_video_ptr): ... this. All users updated.
34197 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34198
34199 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34200
34201 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34202 grub_dprintf() that was just added.
34203
34204 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34205
34206 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34207 (DEFAULT_VIDEO_MODE): Remove macros.
34208 (grub_linux_boot): Remove assumption that Linux has FB support,
34209 and use "text" as default video mode.
34210
34211 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34212
34213 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34214 grub_dprintf.
34215 * fs/fat.c (grub_fat_read_data): Likewise.
34216
34217 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34218
34219 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34220 payload.
34221 (grub_module): Likewise.
34222
34223 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34224
34225 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34226 mbi->cmdline but free playground.
34227
34228 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34229
34230 Handle group offset on UFS1.
34231
34232 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34233 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34234
34235 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34236
34237 Split ufs.mod into ufs1.mod and ufs2.mod.
34238
34239 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34240 (grub_fstest_SOURCES): Likewise.
34241 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34242 (ufs_mod_SOURCES): Remove.
34243 (ufs_mod_CFLAGS): Likewise.
34244 (ufs_mod_LDFLAGS): Likewise.
34245 (ufs1_mod_SOURCES): New variable.
34246 (ufs1_mod_CFLAGS): Likewise.
34247 (ufs1_mod_LDFLAGS): Likewise.
34248 (ufs2_mod_SOURCES): New variable.
34249 (ufs2_mod_CFLAGS): Likewise.
34250 (ufs2_mod_LDFLAGS): Likewise.
34251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34252 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34253 Likewise.
34254 (grub_emu_SOURCES): Likewise.
34255 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34256 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34257 (grub_setup_SOURCES): Likewise.
34258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34259 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34260 (grub_setup_SOURCES): Likewise.
34261 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34262 Likewise.
34263 * fs/ufs2.c: New file.
34264 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34265
34266 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34267
34268 Framebuffer split.
34269
34270 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34271 subsystem at the end.
34272 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34273 (video_fb_mod_SOURCES): New variable.
34274 (video_fb_mod_CFLAGS): Likewise.
34275 (video_fb_mod_LDFLAGS): Likewise.
34276 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34277 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34278 * video/i386/pc/vbeblit.c: Moved from here ...
34279 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34280 * video/i386/pc/vbefill.c: Moved from here ...
34281 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34282 * video/i386/pc/vbeutil.c: Moved from here ...
34283 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34284 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34285 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34286 * include/grub/i386/pc/vbefill.h: Moved from here ...
34287 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34288 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34289 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34290 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34291 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34292 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34293 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34294 (grub_video_adapter): Added 'get_info_and_fini'.
34295 (grub_video_get_info_and_fini): New prototype.
34296 (grub_video_set_mode): make modestring const char *.
34297 * loader/i386/linux.c (grub_linux_setup_video): Use
34298 grub_video_get_info_and_fini.
34299 (grub_linux_boot): Move modesetting just before booting.
34300 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34301 grub_video_get_info_and_fini.
34302 * video/i386/pc/vbe.c: Moved framebuffer part ...
34303 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34304 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34305 grub_video_fbstd_colors and grub_video_fb_set_palette.
34306 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34307 grub_video_fb_init.
34308 (grub_video_vbe_fini): Use grub_video_fb_fini.
34309 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34310 render_target and use grub_video_fb_set_active_render_target and
34311 grub_video_fb_set_palette.
34312 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34313 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34314 (grub_video_vbe_adapter): Use framebuffer.
34315 * video/video.c (grub_video_get_info_and_fini): New function.
34316 (grub_video_set_mode): Make modestring const char *.
34317 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34318 values are already initialised.
34319
34320 2009-08-14 Pavel Roskin <proski@gnu.org>
34321
34322 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34323 ABS and APPLE_CC.
34324 * boot/i386/pc/diskboot.S: Likewise.
34325 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34326 sectors allow compilation on MacOSX.
34327 * conf/i386-pc.rmk: Enable unconditional compilation of
34328 lnxboot.img.
34329
34330 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
34331
34332 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34333 * util/grub.d/00_header.in: Enter interruptible sleep if
34334 GRUB_HIDDEN_TIMEOUT is set.
34335
34336 2009-08-13 Yves Blusseau <blusseau@zetam.org>
34337
34338 * include/grub/symbol.h: Add the LOCAL macro.
34339 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34340 starting with "L_".
34341
34342 2009-08-13 Pavel Roskin <proski@gnu.org>
34343
34344 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34345 any modern compilers we support.
34346
34347 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34348 Use local labels starting with "L_" so that Apple assembler
34349 knows they are local.
34350
34351 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34352
34353 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34354 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34355 (bsd_kernel_types): ... this enum.
34356
34357 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34358 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34359 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34360
34361 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34362 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34363 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34364 messages.
34365
34366 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34367
34368 * util/grub-dumpdevtree: Moved from here ...
34369 * util/i386/efi/grub-dumpdevtree: ... to here.
34370 (hexify): New function. Converts a string to its hex version.
34371 Generate hex versions of "efi" and "device-properties" by calling
34372 hexify() on the ASCII strings rather than by hardcoding numbers.
34373
34374 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34375
34376 * fs/jfs.c: Update copyright year.
34377
34378 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34379
34380 * util/grub.d/00_header.in: Fix a comment.
34381 * util/grub.d/10_linux.in: Likewise.
34382 * util/grub.d/10_windows.in: Likewise.
34383 * util/grub.d/10_hurd.in: Likewise.
34384
34385 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34386
34387 * util/grub-mkconfig.in: Allow the user to specify the used font
34388 with GRUB_FONT.
34389
34390 2009-08-08 Pavel Roskin <proski@gnu.org>
34391
34392 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34393 available, xfs.mod needs it now.
34394
34395 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34396 the "g" modifier in sed when the intention is to strip something
34397 once. This fixes comparison of kernels with multiple dashes.
34398
34399 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34400 on it. Add missing space before closing bracket. Fix
34401 misleading formatting.
34402
34403 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34404
34405 * docs/grub.texi: Major overhaul. Remove all sections that are
34406 specific to GRUB Legacy, or mostly composed of Legacy-specific
34407 information.
34408
34409 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34410
34411 * docs/version.texi: New file. Provides version information for
34412 grub.texi.
34413
34414 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34415
34416 * docs/grub.texi: Update CVS information to SVN.
34417 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34418
34419 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34420
34421 * util/grub-mkconfig.in: Remove a wrong `fi'.
34422
34423 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34424
34425 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34426 (grub_jfs_uuid): New function.
34427 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34428
34429 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34430
34431 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34432 of it to ...
34433 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34434 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34435
34436 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34437
34438 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34439 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34440 Update all users.
34441
34442 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34443 not just "vmlinu[zx]".
34444 Moved from here ...
34445 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34446 all users.
34447
34448 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34449 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34450 all users.
34451
34452 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34453
34454 * util/grub.d/10_freebsd.in: Use an absolute device path for
34455 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34456
34457 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
34458
34459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34460 handling of multiple abstraction modules.
34461
34462 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34463
34464 Fix a bug resulting in black screen when loading Linux using a
34465 packed video mode.
34466
34467 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34468 function.
34469
34470 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34471 (grub_vbe_bios_getset_dac_palette_width): New function.
34472 (grub_vbe_bios_get_dac_palette_width)
34473 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34474 grub_vbe_bios_getset_dac_palette_width()).
34475
34476 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34477 check for return status.
34478 (grub_vbe_get_video_mode_info): When getting information for a packed
34479 mode (<= 8 bpp), obtain DAC palette width using
34480 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34481 {red,green,blue}_mark_size.
34482
34483 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
34484
34485 * commands/search.c (options): Fix help output to match actual code.
34486
34487 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34488
34489 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34490 of homegrown code.
34491
34492 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34493
34494 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34495 on XFS or ReiserFS.
34496
34497 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34498
34499 Support Apple partition map with sector size different from 512 bytes.
34500
34501 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34502 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34503 and 'apart.partmap_size'.
34504
34505 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34506 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34507
34508 Fix cpuid command.
34509
34510 * commands/i386/cpuid.c (options): New variable.
34511 (grub_cmd_cpuid): Return real error.
34512 (GRUB_MOD_INIT(cpuid)): Declare options.
34513
34514 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34515
34516 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34517 valid.
34518
34519 2009-07-31 Bean <bean123ch@gmail.com>
34520
34521 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34522 log2_inode.
34523 (grub_fshelp_node): Move inode field to the end.
34524 (grub_xfs_data): Remove inode field.
34525 (grub_xfs_inode_block): Calculate inode size using sblock.
34526 (grub_xfs_inode_offset): Likewise.
34527 (grub_xfs_read_inode): Calculate inode size using sblock.
34528 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34529 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34530 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34531 to match inode size.
34532 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34533 not accessible when data is null.
34534 (grub_xfs_open): Likewise.
34535
34536 2009-07-31 Bean <bean123ch@gmail.com>
34537
34538 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34539 Don't change pv->disk if it's already set.
34540
34541 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34542 (grub_raid_register): ... here.
34543 (grub_raid_rescan): Removed.
34544
34545 * include/grub/raid.h (grub_raid_rescan): Removed.
34546
34547 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34548 (fstest): Replace grub_raid_rescan with module fini function followed
34549 by init function.
34550
34551 * util/grub-probe.c: Add include file <grub/raid.h>.
34552 (probe_raid_level): New function.
34553 (probe): Detect abstraction by walking the disk device, support two
34554 level of abstraction (LVM on RAID) when detecting partition map.
34555
34556 2009-07-31 Pavel Roskin <proski@gnu.org>
34557
34558 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34559 to grub_zalloc(), it was erroneous.
34560 Reported by Bean <bean123ch@gmail.com>
34561
34562 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34563
34564 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
34565 embedding zone, not only the first one.
34566
34567 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
34568
34569 * term/gfxterm.c (clear_char): New function.
34570 (grub_virtual_screen_setup): Use clear_char.
34571 (scroll_up): Likewise.
34572 (grub_virtual_screen_cls): Likewise.
34573
34574 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
34575
34576 * util/deviceiter.c (get_acceleraid_disk_name): New static
34577 function.
34578 (grub_util_iterate_devices): Handle Accelraid devices.
34579 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34580
34581 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34582
34583 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34584 separator for the suggested gfxpayload string (';' collides with the
34585 parser and needs escaping).
34586
34587 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34588
34589 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34590 Clear direction flag before jumping to OS.
34591 (grub_multiboot2_real_boot): Likewise.
34592
34593 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34594
34595 * util/i386/pc/grub-install: Fix parsing of --disk-module
34596 option.
34597
34598 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34599
34600 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34601 when embedding.
34602
34603 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
34604
34605 * util/grub-mkconfig.in (package_version): New variable.
34606 Use it do display the version.
34607
34608 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34609
34610 * kern/file.c (grub_file_open): Revert to previous check with
34611 grub_errno.
34612
34613 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34614
34615 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34616 from help line. It's out of sync with code.
34617
34618 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34619
34620 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34621 entries on failed boot.
34622
34623 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34624
34625 * kern/file.c (grub_file_open): Fix an error check.
34626
34627 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34628
34629 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34630 partition map couldn't be identified.
34631
34632 2009-07-23 Pavel Roskin <proski@gnu.org>
34633
34634 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34635 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34636 case of little endian words becomes just an optimization.
34637 Respect const modifier.
34638 (md5_final): Use code that doesn't depend on endianness.
34639
34640 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34641 to avoid loss of upper bits if align is unsigned and shorter
34642 than addr.
34643
34644 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34645
34646 UUID support for UFS
34647
34648 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34649 (grub_ufs_uuid): New function.
34650 (grub_ufs_fs): add .uuid
34651
34652 2009-07-21 Pavel Roskin <proski@gnu.org>
34653
34654 * kern/dl.c (grub_dl_check_header): Make static.
34655
34656 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
34657
34658 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34659 add drivemap for Vista. It breaks Windows 7.
34660
34661 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34662
34663 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34664 128 bytes
34665
34666 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34667
34668 Add BFS support
34669
34670 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34671 (grub_fstest_SOURCES): Likewise.
34672 (pkglib_MODULES): Add befs.mod.
34673 (befs_mod_SOURCES): New variable.
34674 (befs_mod_CFLAGS): Likewise.
34675 (befs_mod_LDFLAGS): Likewise.
34676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34677 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34679 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34680 (grub_setup_SOURCES): Likewise.
34681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34683 (grub_setup_SOURCES): Likewise.
34684 * fs/befs.c: New file.
34685 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34686 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34687 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34688 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34689 (B_KEY_INDEX_ALIGN): New declaration.
34690 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34691 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34692 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34693 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34694 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34695 (grub_afs_mount) [MODE_BFS]: Likewise.
34696 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34697 (grub_afs_fs): Use GRUB_AFS_FSNAME
34698 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34699 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34700 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34701 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34702
34703 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34704
34705 * util/getroot.c (find_root_device): Add support for MacOSX.
34706 * util/hostdisk.c: Likewise.
34707
34708 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34709
34710 * font/font.c (find_glyph): Check whether a font is present to avoid
34711 segmentation fault.
34712
34713 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
34714
34715 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34716
34717 2009-07-20 Pavel Roskin <proski@gnu.org>
34718
34719 * configure.ac: Trim excessively wordy excuses.
34720
34721 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34722
34723 Add symlink, mtime and label support to AtheFS.
34724
34725 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34726 (grub_afs_iterate_dir): Handle symlinks.
34727 (grub_afs_open): Use grub_afs_read_symlink.
34728 (grub_afs_dir): Likewise.
34729 Pass mtime.
34730 (grub_afs_label): New function.
34731 (grub_afs_fs): Add grub_afs_label.
34732 (grub_afs_read_symlink): New function.
34733
34734 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34735
34736 Fix AtheFS support.
34737
34738 * fs/afs.c: Fix comments style.
34739 (grub_afs_blockrun): Declare as packed.
34740 (grub_afs_datastream): Likewise.
34741 (grub_afs_bnode): Likewise.
34742 (grub_afs_btree): Likewise.
34743 (grub_afs_sblock): Likewise.
34744 Declare `name' as char.
34745 (grub_afs_inode): Declare as packed.
34746 Change void *vnode to grub_uint32_t unused.
34747 (grub_afs_iterate_dir): Check that key_size is positive.
34748 (grub_afs_mount): Don't read superblock twice.
34749 (grub_afs_dir): Don't free node in case of error,
34750 grub_fshelp_find_file already handles this.
34751 (grub_afs_open): Likewise.
34752
34753 2009-07-19 Pavel Roskin <proski@gnu.org>
34754
34755 * Makefile.in: Remove LIBLZO and enable_lzo.
34756 * conf/i386-pc.rmk: Remove lzo support.
34757 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34758 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34759 support.
34760 * kern/i386/pc/lzo1x.S: Remove.
34761 * kern/i386/pc/startup.S: Remove lzo support.
34762 * util/i386/pc/grub-mkimage.c: Likewise.
34763
34764 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34765
34766 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34767 * fs/xfs.c (grub_xfs_dir): Likewise.
34768 * fs/afs.c (grub_afs_dir): Likewise.
34769 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34770 (grub_iso9660_open): Likewise.
34771 * fs/jfs.c (grub_jfs_open): Likewise.
34772 * fs/ext2.c (grub_ext2_dir): Likewise.
34773 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34774 * script/sh/lexer.c (grub_script_yylex): Likewise.
34775
34776 2009-07-16 Pavel Roskin <proski@gnu.org>
34777
34778 * configure.ac: Never add "-c" to CFLAGS.
34779
34780 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34781
34782 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34783 grub_cv_cc_efiemu should be used.
34784
34785 * configure.ac: Typo fixes.
34786
34787 * kern/mm.c (grub_zalloc): New function.
34788 (grub_debug_zalloc): Likewise.
34789 * include/grub/mm.h: Declare grub_zalloc() and
34790 grub_debug_zalloc().
34791 * util/misc.c (grub_zalloc): New function.
34792 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34793 instead of grub_malloc(), remove unneeded initializations.
34794 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34795 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34796 * commands/parttool.c (grub_cmd_parttool): Likewise.
34797 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34798 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34799 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34800 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34801 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34802 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34803 (grub_cmd_efiemu_pnvram): Likewise.
34804 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34805 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34806 (grub_iso9660_iterate_dir): Likewise.
34807 * fs/jfs.c (grub_jfs_opendir): Likewise.
34808 * fs/ntfs.c (list_file): Likewise.
34809 (grub_ntfs_mount): Likewise.
34810 * kern/disk.c (grub_disk_open): Likewise.
34811 * kern/dl.c (grub_dl_load_core): Likewise.
34812 * kern/elf.c (grub_elf_file): Likewise.
34813 * kern/env.c (grub_env_context_open): Likewise.
34814 (grub_env_set): Likewise.
34815 (grub_env_set_data_slot): Likewise.
34816 * kern/file.c (grub_file_open): Likewise.
34817 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34818 * loader/i386/multiboot.c (grub_module): Likewise.
34819 * loader/xnu.c (grub_xnu_create_key): Likewise.
34820 (grub_xnu_create_value): Likewise.
34821 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34822 (read_config_file): Likewise.
34823 * normal/menu_entry.c (make_screen): Likewise.
34824 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34825 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34826 * script/sh/script.c (grub_script_parse): Likewise.
34827 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34828 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34829 * video/readers/png.c (grub_png_output_byte): Likewise.
34830 (grub_video_reader_png): Likewise.
34831
34832 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34833
34834 Enable all targets that can be built by default
34835
34836 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
34837 grub-mkfont and grub-fstest if they can be built
34838
34839 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34840
34841 Fix hang and segmentation fault in grub-emu-usb
34842
34843 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34844 * util/usb.c (grub_libusb_devices): likewise
34845 (grub_libusb_init): rename to ...
34846 (GRUB_MOD_INIT (libusb)):...this
34847 (grub_libusb_fini): rename to ..
34848 (GRUB_MOD_FINI (libusb)):...this
34849 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34850 * include/grub/disk.h (grub_raid_init): removed, it's useless
34851 (grub_raid_fini): likewise
34852 (grub_lvm_init): likewise
34853 (grub_lvm_fini): likewise
34854 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34855 by grub_init_all
34856
34857 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34858
34859 Fix libusb
34860
34861 * Makefile.in (LIBUSB): new macro
34862 * genmk.rb (Utility/print_tail): new method
34863 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34864 (top level): call util.print_tail at the end.
34865
34866 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34867
34868 Make FreeBSD accept zpool.cache
34869
34870 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34871 type is /boot/zfs/zpool.cache
34872
34873 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34874
34875 Fix 64-bit efiemu
34876
34877 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34878 correct wrong typedef
34879 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34880
34881 2009-07-15 Pavel Roskin <proski@gnu.org>
34882
34883 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34884 * kern/disk.c (struct grub_disk_cache): Likewise.
34885
34886 * commands/probe.c (options): Typo fix.
34887
34888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34889 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34890 accordingly.
34891 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34892
34893 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34894 the end of "Error" to make the message more readable.
34895
34896 * boot/i386/pc/boot.S (kernel_segment): Remove.
34897 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34898 for destination.
34899
34900 * boot/i386/pc/boot.S (boot_version): Remove.
34901 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34902 Remove.
34903
34904 * include/grub/i386/pc/boot.h: Sort all offsets.
34905 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34906 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34907 * boot/i386/pc/boot.S: Assert location of every offset listed in
34908 include/grub/i386/pc/boot.h.
34909
34910 2009-07-13 Pavel Roskin <proski@gnu.org>
34911
34912 * include/grub/i386/coreboot/machine.h: Rename
34913 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34914 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34915 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34916
34917 * kern/dl.c: Force native word size to suppress warnings when
34918 compiling grub-emu.
34919
34920 * kern/device.c (grub_device_iterate): Change struct part_ent to
34921 hold the name, not a pointer to it. Use one grub_malloc() per
34922 partition, not two. Free partition_name if grub_malloc() fails.
34923 Set ents to NULL only before grub_partition_iterate() is called.
34924
34925 2009-07-11 Bean <bean123ch@gmail.com>
34926
34927 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34928 childname.
34929
34930 2009-07-10 Bean <bean123ch@gmail.com>
34931 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34932
34933 * kern/ieee1275/openfw.c (grub_children_iterate)
34934 (grub_devalias_iterate): Fix size evaluation for property or path
34935 strings, which was broken since r2132.
34936
34937 2009-07-07 Pavel Roskin <proski@gnu.org>
34938
34939 * commands/search.c (search_file): Merge into ...
34940 (search_fs): ... this. Accept search type as argument.
34941 (grub_cmd_search): Pass search type to search_fs().
34942
34943 * include/grub/util/console.h: New file.
34944 * util/console.c: Use it instead of grub/machine/console.h.
34945 * util/grub-emu.c: Likewise.
34946
34947 * lib/arg.c (find_long_option): Remove.
34948 (find_long): Add `len' argument, make `s' const char *.
34949 (grub_arg_parse): Parse long options in place, not in a
34950 temporary buffer.
34951
34952 2009-07-06 Pavel Roskin <proski@gnu.org>
34953
34954 * commands/search.c (search_fs): Fix potential NULL pointer
34955 dereference.
34956
34957 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34958 function pointer.
34959
34960 2009-07-06 Daniel Mierswa <impulze@impulze.org>
34961
34962 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34963 comparison.
34964
34965 2009-07-05 Pavel Roskin <proski@gnu.org>
34966
34967 * include/grub/i386/linux.h (struct linux_kernel_params):
34968 Restore padding3, it's still needed.
34969
34970 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34971 FreeBSD.
34972 * util/osdetect.lua: Likewise.
34973
34974 2009-07-05 Bean <bean123ch@gmail.com>
34975
34976 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34977
34978 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34979 (grub_lua_getenv): Likewise.
34980 (grub_lua_setenv): Likewise.
34981 (save_errno): New function.
34982 (push_result): Likewise.
34983 (grub_lua_enum_device): Likewise.
34984 (grub_lua_enum_file): Likewise.
34985 (grub_lua_file_open): Likewise.
34986 (grub_lua_file_close): Likewise.
34987 (grub_lua_file_seek): Likewise.
34988 (grub_lua_file_read): Likewise.
34989 (grub_lua_file_getline): Likewise.
34990 (grub_lua_file_getsize): Likewise.
34991 (grub_lua_file_getpos): Likewise.
34992 (grub_lua_file_eof): Likewise.
34993 (grub_lua_file_exist): Likewise.
34994 (grub_lua_add_menu): Likewise.
34995
34996 * script/lua/grub_lua.h (isupper): New inline function.
34997 (islower): Likewise.
34998 (ispunct): Likewise.
34999 (isxdigit): Likewise.
35000 (strcspn): Change to normal function.
35001 (strpbkr): New function declaration.
35002 (memchr): Likewise.
35003
35004 * script/lua/grub_main.c (scan_str): New function.
35005 (strcspn): Likewise.
35006 (strpbrk): Likewise.
35007 (memchr): Likewise.
35008
35009 * script/lua/linit.c (lualibs): Enable the string library.
35010
35011 * util/osdetect.lua: New file.
35012
35013 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35014
35015 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35016 `capabilities' member.
35017
35018 2009-07-02 Pavel Roskin <proski@gnu.org>
35019
35020 * genparttoollist.sh: Add missing newline at the end.
35021
35022 2009-07-01 Pavel Roskin <proski@gnu.org>
35023
35024 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35025
35026 * util/hostdisk.c (open_device): Remove `const' from
35027 `sysctl_size', as sysctlbyname() can change it (in this case it
35028 doesn't actually happen).
35029
35030 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35031 using signed long int constants.
35032
35033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35034 constant to avoid a warning on FreeBSD.
35035
35036 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35037 where it's needed.
35038
35039 * Makefile.in: Install include/grub/machine symlink.
35040
35041 * Makefile.in: When installing symlinks, use "cp -fR", which
35042 works on FreeBSD and MacOSX.
35043 From Yves Blusseau <cl7m42e02@sneakemail.com>
35044
35045 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35046 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35047
35048 * util/misc.c: Move grub_reboot() and grub_halt() ...
35049 * util/grub-emu.c: ... here. Make main_env static.
35050 * include/grub/util/misc.h: Remove main_env.
35051
35052 * kern/mm.c: Use correct format to print size_t.
35053
35054 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35055 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35056 * kern/powerpc/dl.c: Likewise.
35057 * kern/sparc64/dl.c: Likewise.
35058 * kern/x86_64/dl.c: Likewise.
35059
35060 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35061
35062 Fix grub-emu build on sparc64-ieee1275.
35063
35064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
35065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35066
35067 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35068
35069 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35070 (grub_reboot, grub_halt): New functions.
35071
35072 * util/i386/pc/misc.c: Delete. Update all users.
35073 * util/sparc64/ieee1275/misc.c: Likewise.
35074 * util/powerpc/ieee1275/misc.c: Likewise.
35075
35076 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35077
35078 * conf/i386.rmk (setjmp_mod_SOURCES)
35079 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35080 * conf/common.rmk (setjmp_mod_SOURCES)
35081 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35082 to use $(target_cpu).
35083 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35084 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35085 * conf/powerpc-ieee1275.rmk: Likewise.
35086 * conf/sparc64-ieee1275.rmk: Likewise.
35087
35088 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35089 $(target_cpu) for kern/$(target_cpu)/dl.c.
35090 * conf/i386-efi.rmk: Likewise.
35091 * conf/i386-ieee1275.rmk: Likewise.
35092 * conf/x86_64-efi.rmk: Likewise.
35093 * conf/i386-coreboot.rmk: Likewise.
35094 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35095 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35096 kern/$(target_cpu)/cache.S.
35097 * conf/sparc64-ieee1275.rmk: Likewise.
35098
35099 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35100
35101 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35102 type to `grub_uint8_t', and adjust `padding9' accordingly.
35103
35104 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35105
35106 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35107
35108 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35109 assembly in final jump, using register constraints.
35110
35111 (grub_linux_boot): For text mode, initialize `have_vga' using
35112 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35113
35114 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35115 right before the final jump.
35116
35117 Set `video_mode' to 0x3.
35118
35119 Document initialization of `video_page', `video_mode' and
35120 `video_ega_bx'.
35121
35122 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35123
35124 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35125 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
35126 and set GRUB_LINUX_FLAG_QUIET appropriately.
35127
35128 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35129
35130 Fix build on Debian / sparc.
35131
35132 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35133
35134 2009-06-28 Pavel Roskin <proski@gnu.org>
35135
35136 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35137 fix a warning.
35138
35139 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35140
35141 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35142
35143 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35144 `err'.
35145
35146 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35147
35148 Revert r2338.
35149
35150 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35151 file can't be opened. grub_file_open() is already supposed to set
35152 grub_errno / grub_errmsg appropriately.
35153 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35154
35155 2009-06-27 Pavel Roskin <proski@gnu.org>
35156 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35157
35158 * include/grub/dl.h: Include grub/elf.h.
35159 (struct grub_dl): Add symtab field.
35160 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35161 GRUB_MODULES_MACHINE_READONLY.
35162 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35163 of the header for read-only modules.
35164 (grub_dl_unload): Free mod->symtab for read-only modules.
35165 * kern/i386/dl.c: Use mod->symtab.
35166 * kern/powerpc/dl.c: Likewise.
35167 * kern/sparc64/dl.c: Likewise.
35168 * kern/x86_64/dl.c: Likewise.
35169
35170 * conf/i386-qemu.rmk: New file.
35171 * kern/i386/qemu/startup.S: Likewise.
35172 * kern/i386/qemu/mmap.c: Likewise.
35173 * boot/i386/qemu/boot.S: Likewise.
35174 * include/grub/i386/qemu/time.h: Likewise.
35175 * include/grub/i386/qemu/serial.h: Likewise.
35176 * include/grub/i386/qemu/kernel.h: Likewise.
35177 * include/grub/i386/qemu/console.h: Likewise.
35178 * include/grub/i386/qemu/boot.h: Likewise.
35179 * include/grub/i386/qemu/init.h: Likewise.
35180 * include/grub/i386/qemu/machine.h: Likewise.
35181 * include/grub/i386/qemu/loader.h: Likewise.
35182 * include/grub/i386/qemu/memory.h: Likewise.
35183
35184 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35185 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35186 [qemu] (pkglib_IMAGES): Add `boot.img'.
35187 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35188 [qemu] (boot_img_FORMAT): New variables.
35189 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35190 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35191 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35192 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35193 [qemu] (kernel_img_FORMAT): New variables.
35194
35195 * configure.ac: Recognise `i386-qemu'.
35196
35197 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35198 (for no compression).
35199 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35200 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35201 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35202 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35203 ifdefs).
35204
35205 2009-06-27 Pavel Roskin <proski@gnu.org>
35206
35207 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35208 read.
35209 * efiemu/prepare32.c: Likewise.
35210 * efiemu/prepare64.c: Likewise.
35211
35212 2009-06-26 Pavel Roskin <proski@gnu.org>
35213
35214 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35215 * include/grub/elf.h: Define symbols without "32" or "64" based
35216 on GRUB_TARGET_WORDSIZE.
35217 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35218 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35219 ELF definitions.
35220 * efiemu/loadcore64.c: Likewise.
35221 * loader/i386/bsd32.c: Likewise.
35222 * loader/i386/bsd64.c: Likewise.
35223 * kern/dl.c: Remove own ELF definitions.
35224 * util/i386/efi/grub-mkimage.c: Likewise.
35225
35226 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35227
35228 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35229 segment 0x0 unconditionally, because the reference generated by
35230 GAS is an absolute address.
35231
35232 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35233
35234 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35235 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35236
35237 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35238
35239 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35240 indexes. Check for -f explicitly.
35241 (search_file): Improve error message.
35242 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
35243
35244 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35245
35246 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35247 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35248
35249 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35250
35251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35252 * conf/i386-ieee1275.rmk: Likewise.
35253 * conf/i386-coreboot.rmk: Likewise.
35254
35255 * kern/i386/pc/startup.S (grub_stop): Remove function.
35256 * kern/i386/ieee1275/startup.S: Likewise.
35257 * kern/i386/coreboot/startup.S: Likewise.
35258 * kern/i386/misc.S (grub_stop): New function.
35259
35260 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35261
35262 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35263 * kern/i386/realmode.S (real_to_prot): ... to here.
35264
35265 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35266
35267 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35268 with `kernel.img'.
35269 (kernel_elf_SOURCES): Rename to ...
35270 (kernel_img_SOURCES): ... this.
35271 (kernel_elf_HEADERS): Rename to ...
35272 (kernel_img_HEADERS): ... this. Update all users.
35273 (kernel_elf_ASFLAGS): Rename to ...
35274 (kernel_img_ASFLAGS): ... this.
35275 (kernel_elf_CFLAGS): Rename to ...
35276 (kernel_img_CFLAGS): ... this.
35277 (kernel_elf_LDFLAGS): Rename to ...
35278 (kernel_img_LDFLAGS): ... this.
35279 * conf/i386-coreboot.rmk: Likewise.
35280 * conf/powerpc-ieee1275.rmk: Likewise.
35281
35282 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35283 with "kernel.img".
35284
35285 2009-06-21 Pavel Roskin <proski@gnu.org>
35286
35287 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35288 to match nested functions.
35289 * loader/sparc64/ieee1275/linux.c: Likewise.
35290
35291 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35292
35293 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35294
35295 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35296 all i386 platforms.
35297
35298 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35299
35300 Fix asm file handling on ELF, and remove workarounds.
35301
35302 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
35303 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
35304 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35305 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35306
35307 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35308
35309 Load BSD ELF modules
35310
35311 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35312 and loader/i386/bsd64.c
35313 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35314 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35315 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35316 (grub_freebsd_load_elfmodule32): New declaration
35317 (grub_freebsd_load_elfmoduleobj64): Likewise
35318 (grub_freebsd_load_elf_meta32): Likewise
35319 (grub_freebsd_load_elf_meta64): Likewise
35320 (grub_freebsd_add_meta): Likewise
35321 (grub_freebsd_add_meta_module): Likewise
35322 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35323 (grub_freebsd_add_meta_module): Likewise and move module-specific
35324 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35325 (grub_cmd_freebsd): Add elf-kernel specific parts
35326 based on grub_freebsd_add_meta_module
35327 (grub_cmd_freebsd_module): Add type parsing moved from
35328 grub_freebsd_add_meta_module
35329 (grub_cmd_freebsd_module_elf): New function
35330 (cmd_freebsd_module_elf): New variable
35331 (GRUB_MOD_INIT): Register freebsd_module_elf
35332 * loader/i386/bsd32.c: New file
35333 * loader/i386/bsd64.c: Likewise
35334 * loader/i386/bsdXX.c: Likewise
35335 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35336 (grub_elf64_load): Likewise
35337 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35338 All users updated
35339 (grub_elf64_load_hook_t): Likewise
35340
35341 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
35342
35343 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35344 variable.
35345 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35346 don't write a menu entry for recovery mode.
35347
35348 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35349
35350 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35351 after it's no longer needed.
35352
35353 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35354
35355 * include/grub/i386/loader.h (grub_linux_prot_size)
35356 (grub_linux_tmp_addr, grub_linux_real_addr)
35357 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35358 GRUB_MACHINE_PCBIOS.
35359 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35360 common grub_util_info() call to ...
35361 (generate_image): ... here.
35362 Fix use of uninitialized memory, comparison of signed with
35363 unsigned integers and memory leak.
35364 Remove bogus module address message.
35365
35366 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35367
35368 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35369 grub_raid_register
35370 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35371
35372 2009-06-19 Pavel Roskin <proski@gnu.org>
35373
35374 * configure.ac: Remove stray AC_MSG_CHECKING.
35375
35376 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35377
35378 * disk/scsi.c (grub_scsi_open): use continue instead of big if
35379
35380 2009-06-18 Pavel Roskin <proski@gnu.org>
35381
35382 * conf/common.rmk: Add fs_file.mod.
35383 * disk/fs_file.c: New file.
35384 * include/grub/disk.h (enum grub_disk_dev_id): Add
35385 GRUB_DISK_DEVICE_FILE_ID.
35386
35387 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35388
35389 Fix build with Apple's toolchain. Part 2
35390
35391 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35392 a fake start
35393
35394 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35395
35396 Fix build with Apple's toolchain. Part 1
35397
35398 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35399 for long calls
35400 * configure.ac: remove a leftover AC_MSG_RESULT
35401 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
35402 Apple's toolchain
35403
35404 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35405
35406 Fix warnings
35407
35408 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35409 (decomp_block): initialize ch
35410 use grub_memcpy instead of memcpy
35411
35412 2009-06-17 Pavel Roskin <proski@gnu.org>
35413
35414 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35415 version, use declarations needed to use vga_text as the startup
35416 console.
35417
35418 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35419 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35420 the kernel.
35421 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35422 and grub_at_keyboard_fini(), it's done on module load and
35423 unload.
35424
35425 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
35426
35427 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35428 file can't be found.
35429 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35430
35431 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35432
35433 Fix newline handling
35434
35435 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
35436 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
35437 (grub_script_yylex): don't segfault on unterminated script
35438 newline terminates command and variable
35439
35440 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35441
35442 avoid double grub_adjust_range call. Bug reported by David Simner
35443
35444 * kern/disk.c (grub_disk_write): change to raw disk access before
35445 calling disk_read
35446
35447 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
35448
35449 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35450 spaces, for the benefit of help2man.
35451 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35452
35453 2009-06-16 Pavel Roskin <proski@gnu.org>
35454
35455 * kern/i386/halt.c: Include grub/machine/init.h.
35456 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35457
35458 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
35459
35460 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35461 drivemap menuentry.
35462
35463 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35464
35465 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35466 `echo' command.
35467
35468 2009-06-16 Pavel Roskin <proski@gnu.org>
35469
35470 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35471 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35472 save %dx, we only need %dl and we never change it.
35473 * boot/i386/pc/cdboot.S: Don't set the root drive.
35474 * boot/i386/pc/pxeboot.S: Likewise.
35475 * include/grub/i386/pc/boot.h: Remove
35476 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35477 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35478 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35479 * kern/i386/pc/init.c (make_install_device): Remove references
35480 to grub_root_drive.
35481 * kern/i386/pc/startup.S: Likewise.
35482 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35483
35484 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35485
35486 xnu_uuid command
35487
35488 * commands/xnu_uuid.c: new file
35489 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35490 (xnu_uuid_mod_SOURCES): new variable
35491 (xnu_uuid_mod_CFLAGS): likewise
35492 (xnu_uuid_mod_LDFLAGS): likewise
35493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35494 * conf/i386-ieee1275.rmk: likewise
35495 * conf/i386-pc.rmk: likewise
35496 * conf/powerpc-ieee1275.rmk: likewise
35497 * conf/sparc64-ieee1275.rmk: likewise
35498 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35499
35500 2009-06-16 Pavel Roskin <proski@gnu.org>
35501
35502 * configure.ac: Avoid '==' in test command, it's not portable.
35503
35504 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35505
35506 Probe command
35507
35508 * commands/probe.c: new file
35509 * conf/common.rmk (pkglib_MODULES): add probe.mod
35510 (probe_mod_SOURCES): new variable
35511 (probe_mod_CFLAGS): likewise
35512 (probe_mod_LDFLAGS): likewise
35513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35514 * conf/i386-ieee1275.rmk: likewise
35515 * conf/i386-pc.rmk: likewise
35516 * conf/powerpc-ieee1275.rmk: likewise
35517 * conf/sparc64-ieee1275.rmk: likewise
35518
35519 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35520
35521 Fix handling of string like \"hello\" and "a
35522 b"
35523
35524 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35525 (grub_script_yylex): fix parsing of quoting, escaping and newline
35526
35527 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35528
35529 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
35530 handling
35531
35532 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
35533
35534 * util/grub-mkconfig.in: Fix parsing of --output option.
35535
35536 2009-06-12 Pavel Roskin <proski@gnu.org>
35537
35538 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35539 genmk.rb don't need to be generated or installed.
35540
35541 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35542
35543 * commands/i386/pc/drivemap_int13h.S: add more comments
35544
35545 2009-06-11 Pavel Roskin <proski@gnu.org>
35546
35547 * Makefile.in (uninstall): Uninstall manuals.
35548
35549 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35550 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35551 and update-grub_lib in two places.
35552 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35553
35554 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35555 a compiler warning.
35556
35557 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35558 `entry_lo' to fix variable shadowing.
35559
35560 2009-06-11 Christian Franke <franke@computer.org>
35561
35562 * kern/misc.c (__enable_execute_stack): Add missing return type
35563 to prevent gcc warning.
35564
35565 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35566
35567 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35568
35569 2009-06-11 Pavel Roskin <proski@gnu.org>
35570
35571 * Makefile.in: Don't rely on any scripts being executable.
35572 Always use $(SHELL) to run shell scripts.
35573
35574 * configure.ac: Always define ___main if using -nostdlib. This
35575 fixes tests on Cygwin.
35576
35577 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35578
35579 UDF fix
35580
35581 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
35582 is in bytes and not in blocks
35583
35584 2009-06-11 Pavel Roskin <proski@gnu.org>
35585
35586 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35587 warning.
35588
35589 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35590
35591 * util/grub.d/30_os-prober.in: Fix a comment. Source
35592 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35593 to set the root device. Place drivemap command in the generated
35594 chain entry.
35595
35596 2009-06-11 Pavel Roskin <proski@gnu.org>
35597
35598 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35599 have long been resolved.
35600
35601 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
35602
35603 * util/grub.d/10_linux.in: Capitalise "Linux".
35604
35605 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35606
35607 2009-06-11 Pavel Roskin <proski@gnu.org>
35608
35609 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35610 fix a gcc warning and ensure that the function won't ever exit.
35611
35612 * kern/i386/ieee1275/init.c: Add missing prototype for
35613 grub_stop_floppy().
35614
35615 * loader/ieee1275/multiboot2.c [__i386__]: Include
35616 grub/cpu/multiboot.h.
35617
35618 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35619 casts to short - they are not portable and cause warnings. Fix
35620 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35621
35622 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35623
35624 Drivemap fixes
35625
35626 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35627 new function
35628 (grub_get_root_biosnumber_saved): new variable
35629 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35630 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
35631 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
35632 %dx after the call if necessary
35633 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35634 (boot_mod_SOURCES): remove
35635 (boot_mod_CFLAGS): remove
35636 (boot_mod_LDFLAGS): remove
35637 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35638 (boot_mod_SOURCES): new variable
35639 (boot_mod_CFLAGS): likewise
35640 (boot_mod_LDFLAGS): likewise
35641 * conf/i386-efi.rmk: likewise
35642 * conf/i386-ieee1275.rmk: likewise
35643 * conf/i386-pc.rmk: likewise
35644 * conf/powerpc-ieee1275.rmk: likewise
35645 * conf/sparc64-ieee1275.rmk: likewise
35646 * conf/x86_64-efi.rmk: likewise
35647 * include/grub/i386/pc/biosnum.h: new file
35648 * lib/i386/pc/biosnum.c: likewise
35649 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35650 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35651 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
35652
35653 2009-06-10 Pavel Roskin <proski@gnu.org>
35654
35655 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35656 Use separate variables. Read only the file size at the end, but
35657 not the checksum that we don't use.
35658
35659 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35660 Adjust all callers.
35661
35662 * kern/ieee1275/openfw.c: Remove libc includes.
35663 * kern/ieee1275/cmain.c: Likewise.
35664 * include/grub/ieee1275/ieee1275.h: Likewise.
35665
35666 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35667 compiler warnings.
35668
35669 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35670
35671 * Makefile.in: Remove all trailing whitespace.
35672 * conf/i386-pc.rmk: Likewise.
35673 * conf/powerpc-ieee1275.rmk: Likewise.
35674 * conf/sparc64-ieee1275.rmk: Likewise.
35675 * docs/grub.texi: Likewise.
35676 * docs/texinfo.tex: Likewise.
35677 * disk/fs_uuid.c: Likewise.
35678 * disk/lvm.c: Likewise.
35679 * disk/scsi.c: Likewise.
35680 * disk/ata.c: Likewise.
35681 * disk/ieee1275/ofdisk.c: Likewise.
35682 * disk/i386/pc/biosdisk.c: Likewise.
35683 * disk/host.c: Likewise.
35684 * disk/raid.c: Likewise.
35685 * disk/efi/efidisk.c: Likewise.
35686 * disk/usbms.c: Likewise.
35687 * disk/memdisk.c: Likewise.
35688 * disk/loopback.c: Likewise.
35689 * kern/powerpc/dl.c: Likewise.
35690 * kern/device.c: Likewise.
35691 * kern/dl.c: Likewise.
35692 * kern/sparc64/dl.c: Likewise.
35693 * kern/ieee1275/ieee1275.c: Likewise.
35694 * kern/term.c: Likewise.
35695 * kern/fs.c: Likewise.
35696 * kern/i386/dl.c: Likewise.
35697 * kern/i386/pc/startup.S: Likewise.
35698 * kern/i386/pc/init.c: Likewise.
35699 * kern/i386/pc/mmap.c: Likewise.
35700 * kern/i386/pc/lzo1x.S: Likewise.
35701 * kern/i386/ieee1275/init.c: Likewise.
35702 * kern/i386/realmode.S: Likewise.
35703 * kern/i386/tsc.c: Likewise.
35704 * kern/partition.c: Likewise.
35705 * kern/corecmd.c: Likewise.
35706 * kern/file.c: Likewise.
35707 * kern/efi/efi.c: Likewise.
35708 * kern/efi/init.c: Likewise.
35709 * kern/efi/mm.c: Likewise.
35710 * kern/main.c: Likewise.
35711 * kern/err.c: Likewise.
35712 * kern/env.c: Likewise.
35713 * kern/disk.c: Likewise.
35714 * kern/generic/millisleep.c: Likewise.
35715 * kern/generic/rtc_get_time_ms.c: Likewise.
35716 * kern/misc.c: Likewise.
35717 * kern/parser.c: Likewise.
35718 * genmk.rb: Likewise.
35719 * configure.ac: Likewise.
35720 * boot/i386/pc/diskboot.S: Likewise.
35721 * boot/i386/pc/pxeboot.S: Likewise.
35722 * boot/i386/pc/boot.S: Likewise.
35723 * boot/i386/pc/lnxboot.S: Likewise.
35724 * boot/i386/pc/cdboot.S: Likewise.
35725 * parttool/pcpart.c: Likewise.
35726 * video/readers/tga.c: Likewise.
35727 * video/video.c: Likewise.
35728 * video/bitmap.c: Likewise.
35729 * lib/envblk.c: Likewise.
35730 * lib/i386/setjmp.S: Likewise.
35731 * fs/xfs.c: Likewise.
35732 * fs/afs.c: Likewise.
35733 * fs/fat.c: Likewise.
35734 * fs/ntfs.c: Likewise.
35735 * fs/udf.c: Likewise.
35736 * fs/affs.c: Likewise.
35737 * fs/iso9660.c: Likewise.
35738 * fs/hfs.c: Likewise.
35739 * fs/fshelp.c: Likewise.
35740 * fs/ext2.c: Likewise.
35741 * fs/jfs.c: Likewise.
35742 * fs/reiserfs.c: Likewise.
35743 * fs/hfsplus.c: Likewise.
35744 * fs/minix.c: Likewise.
35745 * fs/cpio.c: Likewise.
35746 * fs/sfs.c: Likewise.
35747 * fs/ufs.c: Likewise.
35748 * efiemu/prepare.c: Likewise.
35749 * efiemu/loadcore_common.c: Likewise.
35750 * efiemu/runtime/efiemu.sh: Likewise.
35751 * efiemu/runtime/efiemu.S: Likewise.
35752 * efiemu/runtime/efiemu.c: Likewise.
35753 * efiemu/pnvram.c: Likewise.
35754 * efiemu/main.c: Likewise.
35755 * efiemu/i386/pc/cfgtables.c: Likewise.
35756 * efiemu/i386/loadcore64.c: Likewise.
35757 * efiemu/i386/loadcore32.c: Likewise.
35758 * efiemu/loadcore.c: Likewise.
35759 * efiemu/symbols.c: Likewise.
35760 * efiemu/mm.c: Likewise.
35761 * include/grub/autoefi.h: Likewise.
35762 * include/grub/datetime.h: Likewise.
35763 * include/grub/term.h: Likewise.
35764 * include/grub/hfs.h: Likewise.
35765 * include/grub/lvm.h: Likewise.
35766 * include/grub/i386/tsc.h: Likewise.
35767 * include/grub/i386/linux.h: Likewise.
35768 * include/grub/i386/xnu.h: Likewise.
35769 * include/grub/i386/efiemu.h: Likewise.
35770 * include/grub/i386/pc/biosdisk.h: Likewise.
35771 * include/grub/i386/pc/memory.h: Likewise.
35772 * include/grub/i386/pc/vbe.h: Likewise.
35773 * include/grub/parttool.h: Likewise.
35774 * include/grub/video.h: Likewise.
35775 * include/grub/memory.h: Likewise.
35776 * include/grub/fs.h: Likewise.
35777 * include/grub/partition.h: Likewise.
35778 * include/grub/xnu.h: Likewise.
35779 * include/grub/efi/api.h: Likewise.
35780 * include/grub/efi/pe32.h: Likewise.
35781 * include/grub/efi/memory.h: Likewise.
35782 * include/grub/multiboot.h: Likewise.
35783 * include/grub/usbdesc.h: Likewise.
35784 * include/grub/multiboot2.h: Likewise.
35785 * include/grub/acpi.h: Likewise.
35786 * include/grub/efiemu/efiemu.h: Likewise.
35787 * include/grub/disk.h: Likewise.
35788 * include/grub/ieee1275/ieee1275.h: Likewise.
35789 * include/grub/net.h: Likewise.
35790 * include/grub/machoload.h: Likewise.
35791 * include/grub/macho.h: Likewise.
35792 * include/multiboot.h: Likewise.
35793 * genmoddep.awk: Likewise.
35794 * normal/main.c: Likewise.
35795 * normal/menu_entry.c: Likewise.
35796 * normal/menu_viewer.c: Likewise.
35797 * normal/completion.c: Likewise.
35798 * normal/cmdline.c: Likewise.
35799 * normal/misc.c: Likewise.
35800 * normal/datetime.c: Likewise.
35801 * bus/usb/usbtrans.c: Likewise.
35802 * bus/usb/ohci.c: Likewise.
35803 * bus/usb/uhci.c: Likewise.
35804 * bus/usb/usb.c: Likewise.
35805 * mmap/efi/mmap.c: Likewise.
35806 * mmap/i386/pc/mmap_helper.S: Likewise.
35807 * mmap/i386/pc/mmap.c: Likewise.
35808 * mmap/i386/mmap.c: Likewise.
35809 * mmap/i386/uppermem.c: Likewise.
35810 * mmap/mmap.c: Likewise.
35811 * commands/acpi.c: Likewise.
35812 * commands/echo.c: Likewise.
35813 * commands/blocklist.c: Likewise.
35814 * commands/loadenv.c: Likewise.
35815 * commands/usbtest.c: Likewise.
35816 * commands/boot.c: Likewise.
35817 * commands/parttool.c: Likewise.
35818 * commands/search.c: Likewise.
35819 * commands/cat.c: Likewise.
35820 * commands/i386/pc/play.c: Likewise.
35821 * commands/i386/pc/drivemap.c: Likewise.
35822 * commands/i386/pc/vbeinfo.c: Likewise.
35823 * commands/i386/pc/acpi.c: Likewise.
35824 * commands/i386/pc/vbetest.c: Likewise.
35825 * commands/ls.c: Likewise.
35826 * commands/cmp.c: Likewise.
35827 * commands/test.c: Likewise.
35828 * commands/efi/acpi.c: Likewise.
35829 * commands/gptsync.c: Likewise.
35830 * commands/help.c: Likewise.
35831 * partmap/amiga.c: Likewise.
35832 * partmap/apple.c: Likewise.
35833 * partmap/acorn.c: Likewise.
35834 * partmap/pc.c: Likewise.
35835 * partmap/sun.c: Likewise.
35836 * partmap/gpt.c: Likewise.
35837 * script/sh/lexer.c: Likewise.
35838 * script/sh/function.c: Likewise.
35839 * font/font.c: Likewise.
35840 * font/font_cmd.c: Likewise.
35841 * loader/powerpc/ieee1275/linux.c: Likewise.
35842 * loader/efi/chainloader.c: Likewise.
35843 * loader/multiboot_loader.c: Likewise.
35844 * loader/macho.c: Likewise.
35845 * loader/i386/multiboot.c: Likewise.
35846 * loader/i386/linux.c: Likewise.
35847 * loader/i386/pc/linux.c: Likewise.
35848 * loader/i386/pc/multiboot2.c: Likewise.
35849 * loader/i386/pc/chainloader.c: Likewise.
35850 * loader/i386/pc/xnu.c: Likewise.
35851 * loader/i386/bsd_trampoline.S: Likewise.
35852 * loader/i386/efi/linux.c: Likewise.
35853 * loader/i386/multiboot_elfxx.c: Likewise.
35854 * loader/i386/bsd_helper.S: Likewise.
35855 * loader/i386/bsd.c: Likewise.
35856 * loader/i386/linux_trampoline.S: Likewise.
35857 * loader/i386/xnu_helper.S: Likewise.
35858 * loader/i386/xnu.c: Likewise.
35859 * loader/i386/bsd_pagetable.c: Likewise.
35860 * loader/i386/multiboot_helper.S: Likewise.
35861 * loader/xnu.c: Likewise.
35862 * loader/xnu_resume.c: Likewise.
35863 * io/gzio.c: Likewise.
35864 * term/efi/console.c: Likewise.
35865 * term/terminfo.c: Likewise.
35866 * term/ieee1275/ofconsole.c: Likewise.
35867 * term/i386/pc/serial.c: Likewise.
35868 * term/i386/pc/vesafb.c: Likewise.
35869 * term/i386/pc/vga.c: Likewise.
35870 * term/usb_keyboard.c: Likewise.
35871 * term/gfxterm.c: Likewise.
35872 * aclocal.m4: Likewise.
35873 * util/lvm.c: Likewise.
35874 * util/grub.d/30_os-prober.in: Likewise.
35875 * util/grub.d/10_hurd.in: Likewise.
35876 * util/console.c: Likewise.
35877 * util/grub-macho2img.c: Likewise.
35878 * util/grub-probe.c: Likewise.
35879 * util/hostfs.c: Likewise.
35880 * util/i386/pc/grub-mkimage.c: Likewise.
35881 * util/i386/pc/grub-setup.c: Likewise.
35882 * util/i386/efi/grub-mkimage.c: Likewise.
35883 * util/grub-mkconfig.in: Likewise.
35884 * util/raid.c: Likewise.
35885 * util/resolve.c: Likewise.
35886 * util/grub-mkdevicemap.c: Likewise.
35887 * util/grub-emu.c: Likewise.
35888 * util/getroot.c: Likewise.
35889 * util/hostdisk.c: Likewise.
35890 * util/usb.c: Likewise.
35891 * util/grub-editenv.c: Likewise.
35892 * util/misc.c: Likewise.
35893
35894 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35895
35896 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35897 `genparttoollist.sh'.
35898 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35899 Add `*.sh' to the list find searches for and change `mdate.sh'
35900 to `mdate-sh'.
35901
35902 2009-06-10 Pavel Roskin <proski@gnu.org>
35903
35904 * include/grub/multiboot2.h: Provide compatibility defines for
35905 multiboot2.h.
35906 * include/multiboot2.h: Include stdint.h only if needed, using
35907 angle brackets.
35908 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35909 grub/multiboot2.h.
35910 * loader/ieee1275/multiboot2.c: Likewise.
35911 * loader/multiboot2.c: Likewise.
35912 * loader/multiboot_loader.c: Likewise.
35913
35914 * configure.ac: Use -nostdlib when probing for the target. It
35915 should not be required to have libc for the target.
35916
35917 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35918 they fail without libc headers for the target.
35919 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35920 exports.
35921 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35922 preprocessor conditionals.
35923
35924 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35925 build system doesn't need to be aware of the tar.c internals.
35926
35927 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
35928
35929 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
35930
35931 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35932
35933 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35934 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35935
35936 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
35937
35938 * util/i386/pc/grub-install.in: Change the error message if UUIDs
35939 aren't available if ata.mod gets used.
35940
35941 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
35942
35943 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
35944 initialising controller.
35945 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35946
35947 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35948
35949 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35950 to choose between ata and biosdisk module on i386-pc.
35951
35952 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
35953
35954 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35955 Subclass and Programming Interface fields in terms of the 3 byte
35956 Class Code register.
35957 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35958
35959 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35960 interface is OHCI. Add grub_dprintf for symmetry with
35961 bus/usb/uhci.c.
35962 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35963 interface is UHCI. Add interf variable for programming
35964 interface. Print interface with class/subclass.
35965
35966 * bus/usb/ohci.c: Set interf with correct field.
35967
35968 * bus/usb/uhci.c: Remove unneeded doubled lines.
35969 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35970 Remove whitespace inside comment.
35971
35972 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35973
35974 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35975 as fallback an equivalent option without depth.
35976
35977 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35978
35979 Not fail if unable to retrieve C/H/S on LBA disks
35980
35981 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
35982 if unable to retrieve C/H/S on LBA disks
35983
35984 2009-06-08 Pavel Roskin <proski@gnu.org>
35985
35986 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35987 about aliasing.
35988
35989 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35990
35991 * Makefile.in (uninstall): Remove all $lib_DATA files.
35992
35993 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35994
35995 Bugfix: install on partitionless device
35996
35997 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35998 is a whole disk
35999
36000 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36001
36002 * Makefile.in (uninstall): Remove all $include_DATA files.
36003
36004 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36005
36006 * commands/true.c: New file. Implement the true and false commands.
36007 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36008 (true_mod_SOURCES): New variable.
36009 (true_mod_CFLAGS): Likewise.
36010 (true_mod_LDFLAGS): Likewise.
36011
36012 2009-06-05 Colin D Bennett <colin@gibibit.com>
36013
36014 Optimized font character lookup using binary search instead of linear
36015 search. Fonts now are required to have the character index ordered by
36016 code point.
36017
36018 * font/font.c (load_font_index): Verify that fonts have ordered
36019 character indices.
36020 (find_glyph): Use binary search instead of linear search to find a
36021 character in a font.
36022
36023 2009-06-05 Michael Scherer <misc@mandriva.org>
36024
36025 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36026 uses case sensitive btree.
36027 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36028 only for case insensitive filesystems.
36029
36030 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36031
36032 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36033 * conf/common.rmk (search_mod_CFLAGS): likewise
36034
36035 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36036
36037 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
36038 compensate a compiler bug
36039
36040 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36041
36042 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
36043 instead of '\b'
36044
36045 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36046
36047 Definitions for creating asm symbols with Apple's CC
36048
36049 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36050 [APPLE_CC] (VARIABLE): likewise
36051
36052 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36053
36054 Disable lnxboot.img when compiled
36055 with Apple's CC
36056
36057 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36058 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36059 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36060 [! APPLE_CC] (CODE_LENG): skip
36061 [! APPLE_CC] (setup_sects): likewise
36062 [! APPLE_CC]: skip filling
36063
36064 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36065
36066 Address in trampolines based on 32-bit registers when compiled
36067 with Apple's CC
36068
36069 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
36070 for addresses
36071 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36072
36073 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36074
36075 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36076
36077 * kern/misc.c [APPLE_CC] (memcpy): new function
36078 [APPLE_CC] (memmove): likewise
36079 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
36080 (memcpy): define alias conditionally on !APPLE_CC
36081 (memset): likewise
36082 (abort): likewise
36083 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36084 APPLE_CC are defined
36085 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36086 (grub_assert_fail): make prototype conditional
36087
36088 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36089
36090 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36091
36092 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36093 grub-macho2img
36094 (CLEANFILES): add grub-macho2img
36095 (grub_macho2img_SOURCES): new variable
36096 * kern/i386/pc/startup.S (bss_start): new variable
36097 (bss_end): likewise
36098 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36099 * util/grub-macho2img.c: new file
36100
36101 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36102
36103 Use objconv when compiling with Apple's CC
36104
36105 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36106 (efiemu64.o): likewise
36107 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36108 when compiling with Apple's CC
36109 (efiemu64_s.o): likewise
36110 * configure.ac: check for objconv when compiling with Apple's CC
36111 * genmk.rb: use objconv for modules when compiled with Apple's CC
36112
36113 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36114
36115 Define segment as well as section when compiling with
36116 Apple's CC
36117
36118 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36119 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36120 (efiemu_convert_pointer): likewise
36121 (efiemu_set_virtual_address_map): likewise
36122 (efiemu_convert_pointer): likewise
36123 (efiemu_getcrc32): likewise
36124 (init_crc32_table): likewise
36125 (reflect): likewise
36126 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36127 (GRUB_MOD_DEP): likewise
36128
36129 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36130
36131 Allow a compilation without -mcmodel=large
36132
36133 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36134 when compiled without -mcmodel=large
36135 (filter_memory_map): remove memory post 4 GiB when compiled
36136 without -mcmodel=large
36137 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
36138 TARGET_CFLAGS when -mcmodel=large isn't supported
36139
36140 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36141
36142 Remove nested functions in efiemu core
36143
36144 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
36145
36146 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36147
36148 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36149
36150 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36151 temporary storage
36152 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36153 using Apple's CC
36154 (grub_cpu_is_tsc_supported): likewise
36155 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
36156
36157 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36158
36159 Absolute addressing through constant with Apple's cc
36160
36161 * kern/i386/pc/startup.S: Define necessary constants
36162 and address through it when using ABS with Apple's CC
36163 * boot/i386/pc/diskboot.S: likewise
36164 * boot/i386/pc/boot.S: likewise
36165 * boot/i386/pc/lnxboot.S: likewise
36166 * boot/i386/pc/cdboot.S: likewise
36167 * mmap/i386/pc/mmap_helper.S: likewise
36168 * commands/i386/pc/drivemap_int13h.S: likewise
36169
36170 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36171
36172 Check if compiler is apple cc
36173
36174 * Makefile.in (ASFLAGS): new variable
36175 (TARGET_ASFLAGS): likewise
36176 (TARGET_MODULE_FORMAT): likewise
36177 (TARGET_APPLE_CC): likewise
36178 (OBJCONV): likewise
36179 (TARGET_IMG_CFLAGS): likewise
36180 (TARGET_CPPFLAGS): add includedir
36181 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36182 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36183 Check for linker script only if compiler isn't Apple's CC
36184 (TARGET_MODULE_FORMAT): set
36185 (TARGET_APPLE_CC): likewise
36186 (TARGET_ASFLAGS): likewise
36187 (ASFLAGS): likewise
36188 Check for objcopy only if compiler isn't Apple's CC
36189 Check for BSS symbol only if compiler isn't Apple's CC
36190 * genmk.rb: adapt nm options if we use Apple's utils
36191 * aclocal.m4 (grub_apple_cc): new test
36192 (grub_apple_target_cc): likewise
36193
36194 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36195
36196 Simplify sed expressions and improve awk
36197
36198 * Makefile.in (install-local): simplify sed expression
36199 * gencmdlist.sh: likewise
36200 * genmoddep.awk: avoid adding module as a dependency of itself
36201
36202 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36203
36204 Add missing start symbols
36205
36206 * boot/i386/pc/boot.S: add start
36207 * boot/i386/pc/pxeboot.S: likewise
36208
36209 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36210
36211 Fix wrong assumptions with grub-mkimage on EFI
36212
36213 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
36214 (relocate_addresses): consider both r_addend and value at offset
36215 (make_mods_section): zerofill modinfo and header
36216 (convert_elf): write prefix here
36217
36218 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36219
36220 Use .asciz instead of .string
36221
36222 * i386/pc/diskboot.S: use .asciz instead of .string
36223 * i386/pc/boot.S: likewise
36224 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36225 (GRUB_MOD_NAME): likewise
36226
36227 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36228
36229 gfxpayload support
36230
36231 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36232 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36233 (grub_video_setup): remove
36234 (grub_video_set_mode): new prototype
36235 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36236 (vid_mode): remove
36237 (linux_vesafb_res): compile only on PCBIOS
36238 (grub_linux_boot): support gfxpayload
36239 * loader/i386/pc/xnu.c (video_hook): new function
36240 (grub_xnu_set_video): support gfxpayload
36241 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36242 (DEFAULT_VIDEO_HEIGHT): likewise
36243 (DEFAULT_VIDEO_FLAGS): likewise
36244 (DEFAULT_VIDEO_MODE): new definition
36245 (video_hook): new function
36246 (grub_gfxterm_init): use grub_video_set_mode
36247 * util/grub.d/30_os-prober.in: remove explicit modesetting before
36248 loading xnu
36249 * video/video.c (grub_video_setup): removed
36250 (grub_video_set_mode): new function based on grub_gfxterm_init and
36251 grub_video_setup
36252
36253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36254
36255 Avoid calling biosdisk in drivemap
36256
36257 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36258 (revparse_biosdisk): likewise
36259 (list_mappings): derive name from id directly
36260 (grub_cmd_drivemap): use tryparse_diskstring
36261
36262 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36263
36264 Script fixes
36265
36266 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36267 (grub_lexer_param): add tokenonhold
36268 (grub_script_create_cmdline): remove cmdline. All callers updated
36269 (grub_script_function_create): make functionname
36270 grub_script_arg. All callers updated
36271 (grub_script_execute_argument_to_string): new prototype
36272 * kern/parser.c (state_transitions): reorder
36273 (grub_parser_cmdline_state): fix a bug and make more compact
36274 * script/sh/execute.c (grub_script_execute_argument_to_string):
36275 make global
36276 (grub_script_execute_cmdline): use new format
36277 * script/sh/function.c (grub_script_function_create): make functionname
36278 grub_script_arg. All callers updated
36279 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
36280 (grub_script_yylex): remove
36281 (grub_script_yylex2): renamed to ...
36282 (grub_script_yylex): ...renamed
36283 parse the expressions like a${b}c
36284 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36285 (GRUB_PARSER_TOKEN_VAR): remove
36286 (GRUB_PARSER_TOKEN_NAME): likewise
36287 ("if"): declare as typeless
36288 ("while"): likewise
36289 ("function"): likewise
36290 ("else"): likewise
36291 ("then"): likewise
36292 ("fi"): likewise
36293 (text): remove
36294 (argument): likewise
36295 (script): accept empty scripts and make exit on error
36296 (arguments): use GRUB_PARSER_TOKEN_ARG
36297 (function): likewise
36298 (command): move error handling to script
36299 (menuentry): move grub_script_lexer_ref before
36300 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
36301 argument. All callers updated
36302
36303 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36304
36305 Prevent GRUB from probing floppies during boot.
36306
36307 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36308 * commands/search.c (options): Add --no-floppy.
36309 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36310 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36311 --no-floppy when searching for UUIDs.
36312
36313 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36314
36315 Simplify the code duplication in commands/search.c.
36316
36317 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36318 (search_fs): ... this. Update all users.
36319
36320 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
36321
36322 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36323
36324 2009-05-28 Pavel Roskin <proski@gnu.org>
36325
36326 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36327 Remove the original symlink explicitly.
36328
36329 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36330 just one slash. That's how grub_fshelp_find_file() does it.
36331
36332 2009-05-26 Pavel Roskin <proski@gnu.org>
36333
36334 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36335 to `str'.
36336
36337 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36338 possibly unused.
36339
36340 2009-05-25 Christian Franke <franke@computer.org>
36341
36342 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36343 register.
36344 (grub_atapi_identify): Add wait after drive select.
36345 (grub_ata_identify): Do more strict status register check before
36346 calling grub_atapi_identify (). Suppress error message if status
36347 register is 0x00 after command failure. Add status register
36348 check after PIO read to avoid bogus identify due to stuck DRQ.
36349 Thanks to Pavel Roskin for testing.
36350 (grub_device_initialize): Remove unsafe status register check.
36351 Thanks to 'phcoder' for problem report and patch.
36352 Prevent sign extension in debug message.
36353
36354 2009-05-23 Colin D Bennett <colin@gibibit.com>
36355
36356 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36357 definition file, and functions defined in `normal/menu.c' have had
36358 their prototypes moved to `include/grub/menu.h' for consistency.
36359
36360 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36361 from normal.h.
36362 (grub_menu_get_entry): Likewise.
36363 (grub_menu_get_timeout): Likewise.
36364 (grub_menu_set_timeout): Likewise.
36365 (grub_menu_execute_entry): Likewise.
36366 (grub_menu_execute_with_fallback): Likewise.
36367 (grub_menu_entry_run): Likewise.
36368
36369 * include/grub/normal.h: Re-ordered and grouped function
36370 prototypes by file that the function is defined in.
36371 (grub_menu_execute_callback): Removed; moved to menu.h.
36372 (grub_menu_get_entry): Likewise.
36373 (grub_menu_get_timeout): Likewise.
36374 (grub_menu_set_timeout): Likewise.
36375 (grub_menu_execute_entry): Likewise.
36376 (grub_menu_execute_with_fallback): Likewise.
36377 (grub_menu_entry_run): Likewise.
36378 (grub_menu_addentry): Renamed from this ...
36379 (grub_normal_add_menu_entry): ... to this.
36380
36381 * normal/main.c (grub_menu_addentry): Renamed from this ...
36382 (grub_normal_add_menu_entry): ... to this.
36383
36384 * script/sh/execute.c (grub_script_execute_menuentry): Update
36385 reference to renamed grub_menu_addentry function.
36386
36387 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
36388
36389 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36390
36391 2009-05-22 Pavel Roskin <proski@gnu.org>
36392
36393 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36394 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36395 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36396 compiling for the i386 targets, but not for the utilities.
36397
36398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36399 to grub_uint8_t.
36400 (grub_root_drive): Likewise.
36401 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36402 remove alignment.
36403 (grub_root_drive): Change size to byte.
36404 (grub_start_addr): Remove.
36405 (grub_end_addr): Likewise.
36406 (grub_apm_bios_info): Likewise.
36407
36408 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
36409
36410 * normal/i386: Remove.
36411 * normal/powerpc: Likewise.
36412 * normal/sparc64: Likewise.
36413 * normal/x86_64: Likewise.
36414
36415 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36416
36417 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
36418 * loader/i386/linux_trampoline.S: Fix indentation
36419 * loader/i386/xnu_helper.S: Likewise
36420
36421 2009-05-18 Colin D Bennett <colin@gibibit.com>
36422
36423 Display error messages when parsing a Lua statement fails.
36424 Previously, executing a syntactically invalid statement like
36425 ")foo" or "bar;" would silently fail.
36426
36427 * script/lua/grub_main.c (handle_lua_error): New function.
36428 (grub_lua_parse_line): Improved reporting of Lua parser and
36429 execution errors.
36430
36431 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36432
36433 Remove -Werror which causes build to fail on some systems
36434
36435 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36436 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36437 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
36438
36439 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36440
36441 trampoline for linux on 64-bit platform
36442
36443 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36444 loader/i386/efi/linux_trampoline.S
36445 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
36446 declaration
36447 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36448 here
36449 * loader/i386/linux_trampoline.S: moved here
36450 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36451 trampoline
36452 (jumpvector): removed
36453 (grub_linux_trampoline_start): new declaration
36454 (grub_linux_trampoline_end): likewise
36455 (grub_linux_boot): use trampoline when on 64-bit platform
36456 * loader/i386/linux.c: likewise
36457
36458 2009-05-16 Pavel Roskin <proski@gnu.org>
36459
36460 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36461 const to avoid a warning.
36462 (grub_lua_setenv): Likewise.
36463 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36464 lmsg to fix a warning.
36465
36466 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36467
36468 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
36469 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36470 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36471 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36472 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36473 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36474 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36475 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36476
36477 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36478
36479 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36480
36481 2009-05-16 Bean <bean123ch@gmail.com>
36482
36483 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36484 (lua_mod_SOURCES): New variable.
36485 (lua_mod_CFLAGS): Likewise.
36486 (lua_mod_LDFLAGS): Likewise.
36487
36488 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36489 (setjmp_mod_SOURCES): New variable.
36490 (setjmp_mod_CFLAGS): Likewise.
36491 (setjmp_LDFLAGS): Likewise.
36492
36493 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36494 (setjmp_mod_SOURCES): New variable.
36495 (setjmp_mod_CFLAGS): Likewise.
36496 (setjmp_LDFLAGS): Likewise.
36497
36498 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36499 (setjmp_mod_SOURCES): New variable.
36500 (setjmp_mod_CFLAGS): Likewise.
36501 (setjmp_LDFLAGS): Likewise.
36502
36503 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36504 (setjmp_mod_SOURCES): New variable.
36505 (setjmp_mod_CFLAGS): Likewise.
36506 (setjmp_LDFLAGS): Likewise.
36507
36508 * normal/i386/setjmp.S: Moved from here ...
36509 * lib/i386/setjmp.S: ... Moved here
36510 * normal/x86_64/setjmp.S: Moved from here ...
36511 * lib/x86_64/setjmp.S: ... Moved here
36512 * normal/powerpc/setjmp.S: Moved from here ...
36513 * lib/powerpc/setjmp.S: ... Moved here
36514 * normal/sparc64/setjmp.S: Moved from here ...
36515 * lib/sparc64/setjmp.S: ... Moved here
36516
36517 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36518 returns_twice in mingw.
36519
36520 * script/lua/grub_lib.c: New file.
36521 * script/lua/grub_lib.h: Likewise.
36522 * script/lua/grub_lua.h: Likewise.
36523 * script/lua/grub_main.c: Likewise.
36524 * script/lua/lapi.c: Likewise.
36525 * script/lua/lapi.h: Likewise.
36526 * script/lua/lauxlib.c: Likewise.
36527 * script/lua/lauxlib.h: Likewise.
36528 * script/lua/lbaselib.c: Likewise.
36529 * script/lua/lcode.c: Likewise.
36530 * script/lua/lcode.h: Likewise.
36531 * script/lua/ldblib.c: Likewise.
36532 * script/lua/ldebug.c: Likewise.
36533 * script/lua/ldebug.h: Likewise.
36534 * script/lua/ldo.c: Likewise.
36535 * script/lua/ldo.h: Likewise.
36536 * script/lua/ldump.c: Likewise.
36537 * script/lua/lfunc.c: Likewise.
36538 * script/lua/lfunc.h: Likewise.
36539 * script/lua/lgc.c: Likewise.
36540 * script/lua/lgc.h: Likewise.
36541 * script/lua/linit.c: Likewise.
36542 * script/lua/liolib.c: Likewise.
36543 * script/lua/llex.c: Likewise.
36544 * script/lua/llex.h: Likewise.
36545 * script/lua/llimits.h: Likewise.
36546 * script/lua/lmathlib.c: Likewise.
36547 * script/lua/lmem.c: Likewise.
36548 * script/lua/lmem.h: Likewise.
36549 * script/lua/loadlib.c: Likewise.
36550 * script/lua/lobject.c: Likewise.
36551 * script/lua/lobject.h: Likewise.
36552 * script/lua/lopcodes.c: Likewise.
36553 * script/lua/lopcodes.h: Likewise.
36554 * script/lua/loslib.c: Likewise.
36555 * script/lua/lparser.c: Likewise.
36556 * script/lua/lparser.h: Likewise.
36557 * script/lua/lstate.c: Likewise.
36558 * script/lua/lstate.h: Likewise.
36559 * script/lua/lstring.c: Likewise.
36560 * script/lua/lstring.h: Likewise.
36561 * script/lua/lstrlib.c: Likewise.
36562 * script/lua/ltable.c: Likewise.
36563 * script/lua/ltable.h: Likewise.
36564 * script/lua/ltablib.c: Likewise.
36565 * script/lua/ltm.c: Likewise.
36566 * script/lua/ltm.h: Likewise.
36567 * script/lua/lua.h: Likewise.
36568 * script/lua/luaconf.h: Likewise.
36569 * script/lua/lualib.h: Likewise.
36570 * script/lua/lundump.c: Likewise.
36571 * script/lua/lundump.h: Likewise.
36572 * script/lua/lvm.c: Likewise.
36573 * script/lua/lvm.h: Likewise.
36574 * script/lua/lzio.c: Likewise.
36575 * script/lua/lzio.h: Likewise.
36576
36577 2009-05-16 Bean <bean123ch@gmail.com>
36578
36579 * include/grub/kernel.h (grub_module_header_types): Add type
36580 OBJ_TYPE_CONFIG.
36581
36582 * kern/main.c (grub_load_config): New function.
36583 (grub_main): Call grub_load_config to read boot config.
36584
36585 * grub-mkimage (generate_image): New parameter config_path.
36586 (options): New option --config.
36587 (main): Parse --config option, and pass it to generate_image.
36588
36589 2009-05-14 Christian Franke <franke@computer.org>
36590
36591 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36592 This fixes build on Cygwin.
36593
36594 2009-05-14 Pavel Roskin <proski@gnu.org>
36595
36596 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36597 jump. This saves two bytes, so the typical case of 2 swapped
36598 drives would fit 32 bytes.
36599
36600 2009-05-13 Pavel Roskin <proski@gnu.org>
36601
36602 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36603 grub_uint32_t to avoid a warning.
36604
36605 * loader/i386/linux.c (allocate_pages): When assigning
36606 real_mode_mem, cast through grub_size_t to fix a warning. The
36607 code already makes sure that the value would fit a pointer.
36608 (grub_linux_setup_video): Cast render_target->data to
36609 grub_size_t to fix a warning.
36610
36611 2009-05-13 Javier Martín <lordhabbit@gmail.com>
36612
36613 * commands/i386/pc/drivemap.c: New file - implement drivemap
36614 command.
36615 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36616 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36617
36618 2009-05-13 Pavel Roskin <proski@gnu.org>
36619
36620 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36621 embedding_area_exists.
36622
36623 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36624
36625 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36626 it easier to understand / work with.
36627 Improve warning messages for cases where there's no embedding area,
36628 or when it is too small (or core.img too large).
36629
36630 2009-05-13 Pavel Roskin <proski@gnu.org>
36631
36632 * loader/i386/pc/multiboot2.c: Add necessary includes for
36633 grub_multiboot2_real_boot().
36634
36635 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36636 PX record is always little-endian. We only need the lower 2
36637 bytes of the mode.
36638
36639 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36640 facilitate code reuse.
36641 (grub_cpio_mount): Use "struct head", not a char buffer. This
36642 fixes a warning reported by gcc 4.4.
36643
36644 * kernel/disk.c (grub_disk_read): Use void pointer for the
36645 buffer.
36646 (grub_disk_write): Use const void pointer for the buffer.
36647 Adjust all callers. Remove unnecessary casts.
36648
36649 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36650
36651 * util/i386/pc/grub-install.in: Update copyright year.
36652
36653 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36654
36655 gptsync
36656
36657 * commands/gptsync.c: new file
36658 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36659 (gptsync_mod_SOURCES): new variable
36660 (gptsync_mod_CFLAGS): likewise
36661 (gptsync_mod_LDFLAGS): likewise
36662 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
36663 new definition
36664 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36666 * conf/i386-ieee1275.rmk: likewise
36667 * conf/i386-pc.rmk: likewise
36668 * conf/powerpc-ieee1275.rmk: likewise
36669
36670 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36671
36672 Fixed grub-emu
36673
36674 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36675 (grub_dl_ref): likewise
36676
36677 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36678
36679 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36680 split in two functions (one for msdos and one for gpt).
36681
36682 2009-05-08 Pavel Roskin <proski@gnu.org>
36683
36684 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36685 not modified.
36686
36687 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36688 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36689 Initialize them with -1. Add sanity check for bad1. Eliminate
36690 nerr variable.
36691
36692 2009-05-08 David S. Miller <davem@davemloft.net>
36693
36694 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36695
36696 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36697
36698 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
36699 existence.
36700
36701 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
36702
36703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36704 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
36705
36706 2009-05-05 David S. Miller <davem@davemloft.net>
36707
36708 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36709
36710 2009-05-05 Pavel Roskin <proski@gnu.org>
36711
36712 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36713 of grub_dl_ref() and grub_dl_unref().
36714 * commands/parttool.c: Remove preprocessor conditionals around
36715 grub_dl_ref() and grub_dl_unref().
36716 * fs/affs.c: Likewise.
36717 * fs/afs.c: Likewise.
36718 * fs/cpio.c: Likewise.
36719 * fs/ext2.c: Likewise.
36720 * fs/fat.c: Likewise.
36721 * fs/hfs.c: Likewise.
36722 * fs/hfsplus.c: Likewise.
36723 * fs/iso9660.c: Likewise.
36724 * fs/jfs.c: Likewise.
36725 * fs/minix.c: Likewise.
36726 * fs/ntfs.c: Likewise.
36727 * fs/reiserfs.c: Likewise.
36728 * fs/sfs.c: Likewise.
36729 * fs/udf.c: Likewise.
36730 * fs/ufs.c: Likewise.
36731 * fs/xfs.c: Likewise.
36732 * include/grub/dl.h: Likewise.
36733 * loader/xnu.c: Likewise.
36734
36735 2009-05-04 Pavel Roskin <proski@gnu.org>
36736
36737 * commands/acpi.c: Remove unused variable my_mod.
36738 * partmap/amiga.c: Likewise.
36739 * partmap/apple.c: Likewise.
36740 * partmap/gpt.c: Likewise.
36741 * partmap/pc.c: Likewise.
36742 * partmap/sun.c: Likewise.
36743 * term/gfxterm.c: Likewise.
36744 * term/i386/pc/vesafb.c: Likewise.
36745 * term/i386/pc/vga.c: Likewise.
36746
36747 2009-05-04 David S. Miller <davem@davemloft.net>
36748
36749 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36750 pointer args to grub_ieee1275_get_property().
36751
36752 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36753
36754 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36755 devices, and do not traverse down under controller nodes.
36756
36757 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36758 (grub_ofdisk_open): Use it to un-escape "," characters.
36759 * kern/disk.c (find_part_sep): New.
36760 (grub_disk_open): Use it to find the first non-escaped ','
36761 character in the disk name.
36762 * util/ieee1275/devicemap.c (escape_of_path): New.
36763 (grub_util_emit_devicemap_entry): Use it.
36764 * util/sparc64/ieee1275/grub-install.in: Update script to
36765 strip partition specifiers properly by not triggering on
36766 '\' escaped ',' characters.
36767
36768 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36769
36770 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36771 to 0x300.
36772 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36773 resolutions.
36774 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36775 on documentation from Wikipedia).
36776
36777 2009-05-04 Pavel Roskin <proski@gnu.org>
36778
36779 * disk/ata.c: Spelling fixes.
36780 * disk/raid.c: Likewise.
36781 * disk/usbms.c: Likewise.
36782 * disk/dmraid_nvidia.c: Likewise.
36783 * kern/ieee1275/openfw.c: Likewise.
36784 * kern/ieee1275/init.c: Likewise.
36785 * kern/ieee1275/cmain.c: Likewise.
36786 * boot/i386/pc/cdboot.S: Likewise.
36787 * video/readers/png.c: Likewise.
36788 * video/i386/pc/vbe.c: Likewise.
36789 * fs/udf.c: Likewise.
36790 * fs/hfs.c: Likewise.
36791 * fs/reiserfs.c: Likewise.
36792 * efiemu/runtime/efiemu.c: Likewise.
36793 * efiemu/main.c: Likewise.
36794 * efiemu/mm.c: Likewise.
36795 * include/grub/elf.h: Likewise.
36796 * include/grub/xnu.h: Likewise.
36797 * include/grub/usbdesc.h: Likewise.
36798 * include/grub/usb.h: Likewise.
36799 * include/grub/script_sh.h: Likewise.
36800 * include/grub/lib/LzmaEnc.h: Likewise.
36801 * include/grub/efiemu/efiemu.h: Likewise.
36802 * include/grub/command.h: Likewise.
36803 * normal/menu.c: Likewise.
36804 * normal/main.c: Likewise.
36805 * normal/datetime.c: Likewise.
36806 * bus/usb/uhci.c: Likewise.
36807 * mmap/i386/uppermem.c: Likewise.
36808 * mmap/mmap.c: Likewise.
36809 * commands/acpi.c: Likewise.
36810 * commands/test.c: Likewise.
36811 * partmap/apple.c: Likewise.
36812 * font/font.c: Likewise.
36813 * loader/sparc64/ieee1275/linux.c: Likewise.
36814 * loader/macho.c: Likewise.
36815 * loader/i386/bsd_trampoline.S: Likewise.
36816 * loader/i386/bsd.c: Likewise.
36817 * loader/xnu.c: Likewise.
36818 * term/i386/pc/vesafb.c: Likewise.
36819 * term/usb_keyboard.c: Likewise.
36820 * util/resolve.c: Likewise.
36821 * util/getroot.c: Likewise.
36822
36823 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
36824
36825 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36826
36827 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36828
36829 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36830 build error.
36831
36832 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36833
36834 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36835 parameter only available on BIOS.
36836
36837 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36838
36839 Removed wrong semicolon in declaration
36840
36841 * grub/misc.h (grub_dprintf): remove semicolon
36842
36843 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36844
36845 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36846 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36847 is done by grub_cmd_linux() now).
36848 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36849 restore video to text mode.
36850 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36851 indicates lack of "vga=" parameter. "vga=0" is mapped to
36852 `GRUB_LINUX_VID_MODE_NORMAL'.
36853
36854 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
36855
36856 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36857 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36858 and `normal/script.c'. Add `kern/rescue_reader.c',
36859 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
36860 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36861 `grub_script.tab.c'.
36862
36863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36867 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36868
36869 * Makefile.in: Remove duplicated 2008 in Copyright line.
36870
36871 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36872
36873 * util/misc.c (grub_util_warn): New function. Emits a warning
36874 unconditionally.
36875 * include/grub/util/misc.h (grub_util_warn): New declaration.
36876
36877 * util/i386/pc/grub-install.in: Understand --force and pass it down
36878 to grub-setup.
36879
36880 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36881 down to setup().
36882 (setup): Improve error messages and add warnings when requested to
36883 install in odd layouts. Refuse to install using blocklists unless
36884 --force was set.
36885
36886 2009-05-04 martin f. krafft <madduck@madduck.net>
36887
36888 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36889
36890 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36891
36892 Updated copyright year
36893
36894 * fs/hfsplus.c: updated copyright year
36895
36896 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36897
36898 HFS+ UUID
36899
36900 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
36901 in the space previously used by unused3
36902 (grub_hfsplus_uuid): new function
36903 (grub_hfsplus_fs): added uuid field
36904
36905 2009-05-03 Pavel Roskin <proski@gnu.org>
36906
36907 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36908 suppress warnings. It's no longer needed.
36909 * disk/host.c: Likewise.
36910 * disk/ata_pthru.c: Likewise.
36911 * disk/loopback.c: Likewise.
36912 * hook/datehook.c: Likewise.
36913 * parttool/pcpart.c: Likewise.
36914 * fs/i386/pc/pxe.c: Likewise.
36915 * fs/ntfscomp.c: Likewise.
36916 * efiemu/main.c: Likewise.
36917 * mmap/mmap.c: Likewise.
36918 * commands/crc.c: Likewise.
36919 * commands/hexdump.c: Likewise.
36920 * commands/hdparm.c: Likewise.
36921 * commands/acpi.c: Likewise.
36922 * commands/echo.c: Likewise.
36923 * commands/minicmd.c: Likewise.
36924 * commands/blocklist.c: Likewise.
36925 * commands/memrw.c: Likewise.
36926 * commands/loadenv.c: Likewise.
36927 * commands/usbtest.c: Likewise.
36928 * commands/lsmmap.c: Likewise.
36929 * commands/boot.c: Likewise.
36930 * commands/parttool.c: Likewise.
36931 * commands/configfile.c: Likewise.
36932 * commands/search.c: Likewise.
36933 * commands/ieee1275/suspend.c: Likewise.
36934 * commands/cat.c: Likewise.
36935 * commands/i386/pc/pxecmd.c: Likewise.
36936 * commands/i386/pc/play.c: Likewise.
36937 * commands/i386/pc/halt.c: Likewise.
36938 * commands/i386/pc/vbeinfo.c: Likewise.
36939 * commands/i386/pc/vbetest.c: Likewise.
36940 * commands/lspci.c: Likewise.
36941 * commands/date.c: Likewise.
36942 * commands/handler.c: Likewise.
36943 * commands/ls.c: Likewise.
36944 * commands/test.c: Likewise.
36945 * commands/cmp.c: Likewise.
36946 * commands/efi/loadbios.c: Likewise.
36947 * commands/efi/fixvideo.c: Likewise.
36948 * commands/halt.c: Likewise.
36949 * commands/help.c: Likewise.
36950 * commands/reboot.c: Likewise.
36951 * hello/hello.c: Likewise.
36952 * script/sh/main.c: Likewise.
36953 * loader/xnu.c: Likewise.
36954 * term/terminfo.c: Likewise.
36955 * term/i386/pc/serial.c: Likewise.
36956 * term/usb_keyboard.c: Likewise.
36957
36958 2009-05-03 David S. Miller <davem@davemloft.net>
36959
36960 * normal/menu.c: Include grub/parser.h
36961
36962 2009-05-03 Pavel Roskin <proski@gnu.org>
36963
36964 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36965 not char*.
36966 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36967 Suggested by Javier Martín <lordhabbit@gmail.com>
36968
36969 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36970 efiemu??.o doesn't exist.
36971 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36972 copying.
36973
36974 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
36975
36976 FreeBSD 64-bit support
36977
36978 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
36979 and loader/i386/bsd_trampoline.S
36980 (bsd_mod_ASFLAGS): new variable
36981 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36982 (FREEBSD_MODTYPE_KERNEL64): likewise
36983 (grub_bsd64_trampoline_start): likewise
36984 (grub_bsd64_trampoline_end): likewise
36985 (grub_bsd64_trampoline_selfjump): likewise
36986 (grub_bsd64_trampoline_gdt): likewise
36987 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36988 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36989 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36990 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
36991 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
36992 of "attrib" member
36993 * loader/i386/bsd_pagetable.c: new file
36994 * loader/i386/bsd_trampoline.S: likewise
36995 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36996 (ALIGN_VAR): likewise
36997 (entry_hi): new variable
36998 (kern_end_mdofs): likewise
36999 (is_64bit): likewise
37000 (grub_freebsd_add_meta): use ALIGN_VAR
37001 (grub_e820_mmap): new declaration
37002 (grub_freebsd_add_mmap): new function
37003 (grub_freebsd_add_meta_module): support 64 bit kernels
37004 (grub_freebsd_list_modules): use ALIGN_VAR
37005 (gdt_descriptor): new declaration
37006 (grub_freebsd_boot): support 64 bit kernels
37007 (grub_bsd_elf64_hook): new function
37008 (grub_bsd_load_elf): support elf64
37009
37010 2009-05-03 Bean <bean123ch@gmail.com>
37011
37012 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37013 after we get the result of if statement.
37014
37015 2009-05-03 Bean <bean123ch@gmail.com>
37016
37017 * Makefile.in (enable_efiemu): New variable.
37018
37019 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37020 set.
37021 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37022 path.
37023 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37024 path, add -mno-red-zone option.
37025 (efiemu64_s.o): Likewise.
37026 (efiemu64.o): Use macro $^ for source file.
37027
37028 * configure.ac (--enable-efiemu): New option.
37029
37030 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37031
37032 xnu support
37033
37034 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37035 (pkglib_MODULES): add xnu.mod
37036 (xnu_mod_SOURCES): new variable
37037 (xnu_mod_CFLAGS): likewise
37038 (xnu_mod_LDFLAGS): likewise
37039 (xnu_mod_ASFLAGS): likewise
37040 * conf/i386-pc.rmk: likewise
37041 * conf/x86_64-efi.rmk: likewise
37042 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
37043 new declaration
37044 * include/grub/i386/macho.h: new file
37045 * include/grub/i386/xnu.h: likewise
37046 * include/grub/macho.h: likewise
37047 * include/grub/machoload.h: likewise
37048 * include/grub/x86_64/macho.h: likewise
37049 * include/grub/x86_64/xnu.h: likewise
37050 * include/grub/xnu.h: likewise
37051 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37052 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37053 * loader/i386/efi/xnu.c: new file
37054 * loader/i386/pc/xnu.c: likewise
37055 * loader/i386/xnu.c: likewise
37056 * loader/i386/xnu_helper.S: likewise
37057 * loader/macho.c: likewise
37058 * loader/xnu.c: likewise
37059 * loader/xnu_resume.c: likewise
37060 * util/grub-dumpdevtree: likewise
37061 * include/grub/i386/pit.h: include grub/err.h
37062 (grub_pit_wait): export
37063 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
37064
37065 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37066
37067 Efiemu
37068
37069 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
37070 _linux_efi, linux_efi.
37071 new files in grub-emu
37072 new targets efiemu32.o and efiemu64.o
37073 * loader/linux_normal_efiemu.c: likewise
37074 * loader/i386/efi/linux.c: added preliminary efiemu support
37075 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
37076 files to copy
37077 * include/grub/autoefi.h: new file
37078 * include/grub/i386/efiemu.h: likewise
37079 * include/grub/i386/pc/efiemu.h: likewise
37080 * include/grub/efi/api.h: add LL suffix when necessary
37081 new definitions relating to tables
37082 * include/grub/efiemu/efiemu.h: new file
37083 * include/grub/efiemu/runtime.h: likewise
37084 * efiemu/prepare.c: likewise
37085 * efiemu/loadcore_common.c: likewise
37086 * efiemu/loadcore64.c: likewise
37087 * efiemu/runtime/efiemu.sh: likewise
37088 * efiemu/runtime/efiemu.S: likewise
37089 * efiemu/runtime/efiemu.c: likewise
37090 * efiemu/runtime/config.h: likewise
37091 * efiemu/prepare32.c: likewise
37092 * efiemu/main.c: likewise
37093 * efiemu/modules/pnvram.c: likewise
37094 * efiemu/modules/i386: likewise
37095 * efiemu/modules/i386/pc: likewise
37096 * efiemu/modules/acpi.c: likewise
37097 * efiemu/i386/pc/cfgtables.c: likewise
37098 * efiemu/i386/loadcore64.c: likewise
37099 * efiemu/i386/loadcore32.c: likewise
37100 * efiemu/prepare64.c: likewise
37101 * efiemu/loadcore.c: likewise
37102 * efiemu/symbols.c: likewise
37103 * efiemu/mm.c: likewise
37104 * efiemu/loadcore32.c: likewise
37105
37106 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37107
37108 ACPI spoofing
37109
37110 * commands/acpi.c: new file
37111 * commands/i386/pc/acpi.c: likewise
37112 * commands/efi/acpi.c: likewise
37113 * include/grub/acpi.h: likewise
37114 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37115 (acpi_mod_SOURCES): new variable
37116 (acpi_mod_CFLAGS): likewise
37117 (acpi_mod_LDFLAGS): likewise
37118 * conf/i386-efi.rmk: likewise
37119 * conf/x86_64-efi.rmk: likewise
37120
37121 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37122
37123 Missing part from mmap patch
37124
37125 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37126 (grub_mmap_unregister)
37127 (grub_mmap_free_and_unregister): use grub_mmap_register
37128
37129 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37130
37131 Mmap services
37132
37133 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37134 * loader/i386/linux.c (find_mmap_size): likewise
37135 (allocate_pages): likewise
37136 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37137 (grub_fill_multiboot_mmap): likewise
37138 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37139 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37140 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37141 (OPENBSD_MMAP_RESERVED): likewise
37142 * include/grub/i386/pc/memory.h: include grub/memory.h
37143 (grub_lower_mem): removed
37144 (grub_upper_mem): likewise
37145 (GRUB_MACHINE_MEMORY_ACPI): new definition
37146 (GRUB_MACHINE_MEMORY_NVS): likewise
37147 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37148 (GRUB_MACHINE_MEMORY_HOLE): likewise
37149 (grub_machine_mmap_register): likewise
37150 (grub_machine_mmap_unregister): likewise
37151 (grub_machine_get_upper): likewise
37152 (grub_machine_get_lower): likewise
37153 (grub_machine_get_post64): likewise
37154 * include/grub/i386/efi/memory.h: new file
37155 * include/grub/x86_64/efi/memory.h: likewise
37156 * include/grub/efi/memory.h: likewise
37157 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37158 (mmap_mod_SOURCES): new variable
37159 (mmap_mod_LDFLAGS): likewise
37160 (mmap_mod_ASFLAGS): likewise
37161 * conf/i386-coreboot.rmk: likewise
37162 * conf/i386-ieee1275.rmk: likewise
37163 * conf/i386-efi.rmk: likewise
37164 * conf/x86_64-efi.rmk: likewise
37165 * include/grub/types.h (UINT_TO_PTR): new macro
37166 (PTR_TO_UINT32): likewise
37167 (PTR_TO_UINT64): likewise
37168 * include/grub/memory.h: new file
37169 * mmap/i386/pc/mmap.c: likewise
37170 * mmap/i386/pc/mmap_helper.S: likewise
37171 * mmap/i386/uppermem.c: likewise
37172 * mmap/mmap.c: likewise
37173 * mmap/efi/mmap.c: likewise
37174 * kern/i386/coreboot/init.c (grub_machine_init): don't use
37175 grub_upper_mem
37176 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37177 (grub_upper_mem): likewise
37178 (grub_machine_init): don't use grub_upper_mem,
37179 make grub_lower_mem local
37180 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37181 grub_mmap_iterate and grub_mmap_get_upper
37182 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37183
37184 2009-05-02 Bean <bean123ch@gmail.com>
37185
37186 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37187 script/sh/parser.y.
37188 (pkglib_MODULES): Add normal.mod and sh.mod.
37189 (normal_SOURCES): New variable.
37190 (normal_mod_CFLAGS): Likewise.
37191 (normal_mod_LDFLAGS): Likewise.
37192 (sh_mod_SOURCES): Likewise.
37193 (sh_mod_CFLAGS): Likewise.
37194 (sh_mod_LDFLAGS): Likewise.
37195
37196 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37197 script/sh/lexer.c_DEPENDENCIES.
37198 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37199 kern/rescue_reader.c and kern/rescue_parser.c.
37200 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37201 (grub_emu_SOURCES): Change source files.
37202 (pkglib_MODULES): Remove normal.mod.
37203 (normal_SOURCES): Removed.
37204 (normal_mod_CFLAGS): Likewise.
37205 (normal_mod_LDFLAGS): Likewise.
37206 * conf/i386-coreboot.rmk: Likewise.
37207 * conf/i386-efi.rmk: Likewise.
37208 * conf/i386-ieee1276.rmk: Likewise.
37209 * conf/powerpc-ieee1275.rmk: Likewise.
37210 * conf/sparc64-ieee1275.rmk: Likewise.
37211 * conf/x86_64-efi.rmk: Likewise.
37212
37213 * include/grub/command.h (grub_command_execute): New inline function.
37214
37215 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37216
37217 * include/grub/normal.h: Remove <grub/setjmp.h>.
37218 (grub_fs_module_list): Moved to normal/autofs.c.
37219 (grub_exit_env): Removed.
37220 (grub_command_execute): Likewise.
37221 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37222 parameter script.
37223 (read_command_list): New function declaration.
37224 (read_fs_list): Likewise.
37225
37226 * include/parser.h: Include <grub/reader.h>.
37227 (grub_parser_split_cmdline): Change type of getline parameter.
37228 (grub_parser): New structure.
37229 (grub_parser_class): New variable.
37230 (grub_parser_execute): New function declaration.
37231 (grub_register_rescue_parser): Likewise.
37232 (grub_parser_register): New inline function.
37233 (grub_parser_unregister): Likewise.
37234 (grub_parser_get_current): Likewise.
37235 (grub_parser_set_current): Likewise.
37236
37237 * include/grub/reader.h: New file.
37238 * kern/reader.c: Likewise.
37239 * kern/rescue_parser.c: Likewise.
37240 * kern/rescue_reader.c: Likewise.
37241 * normal/autofs.c: Likewise.
37242 * normal/dyncmd.c: Likewise.
37243
37244 * include/grub/rescue.h: Removed.
37245 * normal/command.h: Likewise.
37246
37247 * include/grub/script.h: Moved to ...
37248 * include/grub/script_sh.h: ... Moved here.
37249 * normal/execute.c: Moved to ...
37250 * script/sh/execute.c: ... Moved here.
37251 * normal/function.c: Moved to ...
37252 * script/sh/function.c: ... Moved here.
37253 * normal/lexer.c: Moved to ...
37254 * script/sh/lexer.c: ... Moved here.
37255 * normal/parser.y: Moved to ...
37256 * script/sh/parser.y: ... Moved here.
37257 * normal/script.c: Moved to ...
37258 * script/sh/script.c: ... Moved here.
37259
37260 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37261 <grub/reader.h>.
37262 (grub_exit_env): Removed.
37263 (fs_module_list): Moved to normal/autofs.c.
37264 (grub_file_getline): Don't handle comment here.
37265 (free_menu): Skip removed field entry->commands.
37266 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37267 script parameter.
37268 (read_config_file): Removed nested parameter, change getline function.
37269 (grub_enter_normal_mode): Removed.
37270 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37271 (read_command_list): Likewise.
37272 (autoload_fs_module): Moved to normal/autofs.c.
37273 (read_fs_list): Likewise.
37274 (reader_nested): New variable.
37275 (grub_normal_execute): Run parser.sh to switch to sh parser.
37276 (grub_cmd_rescue): Removed.
37277 (cmd_normal): Removed.
37278 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37279 rescue command.
37280 (grub_cmdline_run): New function.
37281 (grub_normal_reader_init): Likewise.
37282 (grub_normal_read_line): Likewise.
37283 (grub_env_write_pager): Likewise.
37284 (cmdline): New variable.
37285 (grub_normal_reader): Likewise.
37286 (GRUB_MOD_INIT): Register normal reader and set as current, register
37287 pager hook, register normal command with grub_register_command_prio,
37288 so that it won't show up in command.lst.
37289 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37290 grub_fs_autoload_hook.
37291
37292 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37293 (grub_menu_execute_entry): Replace grub_script_execute with
37294 grub_parser_execute, change parameter to grub_command_execute.
37295
37296 * normal/menu_text.c: Remove <grub/script.h>.
37297
37298 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37299 and <grub/parser.h>.
37300 (run): Change editor_getline to use new parser interface. Change
37301 parameter to grub_command_execute.
37302
37303 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37304 <grub/reader.h> and <grub/parser.h>.
37305 (grub_load_normal_mode): Execute normal command.
37306 (grub_main): Call grub_register_core_commands,
37307 grub_register_rescue_parser and grub_register_rescue_reader, use
37308 grub_reader_loop to enter input loop.
37309
37310 * kern/parser.c (grub_parser_split_cmdline): Change type of
37311 getline parameter.
37312 (grub_parser_class): New variable.
37313 (grub_parser_execute): New function.
37314
37315 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37316 * loader/multiboot2.c: Likewise.
37317 * loader/sparc64/ieee1275/linux.c: Likewise.
37318
37319 * util/grub-emu.c (read_command_list): New dummy function.
37320
37321 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37322
37323 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37324 count to 16 for CCISS and IDA.
37325
37326 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37327
37328 * normal/menu_text.c (grub_wait_after_message): Print a newline
37329 after waiting for user input.
37330
37331 * loader/i386/linux.c: Include `<grub/normal.h>'.
37332 (grub_cmd_linux): Improve the error message about `ask' mode, by
37333 waiting for user input so it's not missed (we can do this, since
37334 user requested interaction).
37335
37336 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37337
37338 Added missing lst to grub-mkrescue
37339
37340 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37341 and ${input_dir}/parttool.lst
37342
37343 2009-04-30 David S. Miller <davem@davemloft.net>
37344
37345 * util/hostdisk.c (device_is_wholedisk): New function.
37346 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37347 zero only if device_is_wholedisk() returns true.
37348
37349 * util/hostdisk.c (convert_system_partition_to_system_disk):
37350 Handle virtual disk devices named /dev/vdiskX as found on sparc
37351 and powerpc.
37352
37353 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37354 lettered partition specifier is found, convert to numbered.
37355
37356 2009-04-29 David S. Miller <davem@davemloft.net>
37357
37358 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37359 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37360
37361 * normal/command.c: Add missing newline at end of file.
37362
37363 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37364 warnings.
37365 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37366 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37367 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37368 ihandles have a 32-bit type but need to be stored in a "void *".
37369
37370 2009-04-28 Pavel Roskin <proski@gnu.org>
37371
37372 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37373 not disk. Adjust all dependencies.
37374 (grub_fs_uuid_close): Use grub_device_close(), not
37375 grub_disk_close().
37376
37377 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37378 parent's partition, don't copy it by reference, as it gets freed
37379 on close.
37380
37381 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37382
37383 Preboot hooks support
37384
37385 * commands/boot.c (struct grub_preboot_t): new declaration
37386 (preboots_head): new variable
37387 (preboots_tail): likewise
37388 (grub_loader_register_preboot_hook): new function
37389 (grub_loader_unregister_preboot_hook): likewise
37390 (grub_loader_set): launch preboot hooks
37391 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37392 (grub_loader_register_preboot_hook): new declaration
37393 (grub_loader_unregister_preboot_hook): likewise
37394
37395 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37396
37397 Warning fix
37398
37399 * disk/scsi.c (grub_scsi_open): added missing cast when
37400 calling grub_dprintf
37401
37402 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37403
37404 Bug and warning fixes
37405
37406 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
37407 declaration
37408 * commands/test.c (test_parse): fixed bug with file tests and corrected
37409 declaration of find_file
37410
37411 2009-04-26 Pavel Roskin <proski@gnu.org>
37412
37413 * Makefile.in: Don't install empty manual pages if help2man is
37414 missing. Use help2man option for output, not shell redirection.
37415
37416 2009-04-26 David S. Miller <davem@davemloft.net>
37417
37418 * util/grub-mkdevicemap.c (make_device_map): Add missing
37419 NESTED_FUNC_ATTR to process_device().
37420
37421 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37422
37423 Test command
37424
37425 * commands/test.c: rewritten to use bash-like test
37426
37427 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37428
37429 Parttool autoloading and improvements
37430
37431 * Makefile.in (pkglib_DATA): add parttool.lst
37432 (parttool.lst): new target
37433 * genmk.rb: generate parttool-*
37434 (CLEANFILES): add #{parttool}
37435 (PARTTOOLFILES): new variable
37436 * genparttoollist.sh: new file
37437 * parttool/pcpart.c (grub_pcpart_boot): more feedback
37438 (grub_pcpart_type): likewise
37439 * commands/parttool.c (helpmsg): new variable
37440 (grub_cmd_parttool): output help if not enough arguments are supplied
37441 autoload modules
37442 (GRUB_MOD_INIT(parttool)): use helpmsg
37443
37444 2009-04-24 David S. Miller <davem@davemloft.net>
37445
37446 Avoiding opening same device multiple times in device iterator.
37447
37448 * kern/device.c: (grub_device_iterate): Define struct part_ent,
37449 and use it to build a list of partitions in iterate_disk() and
37450 iterate_partition().
37451
37452 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37453 on disk->data.
37454
37455 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37456 grub_devalias_iterate() result instead of unconditional 0.
37457 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37458 Also, capture hook return value, either directly or via
37459 grub_children_iterate(), and propagate to caller.
37460 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37461 grub_children_iterate): Return value is now 'int' instead of
37462 'grub_err_t'.
37463 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37464 like a proper iterator, stopping when hooks return non-zero.
37465 (grub_devalias_iterate): Likewise.
37466
37467 2009-04-23 David S. Miller <davem@davemloft.net>
37468
37469 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37470
37471 2009-04-22 David S. Miller <davem@davemloft.net>
37472
37473 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37474 is larger than address_cells, use that value for address_cells too.
37475
37476 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37477 IEEE1275_MAX_PATH_LEN): Define.
37478 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37479 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37480 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37481 'devtype'. Explicitly NULL terminate devalias expansion.
37482
37483 * util/sparc64/ieee1275/misc.c: New file.
37484 * util/sparc64/ieee1275/grub-setup.c: New file.
37485 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37486 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37487 * util/sparc64/ieee1275/grub-install.in: New file.
37488 * util/ieee1275/ofpath.c: New file.
37489 * util/ieee1275/devicemap.c: New file.
37490 * util/devicemap.c: New file.
37491 * util/deviceiter.c: New file.
37492 * kern/sparc64/ieee1275/init.c: New file.
37493 * include/grub/util/ofpath.h: New file.
37494 * include/grub/util/deviceiter.h: New file.
37495 * util/grub-mkdevicemap.c: Include deviceiter.h.
37496 Implement using grub_util_emit_devicemap_entry and
37497 grub_util_iterate_devices.
37498 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37499 util/devicemap.c into grub-mkdevicemap
37500 * conf/i386-efi.rmk: Likewise.
37501 * conf/i386-ieee1275.rmk: Likewise.
37502 * conf/i386-pc.rmk: Likewise.
37503 * conf/powerpc-ieee1275.rmk: Likewise.
37504 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37505 images and installation utilities. Build kernel as image
37506 instead of as elf binary. Use common rules as much as possible.
37507
37508 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
37509
37510 Correct GPT definition
37511
37512 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
37513 of "attrib" member
37514
37515 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
37516
37517 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37518
37519 2009-04-19 David S. Miller <davem@davemloft.net>
37520
37521 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37522 (grub_rescue_cmd_linux): Rename to...
37523 (grub_cmd_linux): and fix prototype.
37524 (grub_rescue_cmd_initrd): Rename to...
37525 (grub_cmd_initrd): and fix prototype.
37526 (cmd_linux, cmd_initrd): New.
37527 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37528 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37529
37530 2009-04-17 Pavel Roskin <proski@gnu.org>
37531
37532 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37533 format.
37534 (grub_ohci_transfer): Likewise.
37535
37536 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37537
37538 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37539 return without a value. Fix inconsistent indentation.
37540
37541 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37542 match struct grub_fs.
37543
37544 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37545 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37546 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37547 * commands/lspci.c (grub_lspci_iter): Likewise.
37548
37549 2009-04-16 Bean <bean123ch@gmail.com>
37550
37551 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37552 value.
37553
37554 2009-04-15 Pavel Roskin <proski@gnu.org>
37555
37556 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37557 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37558 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37559 definitions.
37560
37561 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37562
37563 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
37564 that no multiple data or metadata areas are supported and `Unknown
37565 metadata header'.
37566
37567 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37568
37569 Move loader out of the kernel
37570
37571 * kern/loader.c: moved to ...
37572 * commands/boot.c: ... moved here
37573 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37574 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37575 * include/grub/kernel.h (grub_machine_fini): export
37576 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37577 (grub_loader_set): likewise
37578 (grub_loader_unset): likewise
37579 (grub_loader_boot): likewise
37580 * conf/common.rmk: new module boot.mod
37581 (pkglib_MODULES): add boot.mod
37582 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37583 (grub_emu_SOURCES): likewise
37584 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37585 (grub_emu_SOURCES): likewise
37586 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37587 (grub_emu_SOURCES): likewise
37588 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37589 (grub_emu_SOURCES): likewise
37590 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37591 (grub_emu_SOURCES): likewise
37592 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37593 (grub_emu_SOURCES): likewise
37594 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
37595 (grub_emu_SOURCES): likewise
37596
37597 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37598
37599 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
37600
37601 * kern/misc.c (grub_itoa): Removed function
37602 (grub_ltoa): likewise
37603 (grub_vsprintf): use grub_lltoa
37604
37605 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37606
37607 Restore grub-emu
37608
37609 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37610 * conf/i386-coreboot.rmk: likewise
37611 * conf/i386-ieee1275.rmk: likewise
37612 * conf/powerpc-ieee1275.rmk: likewise
37613
37614 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37615
37616 * INSTALL: Add that `./autogen.sh' needs to be run before
37617 `./configure.'.
37618
37619 2009-04-14 Bean <bean123ch@gmail.com>
37620
37621 * Makefile.in (pkglib_DATA): Add handler.lst.
37622 (handler.lst): New rule.
37623
37624 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37625 * conf/i386-coreboot.rmk: Likewise.
37626 * conf/i386-ieee1275.rmk: Likewise.
37627 * conf/i386-efi.rmk: Likewise.
37628 * conf/x86_64-efi.rmk: Likewise.
37629 * conf/powerpc-ieee1275.rmk: Likewise.
37630 * conf/sparc64-ieee1275.rmk: Likewise.
37631
37632 * genhandlerlist.sh: New file.
37633
37634 * genmk.rb: Add rules to generate handler.lst.
37635
37636 * include/grub/normal.h (grub_file_getline): New function definition.
37637 (read_handler_list): Likewise.
37638 (free_handler_list): Likewise.
37639
37640 * include/grub/term.h (grub_term_register_input): Add name parameter
37641 for auto generation of handler.lst.
37642 (grub_term_register_output): Likewise.
37643
37644 * normal/handler.c: New file.
37645
37646 * normal/main.c (get_line): Renamed to grub_file_getline.
37647 (read_config_file): Use the newly renamed grub_file_getline.
37648 (read_command_list): Likewise.
37649 (read_fs_list): Likewise.
37650 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37651 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37652
37653 * term/efi/console.c (grub_console_init): Add name parameter for auto
37654 generation of handler.lst.
37655 * term/gfxterm.c: Likewise.
37656 * term/i386/pc/at_keyboard.c: Likewise.
37657 * term/i386/pc/console.c: Likewise.
37658 * term/i386/pc/serial.c: Likewise.
37659 * term/i386/pc/vesafb.c: Likewise.
37660 * term/i386/pc/vga.c: Likewise.
37661 * term/i386/pc/vga_text.c: Likewise.
37662 * term/ieee1275/ofconsole.c: Likewise.
37663 * term/usb_keyboard.c: Likewise.
37664
37665 2009-04-14 Bean <bean123ch@gmail.com>
37666
37667 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37668 properly with null character.
37669
37670 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37671
37672 * configure: Remove.
37673 * config.h.in: Likewise.
37674 * stamp-h.in: Likewise.
37675 * DISTLIST: Likewise.
37676 * conf/common.mk: Likewise.
37677 * conf/i386-coreboot.mk: Likewise.
37678 * conf/i386-efi.mk: Likewise.
37679 * conf/i386-ieee1275.mk: Likewise.
37680 * conf/i386.mk: Likewise.
37681 * conf/i386-pc.mk: Likewise.
37682 * conf/powerpc-ieee1275.mk: Likewise.
37683 * conf/sparc64-ieee1275.mk: Likewise.
37684 * conf/x86_64-efi.mk: Likewise.
37685
37686 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37687 develop on GRUB.
37688
37689 2009-04-14 John Stanley <jpsinthemix@verizon.net>
37690 David S. Miller <davem@davemloft.net>
37691
37692 * util/hostdisk.c (make_device_name): Fix buffer length
37693 calculations.
37694
37695 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37696
37697 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37698 <sys/param.h> and <sys/sysctl.h>.
37699 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37700 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37701 opening the device and reset them afterwards.
37702
37703 2009-04-13 Pavel Roskin <proski@gnu.org>
37704
37705 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37706 Reported by John Stanley <jpsinthemix@verizon.net>
37707
37708 2009-04-13 Robert Millan <rmh@aybabtu.com>
37709
37710 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
37711 that name for menuentries when appropriate.
37712
37713 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37714
37715 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37716
37717 2009-04-13 Robert Millan <rmh@aybabtu.com>
37718
37719 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37720 to Linux, simply abort telling the user it's no longer supported.
37721
37722 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37723
37724 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
37725 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
37726 `freebsd_loadenv' only when devices.hints exist.
37727
37728 2009-04-13 Pavel Roskin <proski@gnu.org>
37729
37730 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37731
37732 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37733
37734 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37735 partition number.
37736 (grub_drive): Likewise.
37737
37738 2009-04-13 David S. Miller <davem@davemloft.net>
37739
37740 * kern/sparc64/ieee1275/ieee1275.c: New file.
37741 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37742 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37743 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37744 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37745 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37746 grub_ieee1275_alloc_physmem): Declare new exported functions.
37747
37748 * include/grub/sparc64/ieee1275/loader.h: New file.
37749 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37750 * include/grub/sparc64/kernel.h: Likewise.
37751 * loader/sparc64/ieee1275/linux.c: Likewise.
37752
37753 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37754 (grub_fstest_SOURCES): Likewise.
37755
37756 * util/hostdisk.c (make_device_name): Do not make any assumptions
37757 about the length of drive names.
37758
37759 * kern/dl.c (grub_dl_load_file): Close file immediately when
37760 we are done using it.
37761
37762 2009-04-12 David S. Miller <davem@davemloft.net>
37763
37764 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37765 values. Noticed by Pavel Roskin.
37766
37767 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37768 target compiler.
37769
37770 * genmk.rb: Add more flexible image type specification, also
37771 pass --strip-unneeded to objcopy.
37772 * conf/i386-pc.rmk: Use *_FORMAT.
37773 * conf/i386-pc.mk: Rebuilt.
37774
37775 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37776 (OFDISK_HASH_SZ): Define.
37777 (ofdisk_hash): New hash table.
37778 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37779 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37780 instead of device phandle which is not unique.
37781
37782 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37783 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37784 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37785 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37786 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37787 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37788 GRUB_KERNEL_MACHINE_DATA_END): Define.
37789 (grub_kernel_image_size, grub_total_module_size): Declare.
37790
37791 2009-04-12 Pavel Roskin <proski@gnu.org>
37792
37793 * configure.ac: Change the logic when we check for target tools.
37794 Do it when the target is specified and it's different from the
37795 specified value of the host.
37796
37797 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
37798
37799 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37800 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37801 GNU/kFreeBSD. Check if a device is a character device. Use
37802 DIOCGMEDIASIZE to get the size.
37803 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37804 support for GNU/kFreeBSD.
37805 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37806 is a character device instead of a block device. Add support for
37807 FreeBSD device names.
37808
37809 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37810 is a character device instead of a block device.
37811
37812 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37813 is a character device instead of a block device.
37814
37815 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37816
37817 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37818 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37819 FreeBSD. Check if a device is a character device. Use
37820 DIOCGMEDIASIZE to get the size.
37821 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37822 support for FreeBSD.
37823 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37824 is a character device instead of a block device. Add support for
37825 FreeBSD device names.
37826
37827 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37828 a character device instead of a block device.
37829 (grub_util_check_char_device): New function.
37830
37831 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37832 a character device instead of a block device.
37833
37834 * include/grub/util/getroot.h (grub_util_check_char_device): New
37835 prototype.
37836
37837 2009-04-11 David S. Miller <davem@davemloft.net>
37838
37839 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37840 static libgcc.
37841 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37842 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37843 function, if present.
37844 (__bswapdi2): Likewise.
37845
37846 * include/grub/sparc64/ieee1275/boot.h: New file.
37847 * boot/sparc64/ieee1275/boot.S: Likewise.
37848 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37849
37850 * kern/misc.c (grub_ltoa): New function.
37851 (grub_vsprintf): Use it to format 'long' integers.
37852
37853 2009-04-10 David S. Miller <davem@davemloft.net>
37854
37855 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37856 slots are of type grub_ieee1275_cell_t.
37857 (grub_nand_read): Likewise.
37858 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37859 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37860 macros are used to compare values in arg/ret block of the call.
37861 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37862 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37863 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37864 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37865 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37866 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37867 grub_ieee1275_close, grub_ieee1275_set_property,
37868 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37869 grub_ieee1275_cell_t.
37870 * kern/ieee1275/openfw.c (grub_map): Likewise.
37871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37872 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37873
37874 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37875 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37876 (grub_devalias_iterate): Likewise.
37877
37878 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
37879
37880 UFS improvements
37881
37882 * fs/ufs.c (INODE_NBLOCKS): new definition
37883 (struct grub_ufs_dirent): added fields for non-BSD dirents
37884 (grub_ufs_get_file_block): fixed double indirect handling
37885 (grub_ufs_lookup_symlink): use more robust way to determine whether
37886 symlink is inline
37887 (grub_ufs_find_file): support for non-BSD dirents
37888 (grub_ufs_dir): support for non-BSD dirents
37889
37890 2009-04-10 Bean <bean123ch@gnail.com>
37891
37892 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37893 attribute, otherwise the size would be wrong for i386 platform.
37894
37895 * include/grub/pci.h (grub_pci_read_word): New inline function.
37896 (grub_pci_read_byte): Likewise.
37897 (grub_pci_write): Likewise.
37898 (grub_pci_write_word): Likewise.
37899 (grub_pci_write_byte): Likewise.
37900
37901 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37902
37903 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37904 (find_framebuf): Scan pci to locate the frame buffer address.
37905
37906 * commands/efi/fixvideo.c: New file.
37907
37908 * commands/efi/loadbios.c: Likewise.
37909
37910 * commands/memrw.c: Likewise.
37911
37912 * util/grub-dumpbios.in: Likewise.
37913
37914 * conf/common.rmk (grub-dumpbios): New utility.
37915 (pkglib_MODULES): New module memrw.mod.
37916 (memrw_mod_SOURCE): New macro.
37917 (memrw_mod_CFLAGS): Likewise.
37918 (memrw_mod_LDFLAGS): Likewise.
37919
37920 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
37921 fixvideo.mod.
37922 (loadbios_mod_SOURCE): New macro.
37923 (loadbios_mod_CFLAGS): Likewise.
37924 (loadbios_mod_LDFLAGS): Likewise.
37925 (fixvideo_mod_SOURCE): Likewise.
37926 (fixvideo_mod_CFLAGS): Likewise.
37927 (fixvideo_mod_LDFLAGS): Likewise.
37928
37929 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
37930 fixvideo.mod.
37931 (loadbios_mod_SOURCE): New macro.
37932 (loadbios_mod_CFLAGS): Likewise.
37933 (loadbios_mod_LDFLAGS): Likewise.
37934 (fixvideo_mod_SOURCE): Likewise.
37935 (fixvideo_mod_CFLAGS): Likewise.
37936 (fixvideo_mod_LDFLAGS): Likewise.
37937
37938 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
37939
37940 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37941
37942 2009-04-07 David S. Miller <davem@davemloft.net>
37943
37944 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37945 support for R_SPARC_OLO10 relocations. Fix compile warning for
37946 R_SPARC_WDISP30 case.
37947 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
37948
37949 2009-04-06 Pavel Roskin <proski@gnu.org>
37950
37951 * include/grub/misc.h (ARRAY_SIZE): New macro.
37952 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37953 New macro.
37954 * loader/i386/linux.c (allocate_pages): Use free_pages().
37955 (grub_linux_unload): Don't use free_pages().
37956 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37957 wrong index. Treat all other modes as text modes.
37958 (grub_cmd_linux): Initialize vid_mode unconditionally to
37959 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37960
37961 * commands/help.c (print_command_help): Use cmd->prio, not
37962 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37963
37964 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
37965
37966 Parttool
37967
37968 * parttool/pcpart.c: new file
37969 * commands/parttool.c: likewise
37970 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37971 (parttool_mod_SOURCES): new variable
37972 (parttool_mod_CFLAGS): likewise
37973 (parttool_mod_LDFLAGS): likewise
37974 (pcpart_mod_SOURCES): likewise
37975 (pcpart_mod_CFLAGS): likewise
37976 (pcpart_mod_LDFLAGS): likewise
37977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
37978 and parttool/pcpart.c
37979 * conf/i386-efi.rmk: likewise
37980 * conf/i386-ieee1275.rmk: likewise
37981 * conf/i386-pc.rmk: likewise
37982 * conf/powerpc-ieee1275.rmk: likewise
37983 * conf/sparc64-ieee1275.rmk: likewise
37984 * conf/x86_64-ieee1275.rmk: likewise
37985
37986 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37987
37988 Support for mtime and further expandability of dir command
37989
37990 * include/grub/lib/datetime.h: moved to ...
37991 * include/grub/datetime.h: ... moved here and added
37992 declaration of grub_unixtime2datetime. All users updated
37993 * include/grub/fs.h: new syntax for dir and mtime functions in
37994 struct grub_fs
37995 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37996 and GRUB_FSHELP_FLAGS_MASK
37997 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37998 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37999 (grub_ext2_mtime): new function
38000 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38001 (grub_hfsplus_mtime): new function
38002 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38003 (GRUB_UFS_ATTR_FILE): likewise
38004 (GRUB_UFS_ATTR_LNK): likewise
38005 (struct grub_ufs_sblock): new fields mtime
38006 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38007 all users updated
38008 (grub_ufs_dir): mtime support
38009 (grub_ufs_mtime): new function
38010 * fs/affs.c (grub_affs_dir): use new dir syntax
38011 * fs/afs.c (grub_afs_dir): likewise
38012 * fs/cpio.c (grub_cpio_dir): likewise
38013 * fs/fat.c (grub_fat_find_dir): likewise
38014 * fs/hfs.c (grub_hfs_dir): likewise
38015 * fs/iso9660.c (grub_iso9660_dir): likewise
38016 * fs/jfs.c (grub_jfs_dir): likewise
38017 * fs/minix.c (grub_minix_dir): likewise
38018 * fs/ntfs.c (grub_ntfs_dir): likewise
38019 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38020 * fs/sfs.c (grub_sfs_dir): likewise
38021 * fs/xfs.c (grub_xfs_dir): likewise
38022 * util/hostfs.c (grub_hostfs_dir): likewise
38023 * lib/datetime.c: moved to ...
38024 * normal/datetime.c: ... moved here
38025 (grub_unixtime2datetime): new function
38026 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
38027 * normal/completion.c (iterate_dir): use new dir syntax
38028 * normal/misc.c (grub_normal_print_device_info): tell the
38029 last modification time of a volume
38030 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
38031 * conf/common.rmk: added lib/datetime.c to ls.mod
38032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
38033 (normal_mod_SOURCES): likewise
38034 (datetime_mod_SOURCES): Removed lib/datetime.c
38035 * conf/i386-efi.rmk: likewise
38036 * conf/i386-ieee1275.rmk: likewise
38037 * conf/i386-pc.rmk: likewise
38038 * conf/powerpc-ieee1275.rmk: likewise
38039 * conf/sparc64-ieee1275.rmk: likewise
38040 * conf/x86_64-efi.rmk: likewise
38041
38042 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38043
38044 Trim trailing spaces in FAT label and support mtools-like labels
38045
38046 * fs/fat.c (grub_fat_iterate_dir): New function based
38047 on grub_fat_find_dir
38048 (grub_fat_find_dir): use grub_fat_iterate_dir
38049 (grub_fat_label): likewise
38050
38051 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38052
38053 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
38054 and command.h
38055 remove extraneous kernel_elf_HEADERS
38056
38057 2009-04-04 Bean <bean123ch@gnail.com>
38058
38059 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38060
38061 * util/misc.c: Likewise.
38062
38063 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38064
38065 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38066 instead of grub_printf.
38067
38068 2009-04-03 Robert Millan <rmh@aybabtu.com>
38069
38070 * loader/i386/linux.c (grub_linux_setup_video): Fill
38071 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38072 values from `mode info' structure instead of hardcoded
38073 values.
38074
38075 2009-04-01 Pavel Roskin <proski@gnu.org>
38076
38077 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38078 unused now.
38079 * genmk.rb: Likewise.
38080 * configure.ac: Likewise.
38081
38082 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38083
38084 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38085 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38086
38087 2009-04-01 David S. Miller <davem@davemloft.net>
38088
38089 * normal/sparc64/setjmp.S: Fix setjmp implementation.
38090 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
38091 (grub_setjmp): Mark with 'returns_twice' attribute.
38092 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38093 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38094 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38095
38096 2009-04-01 Robert Millan <rmh@aybabtu.com>
38097
38098 Reapply fix from 2008-07-28 which was accidentally reverted; also
38099 perform the same fix to a similar check in same function.
38100
38101 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38102 with the same number are found, just use issue a warning with
38103 grub_dprintf(), as this error has been reported to be non-fatal.
38104
38105 2009-03-31 Pavel Roskin <proski@gnu.org>
38106
38107 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38108 for cross-compilation.
38109
38110 2009-03-30 Robert Millan <rmh@aybabtu.com>
38111
38112 Fix i386-ieee1275 build.
38113
38114 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38115 Remove declaration.
38116
38117 2009-03-30 Pavel Roskin <proski@gnu.org>
38118
38119 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38120 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38121 zero-terminated, rely only on the strlen value. Fix comparison
38122 of strings differing in length.
38123
38124 2009-03-30 Robert Millan <rmh@aybabtu.com>
38125
38126 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38127 checking for abi version. Improve error messages on BIOS to notify
38128 user about `linux16' command.
38129
38130 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38131
38132 Leak fixes
38133
38134 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38135 in case of collision
38136 * disk/scsi.c (grub_scsi_open): free scsi in case of error
38137
38138 2009-03-29 Robert Millan <rmh@aybabtu.com>
38139
38140 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38141 set `vid_mode' accordingly.
38142 (grub_linux_boot): Process `vid_mode' and set video mode.
38143
38144 2009-03-29 Robert Millan <rmh@aybabtu.com>
38145
38146 * util/grub.d/10_linux.in (linux_entry): New function.
38147 Factorize generation of Linux boot entries.
38148
38149 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38150
38151 Make the format of Environment Block plain text. The boot loader
38152 part is not tested well yet.
38153
38154 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38155 (buffer): Removed.
38156 (envblk): Likewise.
38157 (usage): Remove "info" and "clear". Add "unset". Update the
38158 description of "set", as this does not delete variables any
38159 longer.
38160 (create_envblk_file): Complete rewrite.
38161 (open_envblk_file): Likewise.
38162 (cmd_info): Removed.
38163 (cmd_list): Likewise.
38164 (cmd_set): Likewise.
38165 (cmd_clear): Likewise.
38166 (list_variables): New function.
38167 (write_envblk): Likewise.
38168 (set_variables): Likewise.
38169 (unset_variables): Likewise.
38170 (main): Complete rewrite.
38171
38172 * commands/loadenv.c (buffer): Removed.
38173 (envblk): Likewise.
38174 (open_envblk_file): New function.
38175 (read_envblk_file): Complete rewrite.
38176 (grub_cmd_load_env): Likewise.
38177 (grub_cmd_list_env): Likewise.
38178 (struct blocklist): New struct.
38179 (free_blocklists): New function.
38180 (check_blocklists): Likewise.
38181 (write_blocklists): Likewise.
38182 (grub_cmd_save_env): Complete rewrite.
38183
38184 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38185 a plain text signature.
38186 (GRUB_ENVBLK_MAXLEN): Removed.
38187 (struct grub_envblk): Complete rewrite.
38188 (grub_envblk_find): Removed.
38189 (grub_envblk_insert): Likewise.
38190 (grub_envblk_open): New prototype.
38191 (grub_envblk_set): Likewise.
38192 (grub_envblk_delete): Put const to VALUE.
38193 (grub_envblk_iterate): Put const to NAME and VALUE.
38194 (grub_envblk_close): New prototype.
38195 (grub_envblk_buffer): New inline function.
38196 (grub_envblk_size): Likewise.
38197
38198 * lib/envblk.c: Include grub/mm.h.
38199 (grub_env_find): Removed.
38200 (grub_envblk_open): New function.
38201 (grub_envblk_close): Likewise.
38202 (escaped_value_len): Likewise.
38203 (find_next_line): Likewise.
38204 (grub_envblk_insert): Removed.
38205 (grub_envblk_set): New function.
38206 (grub_envblk_delete): Complete rewrite.
38207 (grub_envblk_iterate): Likewise.
38208
38209 2009-03-28 Robert Millan <rmh@aybabtu.com>
38210
38211 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38212 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38213 variables. Use 16-bit loader.
38214 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38215 loader.
38216 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38217 (grub_linux16_boot): ... this. Update all users.
38218 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38219 (grub_linux_boot): ... this. Update all users.
38220
38221 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38222 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38223 commands to `linux16' and `initrd16'.
38224 (GRUB_MOD_FINI(linux)): Rename to ...
38225 (GRUB_MOD_FINI(linux16)): ... this.
38226
38227 2009-03-24 Pavel Roskin <proski@gnu.org>
38228
38229 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38230 not just for compilation.
38231
38232 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38233
38234 Move multiboot helper out of kernel
38235
38236 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38237 `loader/i386/multiboot_helper.S'.
38238 * conf/i386-coreboot.rmk: Likewise
38239 * conf/i386-ieee1275.rmk: Likewise
38240
38241 * kern/i386/loader.S: Move multiboot helpers from here...
38242 * loader/i386/multiboot_helper.S: ...moved here
38243 * include/grub/i386/loader.h: Move declarations of multiboot
38244 helpers from here...
38245 * include/grub/i386/multiboot.h: ...moved here
38246 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38247
38248 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38249
38250 * kern/env.c (grub_env_context_open): Added an argument to specify
38251 whether a new context inherits exported variables from current
38252 one. This is useful when making a sandbox to interpret a config
38253 file.
38254 All callers updated.
38255
38256 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38257
38258 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38259
38260 * kern/env.c (grub_env_context_close): Fix memory leaks.
38261
38262 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38263
38264 * normal/main.c (grub_normal_execute): Added an argument
38265 BATCH to specify if an interactive interface should be provided
38266 after reading a config file.
38267 All callers updated.
38268 (read_command_list): Prevent being executed twice.
38269 (read_fs_list): Likewise.
38270
38271 * include/grub/normal.h (grub_normal_execute): Updated the
38272 prototype.
38273
38274 2009-03-22 Pavel Roskin <proski@gno.org>
38275
38276 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38277 _start.
38278 * kern/i386/pc/startup.S: Likewise.
38279 * kern/i386/efi/startup.S: Likewise.
38280 * kern/i386/ieee1275/startup.S: Likewise.
38281 * kern/i386/coreboot/startup.S: Likewise.
38282 * kern/x86_64/efi/startup.S: Likewise.
38283
38284 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38285 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38286 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38287
38288 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38289
38290 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38291
38292 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38293 limit detection.
38294 Use vaddr of correct segment for entry_point.
38295
38296 2009-03-21 Bean <bean123ch@gmail.com>
38297
38298 * commands/blocklist.c: Add include file <grub/command.h>, remove
38299 <grub/normal.h> and <grub/arg.h>.
38300 (grub_cmd_blocklist): Use the new command interface.
38301 (GRUB_MOD_INIT): Likewise.
38302 (GRUB_MOD_FINI): Likewise.
38303 * commands/boot.c: Likewise.
38304 * commands/cat.c: Likewise.
38305 * commands/cmp.c: Likewise.
38306 * commands/configfile.c: Likewise.
38307 * commands/crc.c: Likewise.
38308 * commands/echo.c: Likewise.
38309 * commands/halt.c: Likewise.
38310 * commands/handler.c: Likewise.
38311 * commands/hdparm.c: Likewise.
38312 * commands/help.c: Likewise.
38313 * commands/hexdump.c: Likewise.
38314 * commands/loadenv.c: Likewise.
38315 * commands/ls.c: Likewise.
38316 * commands/lsmmap.c: Likewise.
38317 * commands/lspci.c: Likewise.
38318 * commands/loadenv.c: Likewise.
38319 * commands/read.c: Likewise.
38320 * commands/reboot.c: Likewise.
38321 * commands/search.c: Likewise.
38322 * commands/sleep.c: Likewise.
38323 * commands/test.c: Likewise.
38324 * commands/usbtest.c: Likewise.
38325 * commands/videotest.c: Likewise.
38326 * commands/i386/cpuid.c: Likewise.
38327 * commands/i386/pc/halt.c: Likewise.
38328 * commands/i386/pc/play.c: Likewise.
38329 * commands/i386/pc/pxecmd.c: Likewise.
38330 * commands/i386/pc/vbeinfo.c: Likewise.
38331 * commands/i386/pc/vbetest.c: Likewise.
38332 * commands/ieee1275/suspend.c: Likewise.
38333 * disk/loopback.c: Likewise.
38334 * font/font_cmd.c: Likewise.
38335 * hello/hello.c: Likewise.
38336 * loader/efi/appleloader.c: Likewise.
38337 * loader/efi/chainloader.c: Likewise.
38338 * loader/i386/bsd.c: Likewise.
38339 * loader/i386/efi/linux.c: Likewise.
38340 * loader/i386/ieee1275/linux.c: Likewise.
38341 * loader/i386/linux.c: Likewise.
38342 * loader/i386/pc/chainloader.c: Likewise.
38343 * loader/i386/pc/linux.c: Likewise.
38344 * loader/powerpc/ieee1275/linux.c: Likewise.
38345 * loader/multiboot_loader.c: Likewise.
38346 * term/gfxterm.c: Likewise.
38347 * term/i386/pc/serial.c: Likewise.
38348 * term/terminfo.c: Likewise.
38349
38350 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38351 * term/i386/pc/vga.c: Likewise.
38352 * video/readers/jpeg.c: Likewise.
38353 * video/readers/png.c: Likewise.
38354 * video/readers/tga.c: Likewise.
38355
38356 * util/grub-fstest (cmd_loopback): Removed.
38357 (cmd_blocklist): Likewise.
38358 (cmd_ls): Likewise.
38359 (grub_register_command): Likewise.
38360 (grub_unregister_command): Likewise.
38361 (execute_command): Use grub_command_find to locate command and execute
38362 it.
38363
38364 * include/grub/efi/chainloader.h: Removed.
38365 * loader/efi/chainloader_normal.c: Likewise.
38366 * loader/i386/bsd_normal.c: Likewise.
38367 * loader/i386/pc/chainloader_normal.c: Likewise.
38368 * loader/i386/pc/multiboot_normal.c: Likewise.
38369 * loader/linux_normal.c: Likewise.
38370 * loader/multiboot_loader_normal.c: Likewise.
38371 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38372
38373 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38374 and grub_register_command_p1.
38375
38376 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38377 kern/command.c, lib/arg.c and commands/extcmd.c.
38378 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38379 (minicmd_mod_SOURCES): New variable.
38380 (minicmd_mod_CFLAGS): Likewise.
38381 (minicmd_mod_LDFLAGS): Likewise.
38382 (extcmd_mod_SOURCES): Likewise.
38383 (extcmd_mod_CFLAGS): Likewise.
38384 (extcmd_mod_LDFLAGS): Likewise.
38385 (boot_mod_SOURCES): Removed.
38386 (boot_mod_CFLAGS): Likewise.
38387 (boot_mod_LDFLAGS): Likewise.
38388
38389 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38390 kern/corecmd.c.
38391 (kernel_img_HEADERS): Add command.h.
38392 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38393 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38394 and lib/arg.c.
38395 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38396 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38397 remove the corresponding normal mode command.
38398 (normal_mod_SOURCES): Remove normal/arg.c.
38399 * conf/i386-coreboot.rmk: Likewise.
38400 * conf/i386-efi.rmk: Likewise.
38401 * conf/i386-ieee1275.rmk: Likewise.
38402 * conf/powerpc-ieee1275.rmk: Likewise.
38403 * conf/x86_64-efi.rmk: Likewise.
38404
38405 * include/grub/arg.h: Move from here ...
38406 * include/grub/lib/arg.h: ... to here.
38407
38408 * normal/arg.c: Move from here ...
38409 * lib/arg.c: ... to here.
38410
38411 * commands/extcmd.c: New file.
38412 * commands/minicmd.c: Likewise.
38413 * include/grub/command.h: Likewise.
38414 * include/grub/extcmd.h: Likewise.
38415 * kern/command.c: Likewise.
38416 * kern/corecmd.c: Likewise.
38417
38418 * kern/list.c (grub_list_iterate): Return int instead of void.
38419 (grub_list_insert): New function.
38420 (grub_prio_list_insert): Likewise.
38421
38422 * kern/rescue.c (grub_rescue_command): Removed.
38423 (grub_rescue_command_list): Likewise.
38424 (grub_rescue_register_command): Likewise.
38425 (grub_rescue_unregister_command): Likewise.
38426 (grub_rescue_cmd_boot): Move to minicmd.c
38427 (grub_rescue_cmd_help): Likewise.
38428 (grub_rescue_cmd_info): Likewise.
38429 (grub_rescue_cmd_boot): Likewise.
38430 (grub_rescue_cmd_testload): Likewise.
38431 (grub_rescue_cmd_dump): Likewise.
38432 (grub_rescue_cmd_rmmod): Likewise.
38433 (grub_rescue_cmd_lsmod): Likewise.
38434 (grub_rescue_cmd_exit): Likewise.
38435 (grub_rescue_print_devices): Moved to corecmd.c.
38436 (grub_rescue_print_files): Likewise.
38437 (grub_rescue_cmd_ls): Likewise.
38438 (grub_rescue_cmd_insmod): Likewise.
38439 (grub_rescue_cmd_set): Likewise.
38440 (grub_rescue_cmd_unset): Likewise.
38441 (attempt_normal_mode): Use grub_command_find to get normal module.
38442 (grub_enter_rescue_mode): Use grub_register_core_commands to register
38443 commands, remove grub_rescue_register_command calls.
38444
38445 * normal/command.c (grub_register_command): Removed.
38446 (grub_unregister_command): Likewise.
38447 (grub_command_find): Likewise.
38448 (grub_iterate_commands): Likewise.
38449 (rescue_command): Likewise.
38450 (export_command): Moved to corecmd.c.
38451 (set_command): Removed.
38452 (unset_command): Likewise.
38453 (insmod_command): Likewise.
38454 (rmmod_command): Likewise.
38455 (lsmod_command): Likewise.
38456 (grub_command_init): Likewise.
38457
38458 * normal/completion.c (iterate_command): Use cmd->prio to check for
38459 active command.
38460 (complete_arguments): Use grub_extcmd_t structure to find options.
38461 (grub_normal_do_completion): Change function grub_iterate_commands to
38462 grub_command_iterate.
38463
38464 * normal/execute.c (grub_script_execute_cmd): No need to parse
38465 argument here.
38466
38467 * normal/main.c (grub_dyncmd_dispatcher): New function.
38468 (read_command_list): Register unload commands as dyncmd.
38469 (grub_cmd_normal): Use new command interface, register rescue,
38470 unregister normal at entry, register normal, unregister rescue at exit.
38471
38472 * include/grub/list.h (grub_list_test_t): New type.
38473 (grub_list_iterate): Return int instead of void.
38474 (grub_list_insert): New function.
38475 (GRUB_AS_NAMED_LIST_P): New macro.
38476 (GRUB_AS_PRIO_LIST): Likewise.
38477 (GRUB_AS_PRIO_LIST_P): Likewise.
38478 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38479 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38480 (grub_prio_list): New structure.
38481 (grub_prio_list_insert): New function.
38482 (grub_prio_list_remove): New inline function.
38483
38484 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38485 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38486 (GRUB_COMMAND_FLAG_MENU): Likewise.
38487 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38488 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38489 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38490 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38491 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38492 (grub_command): Likewise.
38493 (grub_register_command): Likewise.
38494 (grub_command_find): Likewise.
38495 (grub_iterate_commands): Likewise.
38496 (grub_command_init): Likewise.
38497 (grub_arg_parse): Likewise.
38498 (grub_arg_show_help): Likewise.
38499
38500 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38501 (grub_rescue_unregister_command): Likewise.
38502
38503 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38504 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38505 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38506
38507 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38508 grub_rescue_cmd_initrd.
38509 * include/grub/i386/loader.h: Likewise.
38510 * include/grub/x86_64/loader.h: Likewise.
38511
38512 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38513
38514 2009-03-21 Bean <bean123ch@gmail.com>
38515
38516 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38517 instead of stat in mingw environment.
38518
38519 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38520
38521 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38522
38523 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38524 AC_CONFIG_LINKS.
38525
38526 2009-03-21 Bean <bean123ch@gmail.com>
38527
38528 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38529 out of range error.
38530
38531 2009-03-18 Michel Dänzer <michel@daenzer.net>
38532
38533 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38534 checking inode flags for EXT4_EXTENTS_FLAG.
38535
38536 2009-03-18 Robert Millan <rmh@aybabtu.com>
38537
38538 * loader/i386/linux.c: Include `<grub/video.h>' and
38539 `<grub/i386/pc/vbe.h>'..
38540 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38541 (grub_linux32_boot): Attempt to configure video settings with
38542 grub_linux_setup_video().
38543 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38544 to avoid grub_console_fini() which would step out of graphical mode
38545 unconditionally.
38546
38547 2009-03-14 Robert Millan <rmh@aybabtu.com>
38548
38549 Fix build on powerpc.
38550 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38551
38552 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38553
38554 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38555 background image command.
38556
38557 2009-03-12 Colin D Bennett <colin@gibibit.com>
38558
38559 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38560 (grub_gfxterm_putchar): Extract pairs of identical calls to
38561 draw_cursor out of conditional blocks.
38562
38563 2009-03-11 Pavel Roskin <proski@gnu.org>
38564
38565 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38566 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38567
38568 2009-03-11 Robert Millan <rmh@aybabtu.com>
38569
38570 * loader/i386/multiboot_elfxx.c
38571 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38572
38573 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
38574
38575 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38576 `kern/handler.c'.
38577
38578 2009-03-11 Robert Millan <rmh@aybabtu.com>
38579
38580 * loader/i386/multiboot.c (code_size): New variable.
38581 (grub_multiboot): Define offsets by adding to `code_size' rather
38582 than subtracting from `grub_multiboot_payload_size'. Provide
38583 4-byte alignment to MBI and others by increasing
38584 `boot_loader_name_length' appropriately.
38585
38586 * loader/i386/multiboot_elfxx.c
38587 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38588
38589 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
38590
38591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38592 `fs/ext2.c'.
38593
38594 2009-03-08 Robert Millan <rmh@aybabtu.com>
38595
38596 Make loader/i386/linux.c usable on i386-pc again.
38597
38598 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38599 memory to heap.
38600 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38601 `#error' stanza.
38602
38603 2009-03-07 Bean <bean123ch@gmail.com>
38604
38605 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38606 allocation.
38607
38608 2009-03-06 Robert Millan <rmh@aybabtu.com>
38609
38610 Fix display issue on terminals with screen size other than 80x25
38611 (e.g. gfxterm with resolution higher than 640x480).
38612
38613 * normal/main.c (grub_normal_init_page): Display title text in a
38614 position relative to the center of the terminal instead of relying
38615 on a hardcoded offset.
38616
38617 2009-03-04 Robert Millan <rmh@aybabtu.com>
38618
38619 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38620 installed.
38621
38622 * Makefile.in (host_kernel): New variable.
38623 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38624 scripts instead of just the windows one.
38625 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38626
38627 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38628
38629 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38630 `kern/handler.c'.
38631 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38635 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38637
38638 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38639
38640 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38641 or if there's no space for the disk label and print the partition number on a
38642 invalid magic.
38643
38644 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38645
38646 * util/misc.c: Include <time.h>.
38647 (grub_millisleep): New function.
38648
38649 2009-03-04 Bean <bean123ch@gmail.com>
38650
38651 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38652 another option -mno-red-zone.
38653
38654 * commands/handler.c: Change module description.
38655
38656 * kern/handler.c: Add missing space at the end of description line.
38657
38658 * kern/list.c: Likewise.
38659
38660 2009-03-03 Robert Millan <rmh@aybabtu.com>
38661
38662 Move more components to the relocation area, and fix mbi pointer
38663 handling to use the destination rather than the origin (thanks to
38664 Vladimir Serbinenko for spotting).
38665
38666 * loader/i386/multiboot.c (mbi_dest): New variable.
38667 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38668 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38669 relocation area.
38670
38671 2009-03-01 Bean <bean123ch@gmail.com>
38672
38673 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
38674 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38675 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38676 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38677
38678 * loader/i386/efi/linux.c (acpi_guid): New variable.
38679 (acpi_guid): Likewise.
38680 (EBDA_SEG_ADDR): New constant.
38681 (LOW_MEM_ADDR): Likewise.
38682 (FAKE_EBDA_SEG): Likewise.
38683 (fake_bios_data): New function.
38684 (grub_linux_boot): Call fake_bios_data.
38685
38686 2009-03-01 Bean <bean123ch@gmail.com>
38687
38688 * commands/terminal.c: Removed.
38689
38690 * commands/handler.c: New file.
38691
38692 * include/grub/list.h: Likewise.
38693
38694 * include/grub/handler.h: Likewise.
38695
38696 * kern/list.c: Likewise.
38697
38698 * kern/handler.c: Likewise.
38699
38700 * kern/term.h: Include header file <grub/handler.h>.
38701 (grub_term_input): Move next field to the beginning.
38702 (grub_term_output): Likewise.
38703 (grub_term_input_class): New variable.
38704 (grub_term_output_class): Likewise.
38705 (grub_term_register_input): Changed to inline function.
38706 (grub_term_register_output): Likewise.
38707 (grub_term_unregister_input): Likewise.
38708 (grub_term_unregister_output): Likewise.
38709 (grub_term_set_current_input): Likewise.
38710 (grub_term_set_current_output): Likewise.
38711 (grub_term_get_current_input): Likewise.
38712 (grub_term_get_current_output): Likewise.
38713 (grub_term_iterate_input): Removed.
38714 (grub_term_iterate_output): Likewise.
38715
38716 * kern/term.c (grub_term_list_input): Removed.
38717 (grub_term_list_output): Likewise.
38718 (grub_term_input_class): New variable.
38719 (grub_term_output_class): Likewise.
38720 (grub_cur_term_input): Change variable as macro.
38721 (grub_cur_term_output): Likewise.
38722 (grub_term_register_input): Removed.
38723 (grub_term_register_output): Likewise.
38724 (grub_term_unregister_input): Likewise.
38725 (grub_term_unregister_output): Likewise.
38726 (grub_term_set_current_input): Likewise.
38727 (grub_term_set_current_output): Likewise.
38728 (grub_term_iterate_input): Likewise.
38729 (grub_term_iterate_output): Likewise.
38730 (grub_term_get_current_input): Likewise.
38731 (grub_term_get_current_output): Likewise.
38732
38733 * util/grub-editenv.c: Include header file <grub/handler.h>.
38734 (grub_term_get_current_input): Removed.
38735 (grub_term_get_current_output): Likewise.
38736 (grub_term_input_class): New variable.
38737 (grub_term_output_class): Likewise.
38738
38739 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38740 (grub_term_get_current_output): Likewise.
38741 (grub_term_input_class): New variable.
38742 (grub_term_output_class): Likewise.
38743
38744 * util/grub-probe.c (grub_term_get_current_input): Removed.
38745 (grub_term_get_current_output): Likewise.
38746 (grub_term_input_class): New variable.
38747 (grub_term_output_class): Likewise.
38748
38749 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38750 (grub_term_get_current_output): Likewise.
38751 (grub_term_input_class): New variable.
38752 (grub_term_output_class): Likewise.
38753
38754 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38755 (terminal_mod_SOURCES): Likewise.
38756 (terminal_mod_CFLAGS): Likewise.
38757 (terminal_mod_LDFLAGS): Likewise.
38758
38759 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38760 handler.c.
38761 (kernel_img_SOURCES): Add list.c and handler.c.
38762 (kernel_img_HEADERS): Add list.h and handler.h.
38763
38764 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38765 handler.c.
38766 (kernel_mod_SOURCES): Add list.c and handler.c.
38767 (kernel_mod_HEADERS): Add list.h and handler.h.
38768
38769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38770 handler.c.
38771 (kernel_elf_SOURCES): Add list.c and handler.c.
38772 (kernel_elf_HEADERS): Add list.h and handler.h.
38773
38774 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38775 handler.c.
38776 (kernel_elf_SOURCES): Add list.c and handler.c.
38777 (kernel_elf_HEADERS): Add list.h and handler.h.
38778
38779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38780 handler.c.
38781 (kernel_mod_SOURCES): Add list.c and handler.c.
38782 (kernel_mod_HEADERS): Add list.h and handler.h.
38783
38784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38785 handler.c.
38786 (kernel_elf_SOURCES): Add list.c and handler.c.
38787 (kernel_elf_HEADERS): Add list.h and handler.h.
38788
38789 2009-02-27 Robert Millan <rmh@aybabtu.com>
38790
38791 Factorize elf32 / elf64 code in Multiboot loader. This will
38792 prevent it from getting out of sync again.
38793
38794 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38795 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38796 grub_multiboot_load_elf64): Move from here ...
38797 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38798 grub_multiboot_load_elf): ... to here (new file).
38799
38800 2009-02-27 Robert Millan <rmh@aybabtu.com>
38801
38802 * util/grub.d/10_linux.in: Rename "single-user mode" to
38803 "recovery mode".
38804
38805 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38806
38807 Don't leak in SCSI code.
38808 * disk/scsi.c (grub_scsi_close): free `scsi'.
38809
38810 2009-02-27 Robert Millan <rmh@aybabtu.com>
38811
38812 * loader/i386/pc/multiboot.c: Move from here ...
38813 * loader/i386/multiboot.c: ... to here. Update all users.
38814
38815 2009-02-27 Robert Millan <rmh@aybabtu.com>
38816
38817 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38818 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38819
38820 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
38821
38822 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38823 b-tree.
38824
38825 2009-02-27 Robert Millan <rmh@aybabtu.com>
38826
38827 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38828 `0x' qualifier as 0 when base is specified as parameter).
38829
38830 2009-02-24 Bean <bean123ch@gmail.com>
38831
38832 * configure.ac: Check for -mcmodel=large in x86_64 target.
38833
38834 * include/grub/efi/api.h (efi_call_10): New macro.
38835 (efi_wrap_10): New function.
38836
38837 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38838 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38839 (GRUB_PE32_REL_BASED_LOW): Likewise.
38840 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38841 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38842 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38843 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38844 (GRUB_PE32_REL_BASED_REL): Likewise.
38845 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38846 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38847 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38848
38849 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38850 issue.
38851
38852 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38853 (efi_wrap_10): New function.
38854
38855 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38856
38857 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38858 MB/MBP model (NV chipset).
38859 (devdata_devs): Add devpath_5 to the list.
38860
38861 * load/i386/efi/linux.c (video_base): Remove variable.
38862 (RGB_MASK): New macro.
38863 (RGB_MAGIC): Likewise.
38864 (LINE_MIN): Likewise.
38865 (LINE_MAX): Likewise.
38866 (FBTEST_STEP): Likewise.
38867 (FBTEST_COUNT): Likewise.
38868 (fb_list): New variable.
38869 (grub_find_video_card): Remove function.
38870 (find_framebuf): New function.
38871 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38872 line length.
38873
38874 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38875 problem for x86_64.
38876
38877 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38878
38879 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38880
38881 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38882 coding tool name.
38883
38884 2009-02-22 Robert Millan <rmh@aybabtu.com>
38885
38886 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38887 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38888 in our relocation, instead of using it directly from heap. Also
38889 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38890
38891 2009-02-21 Robert Millan <rmh@aybabtu.com>
38892
38893 Implement USB keyboard support (based on patch by Marco Gerards)
38894
38895 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38896 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38897 (usb_keyboard_mod_LDFLAGS): New variables.
38898
38899 * term/usb_keyboard.c: New file.
38900
38901 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38902
38903 Corrected wrong declaration
38904
38905 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38906
38907 2009-02-14 Christian Franke <franke@computer.org>
38908
38909 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38910 (grub_lspci_iter): Print class code and programming interface byte.
38911
38912 2009-02-14 Christian Franke <franke@computer.org>
38913
38914 * gendistlist.sh: Ignore `.svn' directories.
38915
38916 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
38917
38918 * fs/fat.c: Add 2009 to Copyright line.
38919
38920 2009-02-14 Christian Franke <franke@computer.org>
38921
38922 * commands/hdparm.c: New file. Provides `hdparm' command
38923 which sends ATA commands via grub_disk_ata_pass_through ().
38924
38925 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38926
38927 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38928 and <grub/cpu/io.h> to include/grub/ata.h.
38929 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38930 (GRUB_CDROM_SECTOR_SIZE): Remove.
38931 (GRUB_ATA_*): Move to include/grub/ata.h.
38932 (GRUB_ATAPI_*): Likewise.
38933 (enum grub_ata_commands): Likewise.
38934 (enum grub_ata_timeout_milliseconds): Likewise.
38935 (struct grub_ata_device): Likewise.
38936 (grub_ata_regset): Likewise.
38937 (grub_ata_regget): Likewise.
38938 (grub_ata_regset2): Likewise.
38939 (grub_ata_regget2): Likewise.
38940 (grub_ata_check_ready): Likewise.
38941 (grub_ata_wait_not_busy): Remove static, exported in
38942 include/grub/ata.h.
38943 (grub_ata_wait_drq): Likewise.
38944 (grub_ata_pio_read): Likewise.
38945
38946 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38947 function for hdparm.mod.
38948
38949 * include/grub/ata.h: New file, contains declarations from
38950 disk/ata.c.
38951 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38952
38953 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38954 (grub_disk_ata_pass_through): New exported variable.
38955
38956 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38957
38958 2009-02-13 Colin D Bennett <colin@gibibit.com>
38959
38960 Support multiple fallback entries, and provide an API to support
38961 executing default+fallback menu entries. Renamed the `terminal' menu
38962 viewer to `text'.
38963
38964 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38965 variable declaration.
38966 (grub_menu_execute_callback): New structure declaration.
38967 (grub_menu_execute_callback_t): New typedef.
38968 (grub_menu_execute_with_fallback): New function declaration.
38969 (grub_menu_get_entry): Likewise.
38970 (grub_menu_get_timeout): Likewise.
38971 (grub_menu_set_timeout): Likewise.
38972
38973 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38974
38975 * normal/menu.c (grub_wait_after_message): Moved to
38976 `normal/menu_text.c'.
38977 (draw_border): Likewise.
38978 (print_message): Likewise.
38979 (print_entry): Likewise.
38980 (print_entries): Likewise.
38981 (grub_menu_init_page): Likewise.
38982 (get_entry_number): Likewise.
38983 (print_timeout): Likewise.
38984 (run_menu): Likewise.
38985 (grub_menu_execute_entry): Likewise.
38986 (show_text_menu): Likewise.
38987 (get_and_remove_first_entry_number): New function.
38988 (grub_menu_execute_with_fallback): Likewise.
38989 (get_entry): Renamed to ...
38990 (grub_menu_get_entry): .. this and made it global.
38991 (get_timeout): Renamed to ...
38992 (grub_menu_get_timeout): ... this and made it global.
38993 (set_timeout): Renamed to ...
38994 (grub_menu_set_timeout): ... this and made it global.
38995 (grub_normal_terminal_menu_viewer): Renamed to ...
38996 (grub_normal_text_menu_viewer): ... this.
38997
38998 * normal/menu_text.c: New file. Extracted text-menu-specific code
38999 from normal/menu.c.
39000
39001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39002 (normal_mod_SOURCES): Likewise.
39003
39004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39005 (normal_mod_SOURCES): Likewise.
39006
39007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39008 (normal_mod_SOURCES): Likewise.
39009
39010 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39011 (normal_mod_SOURCES): Likewise.
39012
39013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39014 (normal_mod_SOURCES): Likewise.
39015
39016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39017 (normal_mod_SOURCES): Likewise.
39018
39019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39020 (normal_mod_SOURCES): Likewise.
39021
39022 2009-02-11 Robert Millan <rmh@aybabtu.com>
39023
39024 * util/grub.d/00_header.in: Update old reference to `font' command.
39025
39026 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
39027
39028 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39029
39030 Based on patch from Javier Martín.
39031
39032 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39033
39034 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
39035 to avoid false positives with FAT.
39036 (grub_fstest_SOURCES): Likewise.
39037 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39042 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39043
39044 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39045
39046 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
39047 bpb.version_specific.fat12_or_fat16.fstype and
39048 bpb.version_specific.fat32.fstype.
39049
39050 2009-02-08 Robert Millan <rmh@aybabtu.com>
39051
39052 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
39053
39054 2009-02-08 Robert Millan <rmh@aybabtu.com>
39055
39056 * Makefile.in (host_os, host_cpu): New variables.
39057 (target_os): Remove. Update all users.
39058
39059 2009-02-08 Marco Gerards <marco@gnu.org>
39060
39061 * Makefile.in (enable_grub_emu_usb): New variable.
39062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39063 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39064 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39065 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39066 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39067 `usbtest.mod' and `usbms.mod'.
39068 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39069 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39070 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39071 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39072 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39073 variables.
39074
39075 * disk/usbms.c: New file.
39076
39077 * include/grub/usb.h: Likewise.
39078
39079 * include/grub/usbtrans.h: Likewise.
39080
39081 * include/grub/usbdesc.h: Likewise.
39082
39083 * bus/usb/usbtrans.c: Likewise.
39084
39085 * bus/usb/ohci.c: Likewise.
39086
39087 * bus/usb/uhci.c: Likewise.
39088
39089 * bus/usb/usbhub.c: Likewise.
39090
39091 * bus/usb/usb.c: Likewise.
39092
39093 * commands/usbtest.c: Likewise.
39094
39095 * util/usb.c: Likewise.
39096
39097 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39098
39099 * configure.ac: Test for libusb presence.
39100
39101 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39102
39103 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39104
39105 * kern/mm.c: Add more comments.
39106
39107 2009-02-08 Robert Millan <rmh@aybabtu.com>
39108
39109 Patch from Javier Martín.
39110 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39111 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39112
39113 2009-02-08 Robert Millan <rmh@aybabtu.com>
39114
39115 * fs/cpio.c: Split tar functionality to ...
39116 * fs/tar.c: ... here (new file). Update all users.
39117
39118 2009-02-07 Robert Millan <rmh@aybabtu.com>
39119
39120 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39121 backward-incompatible features.
39122
39123 Based on patch from Javier Martín, with some adjustments.
39124
39125 2009-02-07 Michael Scherer <misc@mandriva.org>
39126
39127 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39128
39129 2009-02-07 Robert Millan <rmh@aybabtu.com>
39130
39131 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39132 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39133 after the RAID stuff.
39134
39135 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39136
39137 Fixes problem when running vbetest command as reported by
39138 Vladimir Serbinenko <phcoder@gmail.com>.
39139
39140 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39141
39142 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
39143
39144 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39145 /dev/md/NpN style mdraid devices.
39146
39147 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39148
39149 * util/unifont2pff.rb: Remove.
39150
39151 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39152
39153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39154 `#'.
39155
39156 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39157
39158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39161 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39165
39166 2009-02-02 Christian Franke <franke@computer.org>
39167
39168 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39169
39170 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
39171
39172 * INSTALL: Note that we now require at least autoconf 2.59 and
39173 that LZO is optional.
39174
39175 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39176
39177 Base on patch on bug #24154 created by Tomas Tintera
39178 <trosos@seznam.cz>.
39179
39180 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39181
39182 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39183
39184 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
39185 <bero@arklinux.org>.
39186
39187 * normal/parser.y (script_init): Add missing semicolon.
39188
39189 2009-01-31 Colin D Bennett <colin@gibibit.com>
39190
39191 * normal/main.c: Add include to grub/menu_viewer.h.
39192 (free_menu_entry_classes): Added.
39193 (grub_normal_menu_addentry): Added class property handling.
39194 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39195 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39196
39197 * normal/menu_viewer.c: New file.
39198
39199 * normal/menu.c (run_menu_entry): Renamed to ...
39200 (grub_menu_execute_entry): ... this and made it as global.
39201 (grub_menu_run): Renamed to ...
39202 (show_text_menu): ... this and made it local.
39203 (show_text_menu): Adapt to new function names.
39204 (grub_normal_terminal_menu_viewer): New global variable.
39205
39206 * include/grub/menu.h: New file.
39207
39208 * include/grub/menu_viewer.h: New file.
39209
39210 * include/grub/normal.h: Added include to grub/menu.h.
39211 (grub_menu_entry): Moved to include/grub/menu.h.
39212 (grub_menu_entry_t): Likewise.
39213 (grub_menu): Likewise.
39214 (grub_menu_t): Likewise.
39215 (grub_normal_terminal_menu_viewer): Added.
39216 (grub_menu_execute_entry): Likewise.
39217 (grub_menu_run): Removed.
39218
39219 * DISTLIST: Added include/grub/menu.h.
39220 Added include/grub/menu_viewer.h.
39221 Added normal/menu_viewer.c.
39222
39223 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39224
39225 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39226 arglist for menutitle arguments.
39227
39228 * normal/main.c (grub_normal_menu_addentry): Likewise.
39229
39230 * normal/parser.y (menuentry): Likewise.
39231
39232 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39233
39234 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39235 (grub_script_create_cmdmenu): Likewise.
39236
39237 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39238
39239 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39240 changes.
39241
39242 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39243
39244 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39245
39246 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39247
39248 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39249
39250 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39251
39252 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39253
39254 2009-01-30 Christian Franke <franke@computer.org>
39255
39256 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39257 in option help text.
39258
39259 2009-01-27 Pavel Roskin <proski@gnu.org>
39260
39261 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39262
39263 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39264
39265 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39266
39267 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39268
39269 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39270 unregister function.
39271
39272 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39273
39274 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39275
39276 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39277
39278 * util/grub-mkfont.c (usage): Fix typo.
39279
39280 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39281
39282 2009-01-26 Daniel Mierswa <impulze@impulze.org>
39283
39284 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39285
39286 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39287
39288 * kern/misc.c (grub_strcasecmp): New function.
39289 (grub_strcasecmp): Use grub_size_t instead of int for length.
39290 Fix return value.
39291 * include/grub/misc.h: Update function prototypes.
39292
39293 2009-01-26 Robert Millan <rmh@aybabtu.com>
39294
39295 * configure.ac: Fix cross-compilation check.
39296
39297 2009-01-22 Christian Franke <franke@computer.org>
39298
39299 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39300 (precision) digit string. Allow `.format2' without `format1' (width).
39301 Limit input chars for `%s' output to `format2' if specified. This is
39302 compatible with standard printf ().
39303
39304 2009-01-22 Christian Franke <franke@computer.org>
39305
39306 * disk/ata.c (grub_ata_wait_status): Replace by ...
39307 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39308 other status bits may be invalid while BSY is asserted.
39309 (grub_ata_check_ready): New function.
39310 (grub_ata_cmd): Removed.
39311 (grub_ata_wait_drq): New function.
39312 (grub_ata_strncpy): Remove inline.
39313 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39314 and error check now done by grub_ata_wait_drq ().
39315 (grub_ata_pio_write): Likewise.
39316 (grub_atapi_identify): Set DEV before check for !BSY. Use
39317 grub_ata_wait_drq () to wait for data.
39318 (grub_ata_device_initialize): Add status register check to
39319 detect missing SATA slave devices. Add debug messages.
39320 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39321 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39322 transfer loop by grub_ata_pio_write ().
39323 (grub_ata_identify): Set DEV before check for !BSY. Use
39324 grub_ata_wait_drq () to wait for data.
39325 (grub_ata_setaddress): Set DEV before check for !BSY.
39326 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39327 read/write in one loop. Fix invalid command on write. Fix incomplete
39328 command on (size % batch) == 0. Add missing error check after write of
39329 last block. Add debug messages.
39330 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39331
39332 2009-01-19 Christian Franke <franke@computer.org>
39333
39334 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39335 (GRUB_ATAPI_IREASON_*): Likewise.
39336 (grub_ata_pio_write): Fix timeout error return.
39337 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39338 (grub_atapi_wait_drq): New function.
39339 (grub_atapi_packet): New parameter `size'.
39340 Use grub_atapi_wait_drq () and direct write instead of
39341 grub_ata_pio_write ().
39342 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39343 reads the number of bytes requested by the device for each DRQ
39344 assertion.
39345 (grub_atapi_write): Remove old implementation, return not
39346 implemented instead.
39347
39348 2009-01-19 Christian Franke <franke@computer.org>
39349
39350 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39351 of 512 to calculate data size.
39352 (grub_scsi_read12): Likewise.
39353 (grub_scsi_write10): Likewise.
39354 (grub_scsi_write12): Likewise.
39355 (grub_scsi_read): Adjust size according to blocksize.
39356 Add checks for invalid blocksize and unaligned transfer.
39357
39358 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39359
39360 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39361
39362 * term/gfxterm.c (write_char): Fix background rendering for wide
39363 width glyphs.
39364
39365 2009-01-19 Robert Millan <rmh@aybabtu.com>
39366
39367 * config.guess: Update to latest version from config git.
39368 * config.sub: Likewise.
39369
39370 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
39371
39372 * Makefile.in: Change font compilation to use new grub-mkfont instead
39373 of java version.
39374
39375 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39376 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39377 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39378 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39379 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39380 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39382 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39384
39385 2009-01-16 Christian Franke <franke@computer.org>
39386
39387 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39388 (enum grub_ata_timeout_milliseconds): New enum.
39389 (grub_ata_wait_status): Add parameter milliseconds.
39390 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39391 recovery from timed-out commands.
39392 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39393 return grub_errno instead of REG_ERROR.
39394 (grub_ata_pio_write): Add parameter milliseconds.
39395 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39396 Pass milliseconds to grub_ata_wait_status () and
39397 grub_ata_pio_read ().
39398 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39399 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39400 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39401 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39402 It is not suitable for device detection, because DEV bit is ignored,
39403 the command may run too long, and not all devices set the signature
39404 properly.
39405 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39406 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39407 Fix device selection, DEV bit must be set first to address the registers
39408 of the correct device.
39409 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39410 grub_ata_pio_read/write ().
39411 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39412 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39413
39414 2009-01-13 Carles Pina i Estany <carles@pina.cat>
39415
39416 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39417
39418 2009-01-13 Bean <bean123ch@gmail.com>
39419
39420 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39421
39422 2009-01-13 Bean <bean123ch@gmail.com>
39423
39424 * Makefile.in: (enable_grub_mkfont): New variable.
39425 (freetype_cflags): Likewise.
39426 (freetype_libs): Likewise.
39427
39428 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39429 (grub_mkfont_SOURCES): New variable.
39430 (grub_mkfont_CFLAGS): Likewise.
39431 (grub_mkfont_LDFLAGS): Likewise.
39432
39433 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39434 library if `--enable-grub-mkfont' is requested.
39435 (enable_grub_mkfont): New variable.
39436 (freetype_cflags): Likewise.
39437 (freetype_libs): Likewise.
39438
39439 * util/grub-mkfont.c: New file.
39440
39441 2009-01-12 Christian Franke <franke@computer.org>
39442
39443 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39444 mode check. Fix setting of compat_use[].
39445
39446 2009-01-10 Robert Millan <rmh@aybabtu.com>
39447
39448 Update a few copyright years which we forgot to do in 2008 (only for
39449 files whose changes made in 2008 were copyright-significant)
39450
39451 * Makefile.in: Add 2008 to Copyright line.
39452 * disk/ieee1275/ofdisk.c: Likewise.
39453 * disk/efi/efidisk.c: Likewise.
39454 * kern/dl.c: Likewise.
39455 * kern/sparc64/ieee1275/init.c: Likewise.
39456 * kern/mm.c: Likewise.
39457 * kern/efi/mm.c: Likewise.
39458 * boot/i386/pc/boot.S: Likewise.
39459 * genfslist.sh: Likewise.
39460 * fs/iso9660.c: Likewise.
39461 * fs/hfs.c: Likewise.
39462 * fs/jfs.c: Likewise.
39463 * fs/minix.c: Likewise.
39464 * fs/ufs.c: Likewise.
39465 * gensymlist.sh.in: Likewise.
39466 * genkernsyms.sh.in: Likewise.
39467 * include/grub/misc.h: Likewise.
39468 * include/grub/types.h: Likewise.
39469 * include/grub/symbol.h: Likewise.
39470 * include/grub/elf.h: Likewise.
39471 * include/grub/kernel.h: Likewise.
39472 * include/grub/disk.h: Likewise.
39473 * include/grub/dl.h: Likewise.
39474 * include/grub/i386/linux.h: Likewise.
39475 * include/grub/i386/pc/biosdisk.h: Likewise.
39476 * include/grub/efi/api.h: Likewise.
39477 * include/grub/efi/pe32.h: Likewise.
39478 * include/grub/util/misc.h: Likewise.
39479 * normal/execute.c: Likewise.
39480 * normal/arg.c: Likewise.
39481 * normal/completion.c: Likewise.
39482 * normal/lexer.c: Likewise.
39483 * normal/parser.y: Likewise.
39484 * normal/misc.c: Likewise.
39485 * commands/i386/pc/vbeinfo.c: Likewise.
39486 * commands/hexdump.c: Likewise.
39487 * commands/terminal.c: Likewise.
39488 * commands/ls.c: Likewise.
39489 * commands/help.c: Likewise.
39490 * partmap/pc.c: Likewise.
39491 * loader/efi/chainloader.c: Likewise.
39492 * loader/multiboot_loader.c: Likewise.
39493 * loader/i386/pc/multiboot2.c: Likewise.
39494 * term/efi/console.c: Likewise.
39495 * term/i386/pc/serial.c: Likewise.
39496 * util/lvm.c: Likewise.
39497 * util/console.c: Likewise.
39498 * util/i386/efi/grub-mkimage.c: Likewise.
39499 * util/raid.c: Likewise.
39500
39501 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39502
39503 * commands/videotest.c: Removed include to grub/machine/memory.h.
39504
39505 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39506 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39507 (video_mod_SOURCES): Removed.
39508 (video_mod_CFLAGS): Likewise.
39509 (video_mod_LDFLAGS): Likewise.
39510 (gfxterm_mod_SOURCES): Likewise.
39511 (gfxterm_mod_CFLAGS): Likewise.
39512 (gfxterm_mod_LDFLAGS): Likewise.
39513 (videotest_mod_SOURCES): Likewise.
39514 (videotest_mod_CFLAGS): Likewise.
39515 (videotest_mod_LDFLAGS): Likewise.
39516 (bitmap_mod_SOURCES): Likewise.
39517 (bitmap_mod_CFLAGS): Likewise.
39518 (bitmap_mod_LDFLAGS): Likewise.
39519 (tga_mod_SOURCES): Likewise.
39520 (tga_mod_CFLAGS): Likewise.
39521 (tga_mod_LDFLAGS): Likewise.
39522 (jpeg_mod_SOURCES): Likewise.
39523 (jpeg_mod_CFLAGS): Likewise.
39524 (jpeg_mod_LDFLAGS): Likewise.
39525 (png_mod_SOURCES): Likewise.
39526 (png_mod_CFLAGS): Likewise.
39527 (png_mod_LDFLAGS): Likewise.
39528
39529 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39530 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39531 (video_mod_SOURCES): Added.
39532 (video_mod_CFLAGS): Likewise.
39533 (video_mod_LDFLAGS): Likewise.
39534 (videotest_mod_SOURCES): Likewise.
39535 (videotest_mod_CFLAGS): Likewise.
39536 (videotest_mod_LDFLAGS): Likewise.
39537 (bitmap_mod_SOURCES): Likewise.
39538 (bitmap_mod_CFLAGS): Likewise.
39539 (bitmap_mod_LDFLAGS): Likewise.
39540 (tga_mod_SOURCES): Likewise.
39541 (tga_mod_CFLAGS): Likewise.
39542 (tga_mod_LDFLAGS): Likewise.
39543 (jpeg_mod_SOURCES): Likewise.
39544 (jpeg_mod_CFLAGS): Likewise.
39545 (jpeg_mod_LDFLAGS): Likewise.
39546 (png_mod_SOURCES): Likewise.
39547 (png_mod_CFLAGS): Likewise.
39548 (png_mod_LDFLAGS): Likewise.
39549 (gfxterm_mod_SOURCES): Likewise.
39550 (gfxterm_mod_CFLAGS): Likewise.
39551 (gfxterm_mod_LDFLAGS): Likewise.
39552
39553 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39554 grub/machine/console.h.
39555
39556 2009-01-04 Jerone Young <jerone@gmail.com>
39557
39558 Make on screen instructions clearer
39559
39560 Based on patch created by Jidanni <jidanni@jidanni.org>
39561
39562 * normal/menu.c: print clearer instructions on the screen
39563
39564 2009-01-02 Colin D Bennett <colin@gibibit.com>
39565
39566 New font engine.
39567
39568 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39569 build system and fixed gfxterm.c to work with different sized fonts.
39570
39571 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
39572
39573 * configure: Re-generated.
39574
39575 * DISTLIST: Removed font/manager.c.
39576 Added font/font.c.
39577 Added font/font_cmd.c.
39578
39579 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39580 compilation.
39581
39582 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
39583
39584 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
39585
39586 * kern/term.c: Changed users of grub_utf8_to_ucs4.
39587
39588 * normal/menu.c: Likewise.
39589
39590 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39591 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
39592
39593 * include/grub/font.h: Replaced with new file.
39594
39595 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39596 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39597 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39598 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39599 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
39600 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
39601 fg_red, fg_green, fg_blue, fg_alpha.
39602 (grub_video_adapter): Removed blit_glyph.
39603 (grub_video_blit_glyph): Removed.
39604
39605 * font/manager.c: Removed file.
39606
39607 * font/font.c: New file.
39608
39609 * font/font_cmd.c: Likewise.
39610
39611 * video/video.c (grub_video_blit_glyph): Removed.
39612
39613 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39614 (grub_video_vbe_map_rgba): Likewise.
39615 (grub_video_vbe_unmap_color_int): Likewise.
39616 (grub_video_vbe_blit_glyph): Removed.
39617 (grub_video_vbe_adapter): Removed blit_glyph.
39618
39619 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39620 (get_pixel): Likewise.
39621 (set_pixel): Likewise.
39622
39623 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
39624
39625 * term/gfxterm.c: Adapted to new font engine.
39626
39627 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
39628
39629 * term/i386/pc/vga.c: Likewise.
39630
39631 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
39632
39633 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39634
39635 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39636
39637 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39638
39639 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39640
39641 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39642
39643 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39644
39645 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39646
39647 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39648
39649 * util/grub.d/00_header.in: Changed to use new loadfont command.
39650
39651 * util/grub-mkconfig_lib.in: Changed font extension.
39652
39653 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
39654
39655 * util/getroot.c (grub_util_get_grub_dev): Add support for
39656 /dev/md/dNNpNN style partitionable mdraid devices.
39657
39658 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
39659
39660 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39661 at a time limit of the PXE TFTP API correctly.
39662 (grub_pxefs_close): Likewise.
39663
39664 2008-11-29 Robert Millan <rmh@aybabtu.com>
39665
39666 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
39667 grub_ata_device_initialize() calls.
39668
39669 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
39670
39671 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39672 iteration failed.
39673 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39674
39675 2008-11-28 Robert Millan <rmh@aybabtu.com>
39676
39677 Fix build on powerpc-ieee1275. Based on patch created by
39678 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39679 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39680 `kern/ieee1275/mmap.c'.
39681 * include/grub/powerpc/ieee1275/memory.h: New file.
39682
39683 Provide grub-install on coreboot.
39684 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39685 (grub_install_SOURCES): New variable.
39686 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39687 usable on coreboot.
39688
39689 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
39690
39691 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39692 to `grub_term_input_t'.
39693 (grub_term_get_current_output): Change return type to
39694 `grub_term_output_t'.
39695
39696 2008-11-22 Robert Millan <rmh@aybabtu.com>
39697
39698 Fix breakage on coreboot due to declaration mismatch.
39699 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39700 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39701 grub_vga_text_cls().
39702
39703 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
39704 comments. Avoid copying one more byte than necessary (just in case).
39705
39706 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39707 to 0x200000 (avoids trouble with some OFW implementations, and matches
39708 with the one in Yaboot).
39709 Reported by Manoel Abranches
39710
39711 2008-11-20 Robert Millan <rmh@aybabtu.com>
39712
39713 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39714 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39715
39716 * util/grub-mkconfig_lib.in (grub_warn): New function.
39717 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39718 warnings, to obtain consistent formatting.
39719 * util/grub.d/00_header.in: Likewise.
39720 * util/update-grub_lib.in: Likewise.
39721
39722 * loader/i386/linux.c (allocate_pages): Fix a warning.
39723 Move comment text to `#error' stanza.
39724
39725 Harmonize ieee1275's grub_available_iterate() with the generic
39726 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39727 build problem on i386-ieee1275):
39728 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39729 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39730 parameter `type'. Update all users of this function.
39731 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39732 `kern/ieee1275/mmap.c'.
39733 * kern/ieee1275/init.c
39734 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39735 with ...
39736 (grub_machine_mmap_iterate): ... this.
39737 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39738 return type to `grub_err_t'. Update all implementations of this
39739 function prototype.
39740 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39741 Likewise.
39742
39743 Add `lsmmap' command (lists firmware-provided memory map):
39744 * commands/lsmmap.c: New file.
39745 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39746 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39747 variables.
39748 * conf/powerpc-ieee1275.rmk: Likewise.
39749 * conf/i386-coreboot.rmk: Likewise.
39750 * conf/i386-ieee1275.rmk: Likewise.
39751
39752 2008-11-19 Robert Millan <rmh@aybabtu.com>
39753
39754 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
39755 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39756 constraints to initrd allocation (based on code from
39757 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39758 for Linux to find it.
39759
39760 2008-11-14 Robert Millan <rmh@aybabtu.com>
39761
39762 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39763 order to cope with duplicate slashes.
39764
39765 2008-11-14 Robert Millan <rmh@aybabtu.com>
39766
39767 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39768 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39769 don't want to mess with lower memory, because it is used in the Linux
39770 loader.
39771
39772 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
39773 an appropriate place in lower memory, between 0x10000 and 0x90000,
39774 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39775 is in our heap (probably as a result of it being corrupted during
39776 decompression). Add #error instance with comment to explain why this
39777 loader isn't currently usable on PC/BIOS.
39778
39779 2008-11-14 Robert Millan <rmh@aybabtu.com>
39780
39781 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
39782 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
39783
39784 2008-11-12 Robert Millan <rmh@aybabtu.com>
39785
39786 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39787
39788 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39789 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39790 from here ...
39791 * include/grub/i386/pc/memory.h: ... to here.
39792
39793 2008-11-12 Robert Millan <rmh@aybabtu.com>
39794
39795 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39796 split).
39797
39798 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39799 (grub_console_cur_color, grub_console_real_putchar)
39800 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39801 (grub_console_setcolorstate, grub_console_setcolor)
39802 (grub_console_getcolor): Move from here ...
39803 * include/grub/i386/vga_common.h: ... to here (new file).
39804
39805 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39806 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39807 `<grub/i386/io.h>'.
39808 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39809 `<grub/i386/vga_common.h>'.
39810
39811 2008-11-12 Robert Millan <rmh@aybabtu.com>
39812
39813 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39814 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39815 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39816 variables.
39817 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39818 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39819
39820 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39821 grub_console_init() with call to grub_vga_text_init().
39822 (grub_machine_fini): Replace call to
39823 grub_console_fini() with call to grub_vga_text_fini() and
39824 grub_at_keyboard_fini().
39825
39826 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39827 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39828 (grub_console_setcolorstate, grub_console_setcolor)
39829 (grub_console_getcolor): New function prototypes.
39830
39831 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39832 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39833 (grub_vga_text_setcursor): Static-ize.
39834 (grub_vga_text_term): New structure.
39835 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39836
39837 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39838 (grub_console_cur_color, grub_console_standard_color)
39839 (grub_console_normal_color, grub_console_highlight_color)
39840 (map_char, grub_console_putchar, grub_console_getcharwidth)
39841 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39842 (grub_console_getcolor): Move from here ...
39843 * term/i386/vga_common.c: ... to here (same function names).
39844
39845 2008-11-12 Robert Millan <rmh@aybabtu.com>
39846
39847 Use newly-added Multiboot support in coreboot.
39848
39849 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39850 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39851
39852 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39853 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39854 (codestart): Store the MBI in `startup_multiboot_info' when we're
39855 being loaded using Multiboot.
39856
39857 * kern/i386/coreboot/init.c (grub_machine_init): Move
39858 grub_at_keyboard_init() call to beginning of function (useful for
39859 debugging). Call grub_machine_mmap_init() before attempting to use
39860 grub_machine_mmap_iterate().
39861 (grub_lower_mem, grub_upper_mem): Move from here ...
39862 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39863 here (new file).
39864
39865 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39866 function prototype.
39867
39868 2008-11-12 Robert Millan <rmh@aybabtu.com>
39869
39870 Fix a regression introduced by the at_keyboard.mod split. Because
39871 some terminals are default on some platforms and non-default on
39872 others, the first terminal being registered determines which is
39873 going to be default.
39874
39875 * kern/term.c (grub_term_register_input): If this is the first
39876 terminal being registered, set it as the current one.
39877 (grub_term_register_output): Likewise.
39878
39879 * term/efi/console.c (grub_console_init): Do not call
39880 grub_term_set_current_output() or grub_term_set_current_input().
39881 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39882 * term/i386/pc/console.c (grub_console_init): Likewise.
39883 (grub_console_fini): Do not call grub_term_set_current_input()
39884 (but leave grub_term_set_current_output() to restore text mode).
39885
39886 2008-11-10 Robert Millan <rmh@aybabtu.com>
39887
39888 * util/grub.d/00_header.in: Add backward compatibility check for
39889 versions of terminal.mod that don't understand `terminal_input' or
39890 `terminal_output'.
39891
39892 2008-11-09 Robert Millan <rmh@aybabtu.com>
39893
39894 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39895 `terminal_input' / `terminal_output', not `terminal'.
39896
39897 2008-11-08 Robert Millan <rmh@aybabtu.com>
39898
39899 * Makefile.in (include_DATA): Fix srcdir=. assumption.
39900 (DISTCLEANFILES): Add `build_env.mk'.
39901
39902 2008-11-08 Robert Millan <rmh@aybabtu.com>
39903
39904 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
39905 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39906 members. Update all users.
39907 * util/console.c (grub_ncurses_term): Split in ...
39908 (grub_ncurses_term_input): ... this, and ...
39909 (grub_ncurses_term_output): ... this. Update all users.
39910 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
39911
39912 2008-11-08 Robert Millan <rmh@aybabtu.com>
39913
39914 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39915 (PKGDATA): Add $(pkgdata_SRCDIR).
39916 (pkglib_BUILDDIR): New variable.
39917 (pkgdata_SRCDIR): New variable.
39918 (build_env.mk): New target.
39919 (include_DATA): New variable.
39920 (install-local): Install $(include_DATA) files in $(includedir).
39921
39922 2008-11-07 Pavel Roskin <proski@gnu.org>
39923
39924 * gendistlist.sh: Use C locale for sorting to ensure consistent
39925 output on all systems.
39926
39927 * util/grub.d/00_header.in: Remove incorrect space before
39928 "serial".
39929
39930 2008-11-07 Robert Millan <rmh@aybabtu.com>
39931
39932 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39933 per specification.
39934 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39935 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39936 (based on find_multi_boot1_header).
39937 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39938 using find_multi_boot2_header(), and abort if neither Multiboot or
39939 Multiboot headers were found.
39940
39941 2008-11-07 Robert Millan <rmh@aybabtu.com>
39942
39943 Modularize at_keyboard.mod:
39944
39945 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39946 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39947 (at_keyboard_mod_LDFLAGS): New variables.
39948
39949 Actual terminal split:
39950
39951 * include/grub/term.h (struct grub_term): Split in ...
39952 (struct grub_term_input): ... this, and ...
39953 (struct grub_term_output): ... this. Update all users.
39954 (grub_term_set_current): Split in ...
39955 (grub_term_set_current_input): ... this, and ...
39956 (grub_term_set_current_output): ... this.
39957 (grub_term_get_current): Split in ...
39958 (grub_term_get_current_input): ... this, and ...
39959 (grub_term_get_current_output): ... this.
39960 (grub_term_register): Split in ...
39961 (grub_term_register_input): ... this, and ...
39962 (grub_term_register_output): ... this.
39963 (grub_term_unregister): Split in ...
39964 (grub_term_unregister_input): ... this, and ...
39965 (grub_term_unregister_output): ... this.
39966 (grub_term_iterate): Split in ...
39967 (grub_term_iterate_input): ... this, and ...
39968 (grub_term_iterate_output): ... this.
39969
39970 * kern/term.c (grub_term_list): Split in ...
39971 (grub_term_list_input): ... this, and ...
39972 (grub_term_list_output): ... this. Update all users.
39973 (grub_cur_term): Split in ...
39974 (grub_cur_term_input): ... this, and ...
39975 (grub_cur_term_output): ... this. Update all users.
39976 (grub_term_set_current): Split in ...
39977 (grub_term_set_current_input): ... this, and ...
39978 (grub_term_set_current_output): ... this.
39979 (grub_term_get_current): Split in ...
39980 (grub_term_get_current_input): ... this, and ...
39981 (grub_term_get_current_output): ... this.
39982 (grub_term_register): Split in ...
39983 (grub_term_register_input): ... this, and ...
39984 (grub_term_register_output): ... this.
39985 (grub_term_unregister): Split in ...
39986 (grub_term_unregister_input): ... this, and ...
39987 (grub_term_unregister_output): ... this.
39988 (grub_term_iterate): Split in ...
39989 (grub_term_iterate_input): ... this, and ...
39990 (grub_term_iterate_output): ... this.
39991
39992 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39993 a check for input and one for output (and only attempt to get keys
39994 from user when input works).
39995
39996 * util/grub-probe.c (grub_term_get_current): Split in ...
39997 (grub_term_get_current_input): ... this, and ...
39998 (grub_term_get_current_output): ... this.
39999 * util/grub-fstest.c: Likewise.
40000 * util/i386/pc/grub-setup.c: Likewise.
40001 * util/grub-editenv.c: Likewise.
40002
40003 Portability adjustments:
40004
40005 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40006 `term/i386/pc/at_keyboard.c'.
40007 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40008 grub_keyboard_controller_init() (now handled by terminal .init).
40009 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40010 grub_at_keyboard_init().
40011 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40012 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40013 at_keyboard.mod via input terminal interface).
40014 * include/grub/i386/coreboot/console.h: Convert into a stub for
40015 `<grub/i386/pc/console.h>'.
40016
40017 Migrate full terminals to new API:
40018
40019 * term/efi/console.c (grub_console_term): Split into ...
40020 (grub_console_term_input): ... this, and ...
40021 (grub_console_term_output): ... this. Update all users.
40022 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40023 (grub_ofconsole_init): Split into ...
40024 (grub_ofconsole_init_input): ... this, and ...
40025 (grub_ofconsole_init_output): ... this.
40026 (grub_ofconsole_term): Split into ...
40027 (grub_ofconsole_term_input): ... this, and ...
40028 (grub_ofconsole_term_output): ... this. Update all users.
40029 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40030 (grub_serial_term_input): ... this, and ...
40031 (grub_serial_term_output): ... this. Update all users.
40032 * term/i386/pc/console.c (grub_console_term): Split into ...
40033 (grub_console_term_input): ... this, and ...
40034 (grub_console_term_output): ... this. Update all users.
40035 (grub_console_term_input): Only enable it on PC/BIOS platform.
40036 (grub_console_init): Remove grub_keyboard_controller_init() call.
40037
40038 Migrate input terminals to new API:
40039
40040 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40041 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40042 i386-specific anyway).
40043 (grub_console_checkkey): Rename to ...
40044 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40045 users.
40046 (grub_keyboard_controller_orig): New variable.
40047 (grub_console_getkey): Rename to ...
40048 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40049 users.
40050 (grub_keyboard_controller_init): Static-ize. Save original
40051 controller value so that it can be restored ...
40052 (grub_keyboard_controller_fini): ... here (new function).
40053 (grub_at_keyboard_term): New structure.
40054 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40055 functions.
40056
40057 Migrate output terminals to new API:
40058
40059 * term/i386/pc/vga.c (grub_vga_term): Change type to
40060 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40061 members. Update all users.
40062 * term/gfxterm.c (grub_video_term): Change type to
40063 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40064 members. Update all users.
40065 * include/grub/i386/pc/console.h (grub_console_checkkey)
40066 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40067 etc).
40068
40069 Migrate `terminal' command and userland tools to new API:
40070
40071 * commands/terminal.c (grub_cmd_terminal): Split into ...
40072 (grub_cmd_terminal_input): ... this, and ...
40073 (grub_cmd_terminal_output): ... this.
40074 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40075 `terminal_input' and `terminal_output'.
40076 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40077 `terminal_input' / `terminal_output' API.
40078 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40079 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40080 provided ${GRUB_TERMINAL}, convert it).
40081
40082 2008-11-04 Robert Millan <rmh@aybabtu.com>
40083
40084 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40085 for FreeBSD.
40086 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40087
40088 2008-11-03 Bean <bean123ch@gmail.com>
40089
40090 * kern/elf.c (grub_elf32_load): Revert to previous code.
40091 (grub_elf64_load): Likewise.
40092
40093 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40094
40095 2008-11-01 Robert Millan <rmh@aybabtu.com>
40096
40097 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40098 (TARGET_CPPFLAGS): Likewise.
40099 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40100
40101 2008-11-01 Carles Pina i Estany <carles@pina.cat>
40102
40103 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40104
40105 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40106
40107 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40108 addition of objects until the code is not going to be able to fail.
40109
40110 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40111
40112 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40113 (add a missing NULL check, and correct them by moving the pointer
40114 operations after the actual check).
40115
40116 2008-10-29 Robert Millan <rmh@aybabtu.com>
40117
40118 * util/i386/pc/grub-install.in: Handle empty string as output from
40119 make_system_path_relative_to_its_root().
40120
40121 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40122
40123 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40124 circular metadata worst case scenario. If the metadata is circular
40125 then copy the wrap in place.
40126 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40127 project lib/format_text/layout.h
40128 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40129
40130 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40131
40132 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
40133
40134 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40135
40136 * util/update-grub_lib.in: Mention filename in warning message.
40137
40138 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40139
40140 * NEWS: Update for rename of update-grub to grub-mkconfig.
40141
40142 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40143
40144 * util/update-grub_lib.in: Copy to ...
40145 * util/grub-mkconfig_lib.in: ... this. Update all users.
40146 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
40147 * util/update-grub.in: Rename to ...
40148 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40149 option. Add `--output' option to allow users to specify the generated
40150 configuration file. Default to stdout.
40151 (update_grub_dir): Rename to ...
40152 (grub_mkconfig_dir): ... this.
40153 (grub_cfg): Default to an empty string.
40154 * conf/common.rmk (update-grub): Rename to ...
40155 (grub-mkconfig): ... this.
40156 (update-grub_lib): Copy to ...
40157 (grub-mkconfig_lib): ... this.
40158 (update-grub_SCRIPTS): Copy to ...
40159 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40160 (update-grub_DATA): Rename to ...
40161 (grub-mkconfig_DATA): ... this.
40162
40163 2008-09-28 Robert Millan <rmh@aybabtu.com>
40164
40165 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40166 to `modified'. Add the real `created' field.
40167 (grub_iso9660_uuid): Use `modified' rather than `created' for
40168 constructing the UUID.
40169
40170 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
40171
40172 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40173 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40174
40175 2008-09-28 Bean <bean123ch@gmail.com>
40176
40177 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40178 Thanks to Christian Franke for finding this bug.
40179
40180 2008-09-25 Robert Millan <rmh@aybabtu.com>
40181
40182 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40183 instances of grub_util_get_disk_name() (see previous commit).
40184
40185 2008-09-25 Robert Millan <rmh@aybabtu.com>
40186
40187 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40188 `util/i386/get_disk_name.c'.
40189 * conf/i386-efi.rmk: Likewise.
40190 * conf/x86_64-efi.rmk: Likewise.
40191 * conf/i386-coreboot.rmk: Likewise.
40192 * conf/i386-ieee1275.rmk: Likewise.
40193 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40194 `util/ieee1275/get_disk_name.c'.
40195 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40196 * util/ieee1275/get_disk_name.c: Remove file.
40197 * util/i386/get_disk_name.c: Remove file.
40198 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40199 "hd%d" for device.map entries, rather than using
40200 grub_util_get_disk_name().
40201
40202 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40203
40204 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40205 warning.
40206 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40207
40208 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40209
40210 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40211 Changed to 0x5100.
40212 (GRUB_TERM_PPAGE): Changed to 0x4900.
40213
40214 2008-09-24 Robert Millan <rmh@aybabtu.com>
40215
40216 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40217 macros (they were i386-pc specific).
40218 * include/grub/sparc64/ieee1275/console.h: Likewise.
40219 * include/grub/efi/console.h: Likewise.
40220
40221 2008-09-22 Bean <bean123ch@gmail.com>
40222
40223 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40224 resident and in attribute list.
40225
40226 * include/grub/ntfs.h (BMP_LEN): Removed.
40227
40228 2008-09-22 Bean <bean123ch@gmail.com>
40229
40230 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
40231 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40232
40233 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40234 error occurs, as grub_disk_open will call grub_disk_close, which will
40235 call p->close (scsi).
40236
40237 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40238
40239 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40240 (AC_PREREQ): Bumped to 2.59.
40241 (AC_TRY_COMPILE): Replace obsolete macro with ...
40242 (AC_COMPILE_IFELSE): ... this.
40243 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40244 (AC_LINK_IFELSE): ... this.
40245
40246 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40247
40248 * autogen.sh: Add a call to `gendistlist.sh'.
40249
40250 2008-09-19 Christian Franke <franke@computer.org>
40251
40252 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40253 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40254 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40255 Export __enable_execute_stack() to modules.
40256 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40257 New function.
40258
40259 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40260
40261 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40262 Sort the list.
40263
40264 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40265
40266 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
40267 #include <grub/util/hostdisk.h>.
40268
40269 2008-09-08 Robert Millan <rmh@aybabtu.com>
40270
40271 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40272 segments when their filesz is zero (grub_file_read() interprets
40273 zero-size as "read until EOF", which results in memory corruption).
40274 Use `lowest_segment' rather than 0 for calculating the current
40275 segment load address.
40276
40277 2008-09-08 Robert Millan <rmh@aybabtu.com>
40278
40279 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40280 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40281 clobbered useful information.
40282
40283 2008-09-08 Robert Millan <rmh@aybabtu.com>
40284
40285 * include/grub/util/biosdisk.h: Move to ...
40286 * include/grub/util/hostdisk.h: ... here. Update all users.
40287 * util/biosdisk.c: Move to ...
40288 * util/hostdisk.c: ... here. Update all users.
40289
40290 2008-09-07 Robert Millan <rmh@aybabtu.com>
40291
40292 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40293 variables.
40294 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40295 and length can be stored directly in the `mbi->mmap_addr' and
40296 `mbi->mmap_length' struct fields.
40297
40298 2008-09-07 Robert Millan <rmh@aybabtu.com>
40299
40300 * conf/i386.rmk: New file. Provides declaration for building
40301 `cpuid.mod'.
40302 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40303 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40304 variables.
40305 Include `conf/i386.mk'.
40306 * conf/i386-efi.rmk: Likewise.
40307 * conf/x86_64-efi.rmk: Likewise.
40308 * conf/i386-coreboot.rmk: Likewise.
40309 * conf/i386-ieee1275.rmk: Likewise.
40310
40311 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40312
40313 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40314 Adds optimization support for BGR based modes.
40315
40316 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40317 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40318 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40319 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40320 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40321 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40322 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40323 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40324 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40325 (grub_video_i386_vbeblit_index_index): Likewise.
40326 (grub_video_i386_vbeblit_replace_directN): Added.
40327 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40328 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40329 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40330 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40331 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40332 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40333 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40334 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40335 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40336 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40337 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40338 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40339 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40340
40341 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40342 (grub_video_i386_vbefill_R8G8B8): Likewise.
40343 (grub_video_i386_vbefill_index): Likewise.
40344 (grub_video_i386_vbefill_direct32): Added.
40345 (grub_video_i386_vbefill_direct24): Likewise.
40346 (grub_video_i386_vbefill_direct16): Likewise.
40347 (grub_video_i386_vbefill_direct8): Likewise.
40348
40349 * include/grub/video.h (grub_video_blit_format): Removed
40350 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40351 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40352 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40353 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40354 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
40355
40356 * video/video.c (grub_video_get_blit_format): Updated to use new
40357 blit formats. Added handling for 16 bit color modes.
40358
40359 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
40360 fillers.
40361 (common_blitter): Updated to use new blitters.
40362
40363 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40364 Removed.
40365 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40367 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40368 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40369 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40370 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40371 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40372 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40373 (grub_video_i386_vbeblit_index_index): Likewise.
40374 (grub_video_i386_vbeblit_replace_directN): Added.
40375 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40376 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40377 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40378 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40379 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40380 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40381 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40382 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40383 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40384 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40385 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40386 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40387 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40388
40389 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40390 (grub_video_i386_vbefill_R8G8B8): Likewise.
40391 (grub_video_i386_vbefill_index): Likewise.
40392 (grub_video_i386_vbefill_direct32): Added.
40393 (grub_video_i386_vbefill_direct24): Likewise.
40394 (grub_video_i386_vbefill_direct16): Likewise.
40395 (grub_video_i386_vbefill_direct8): Likewise.
40396
40397 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40398 types.
40399
40400 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40401 types.
40402
40403 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40404 blitter types.
40405
40406 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40407 types.
40408
40409 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40410
40411 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40412 RAID level 1.
40413
40414 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40415
40416 * fs/iso9660.c (grub_iso9660_date): New structure.
40417 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40418 (grub_iso9660_uuid): New function.
40419
40420 2008-09-05 Bean <bean123ch@gmail.com>
40421
40422 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40423
40424 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40425 insensitive bit for names in Win32 and Win32 & DOS namespace.
40426
40427 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40428
40429 * include/grub/types.h (LONG_MAX): Likewise.
40430
40431 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40432
40433 * util/getroot.c: Include <config.h>.
40434 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40435 add support for /dev/md/N devices and handle LVM double dash escaping.
40436
40437 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40438
40439 * config.guess: Update to latest version from config git.
40440 * config.sub: Likewise.
40441
40442 2008-09-03 Robert Millan <rmh@aybabtu.com>
40443
40444 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40445 `disk->total_sectors'.
40446
40447 2008-09-01 Colin D Bennett <colin@gibibit.com>
40448
40449 * include/grub/normal.h: Fixed incorrect comment for
40450 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40451
40452 2008-09-01 Colin D Bennett <colin@gibibit.com>
40453
40454 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40455 values with defines.
40456
40457 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40458 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40459 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40460 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40461 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40462 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40463 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40464 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40465 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40466 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40467 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40468 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40469 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40470 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40471 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40472 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40473 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40474 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40475 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40476
40477 2008-08-31 Robert Millan <rmh@aybabtu.com>
40478
40479 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40480 declaration.
40481 (grub_multiboot): Fix a few warnings.
40482
40483 2008-08-31 Robert Millan <rmh@aybabtu.com>
40484
40485 * loader/i386/pc/multiboot.c: Update comment not to say that
40486 boot_device support is unimplemented.
40487
40488 2008-08-31 Robert Millan <rmh@aybabtu.com>
40489
40490 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40491 or memory map support are unimplemented.
40492
40493 2008-08-31 Colin D Bennett <colin@gibibit.com>
40494
40495 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40496
40497 2008-08-31 Colin D Bennett <colin@gibibit.com>
40498
40499 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40500 total video memory in 'vbeinfo' output; show color format details for
40501 each video mode.
40502
40503 2008-08-30 Pavel Roskin <proski@gnu.org>
40504
40505 * util/genmoddep.c: Remove for real this time.
40506 * DISTLIST: Remove util/genmoddep.c.
40507
40508 2008-08-30 Robert Millan <rmh@aybabtu.com>
40509
40510 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40511 as required by Multiboot spec (it was already 4-byte aligned, but
40512 only by chance).
40513
40514 2008-08-29 Pavel Roskin <proski@gnu.org>
40515
40516 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40517 * kern/powerpc/ieee1275/startup.S: ... this.
40518 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40519 * DISTLIST: Likewise.
40520
40521 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40522 grub/cpu/kernel.h. Add start label for consistency with other
40523 platforms. Add grub_prefix immediately after start. Add jump
40524 to the code after grub_prefix.
40525 * include/grub/powerpc/kernel.h: Provide valid values for
40526 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40527
40528 2008-08-29 Bean <bean123ch@gmail.com>
40529
40530 * configure.ac: Change host_os to cygwin for mingw.
40531 (asprintf): New check for function.
40532
40533 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40534 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40535
40536 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
40537 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
40538 sync, sleep and grub_util_get_disk_size for mingw.
40539
40540 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40541 to get size in mingw.
40542 (open_device): Use flag O_BINARY if it's defined.
40543 (find_root_device): Add dummy code for mingw.
40544
40545 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40546 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40547 (get_scsi_disk_name): Return 0 for mingw.
40548
40549 * util/hostfs.c: #include <grub/util/misc.h>.
40550 (grub_hostfs_open): Use "rb" flag to open file, use
40551 grub_util_get_disk_size to get disk size for mingw.
40552
40553 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40554 (asprintf): New function if HAVE_ASPRINTF is not set.
40555 (sync): New function for mingw.
40556 (sleep): Likewise.
40557 (grub_util_get_disk_size): Likewise.
40558
40559 2008-08-28 Pavel Roskin <proski@gnu.org>
40560
40561 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40562 kern/time.c.
40563
40564 2008-08-28 Robert Millan <rmh@aybabtu.com>
40565
40566 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40567
40568 2008-08-28 Robert Millan <rmh@aybabtu.com>
40569
40570 Change find_grub_drive() syntax so it doesn't prevent it from
40571 detecting NULL names as errors.
40572
40573 * util/biosdisk.c (find_grub_drive): Move free slot search code
40574 from here ...
40575 (find_free_slot): ... to here.
40576 (read_device_map): Use find_free_slot() to search for free slots.
40577
40578 2008-08-27 Marco Gerards <marco@gnu.org>
40579
40580 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40581 (scsi_mod_SOURCES): New variable.
40582 (scsi_mod_CFLAGS): Likewise
40583 (scsi_mod_LDFLAGS): Likewise.
40584
40585 * disk/scsi.c: New file.
40586
40587 * include/grub/scsi.h: Likewise.
40588
40589 * include/grub/scsicmd.h: Likewise.
40590
40591 * disk/ata.c: Include <grub/scsi.h>.
40592 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40593 instead.
40594 (grub_ata_iterate): Skip ATAPI devices.
40595 (grub_ata_open): Only handle ATAPI devices.
40596 (struct grub_atapi_read): Removed.
40597 (grub_atapi_readsector): Likewise.
40598 (grub_ata_read): No longer handle ATAPI devices.
40599 (grub_ata_write): Likewise.
40600 (grub_atapi_iterate): New function.
40601 (grub_atapi_read): Likewise.
40602 (grub_atapi_write): Likewise.
40603 (grub_atapi_open): Likewise.
40604 (grub_atapi_close): Likewise.
40605 (grub_atapi_dev): New variable.
40606 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40607 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40608
40609 * include/grub/disk.h (enum grub_disk_dev_id): Add
40610 `GRUB_DISK_DEVICE_SCSI_ID'.
40611
40612 2008-08-26 Robert Millan <rmh@aybabtu.com>
40613
40614 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40615 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40616 descriptive.
40617
40618 2008-08-23 Bean <bean123ch@gmail.com>
40619
40620 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40621 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40622 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40623 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40624 dm_nv.mod.
40625 (raid5rec_mod_SOURCES): New macro.
40626 (raid5rec_mod_CFLAGS): Likewise.
40627 (raid5rec_mod_LDFLAGS): Likewise.
40628 (raid6rec_mod_SOURCES): Likewise.
40629 (raid6rec_mod_CFLAGS): Likewise.
40630 (raid6rec_mod_LDFLAGS): Likewise.
40631 (mdraid_mod_SOURCES): Likewise.
40632 (mdraid_mod_CFLAGS): Likewise.
40633 (mdraid_mod_LDFLAGS): Likewise.
40634 (dm_nv_mod_SOURCES): Likewise.
40635 (dm_nv_mod_CFLAGS): Likewise.
40636 (dm_nv_mod_LDFLAGS): Likewise.
40637
40638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40639 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40640 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40641
40642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40643 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40644
40645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40646
40647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40648
40649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40650
40651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40652
40653 * disk/raid5_recover.c: New file.
40654
40655 * disk/raid6_recover.c: Likewise.
40656
40657 * disk/mdraid_linux.c: Likewise.
40658
40659 * disk/dmraid_nvidia.c: Likewise.
40660
40661 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40662 ULONG_MAX.
40663
40664 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40665 calculate the size of raid device.
40666 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40667 different layout of raid5.
40668 (grub_raid_scan_device): Remove code specific to mdraid.
40669 (grub_raid_list): New variable.
40670 (free_array): New function.
40671 (grub_raid_register): Likewise.
40672 (grub_raid_unregister): Likewise.
40673 (grub_raid_rescan): Likewise.
40674 (GRUB_MOD_INIT): Don't iterate device here.
40675 (GRUB_MOD_FINI): Use free_array to release resource.
40676
40677 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40678 (grub_raid5_recover_func_t): New function variable type.
40679 (grub_raid6_recover_func_t): Likewise.
40680 (grub_raid5_recover_func): New variable.
40681 (grub_raid6_recover_func): Likewise.
40682 (grub_raid_register): New function.
40683 (grub_raid_unregister): Likewise.
40684 (grub_raid_rescan): Likewise.
40685 (grub_raid_block_xor): Likewise.
40686
40687 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40688 (CMD_CRC): New macro.
40689 (part): Removed.
40690 (read_file): Handle device as well as file.
40691 (cmd_crc): New function.
40692 (fstest): Handle multiple disks.
40693 (options): Remove part, raw and long, add root and diskcount.
40694 (usage): Add crc, remove -p, -r, -l, add -r and -c.
40695 (main): Find the first non option entry and ignore subsequent options,
40696 add handling for the new options, support multiple disks.
40697
40698 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40699
40700 2008-08-23 Bean <bean123ch@gmail.com>
40701
40702 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40703
40704 * genfslist.sh: Ignore kernel.mod.
40705
40706 * genpartmaplist.sh: Likewise.
40707
40708 2008-08-23 Robert Millan <rmh@aybabtu.com>
40709
40710 * util/getroot.c (find_root_device): Skip anything that starts with
40711 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40712
40713 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
40714
40715 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40716 * util/grub.d/00_header.in: Allow the administrator to change default
40717 gfxmode via ${GRUB_GFXMODE}.
40718
40719 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
40720
40721 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40722
40723 2008-08-21 Robert Millan <rmh@aybabtu.com>
40724
40725 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40726 loader.
40727 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40728 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40729
40730 2008-08-20 Carles Pina i Estany <carles@pina.cat>
40731
40732 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40733 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40734
40735 2008-08-19 Robert Millan <rmh@aybabtu.com>
40736
40737 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40738 (struct grub_virtual_screen): Remove `cursor_color'.
40739 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40740 initialization.
40741 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40742
40743 2008-08-18 Robert Millan <rmh@aybabtu.com>
40744
40745 Unify (identical) linux_normal.c files.
40746 * loader/i386/efi/linux_normal.c: Move from here ...
40747 * loader/linux_normal.c: ... to here. Update all users.
40748 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40749 * loader/i386/ieee1275/linux_normal.c: Likewise.
40750
40751 2008-08-18 Robert Millan <rmh@aybabtu.com>
40752
40753 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40754 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40755 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40756 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40757 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40758 New macros.
40759 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40760 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40761 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40762 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40763 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40764 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40765 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40766 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40767 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40768 portably using grub_getxy().
40769 Replace `-EFI' with `-bzImage' in boot message.
40770
40771 2008-08-17 Robert Millan <rmh@aybabtu.com>
40772
40773 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40774
40775 2008-08-17 Robert Millan <rmh@aybabtu.com>
40776
40777 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40778
40779 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40780 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40781 (grub_machine_mmap_iterate): New function declaration.
40782 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40783 structure.
40784 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40785 macros.
40786
40787 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40788 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40789 Move e820 parsing from here ...
40790 * kern/i386/pc/mmap.c: New file.
40791 (grub_machine_mmap_iterate): ... to here.
40792
40793 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40794 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40795 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40796 (grub_available_iterate): Redeclare to return `void', and redeclare
40797 its hook to use grub_uint64_t as addr and size parameters, and rename
40798 to ...
40799 (grub_machine_mmap_iterate): ... this. Update all users.
40800
40801 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40802 to make it more readable. Rename to ...
40803 (grub_machine_mmap_iterate): ... this.
40804
40805 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40806 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40807 (grub_multiboot): Allocate an extra region after the payload, and fill
40808 it with a Multiboot memory map. Adjust a.out loader to calculate size
40809 with the extra space.
40810 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40811 with the extra space.
40812
40813 2008-08-17 Carles Pina i Estany <carles@pina.cat>
40814
40815 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
40816
40817 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
40818
40819 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40820 mdate-sh to the list `find' searches for.
40821 * DISTLIST: Regenerated.
40822
40823 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
40824
40825 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40826 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
40827 genmoddep.awk, gensymlist.sh.in.
40828 (DISTDIRS): Add bus, docs, hook, lib.
40829 * DISTLIST: Regenerated.
40830 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
40831
40832 2008-08-16 Robert Millan <rmh@aybabtu.com>
40833
40834 * disk/raid.c (grub_raid_init): Handle/report errors set by
40835 grub_device_iterate().
40836 * disk/lvm.c (grub_lvm_init): Likewise.
40837
40838 2008-08-15 Bean <bean123ch@gmail.com>
40839
40840 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40841 and datehook.mod.
40842 (datetime_mod_SOURCES): New macro.
40843 (datetime_mod_CFLAGS): Likewise.
40844 (datetime_mod_LDFLAGS): Likewise.
40845 (date_mod_SOURCES): Likewise.
40846 (date_mod_CFLAGS): Likewise.
40847 (date_mod_LDFLAGS): Likewise.
40848 (datehook_mod_SOURCES): Likewise.
40849 (datehook_mod_CFLAGS): Likewise.
40850 (datehook_mod_LDFLAGS): Likewise.
40851
40852 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40853 and datehook.mod.
40854 (datetime_mod_SOURCES): New macro.
40855 (datetime_mod_CFLAGS): Likewise.
40856 (datetime_mod_LDFLAGS): Likewise.
40857 (date_mod_SOURCES): Likewise.
40858 (date_mod_CFLAGS): Likewise.
40859 (date_mod_LDFLAGS): Likewise.
40860 (datehook_mod_SOURCES): Likewise.
40861 (datehook_mod_CFLAGS): Likewise.
40862 (datehook_mod_LDFLAGS): Likewise.
40863
40864 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40865 and datehook.mod.
40866 (datetime_mod_SOURCES): New macro.
40867 (datetime_mod_CFLAGS): Likewise.
40868 (datetime_mod_LDFLAGS): Likewise.
40869 (date_mod_SOURCES): Likewise.
40870 (date_mod_CFLAGS): Likewise.
40871 (date_mod_LDFLAGS): Likewise.
40872 (datehook_mod_SOURCES): Likewise.
40873 (datehook_mod_CFLAGS): Likewise.
40874 (datehook_mod_LDFLAGS): Likewise.
40875
40876 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40877 and datehook.mod.
40878 (datetime_mod_SOURCES): New macro.
40879 (datetime_mod_CFLAGS): Likewise.
40880 (datetime_mod_LDFLAGS): Likewise.
40881 (date_mod_SOURCES): Likewise.
40882 (date_mod_CFLAGS): Likewise.
40883 (date_mod_LDFLAGS): Likewise.
40884 (datehook_mod_SOURCES): Likewise.
40885 (datehook_mod_CFLAGS): Likewise.
40886 (datehook_mod_LDFLAGS): Likewise.
40887
40888 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40889 and datehook.mod.
40890 (datetime_mod_SOURCES): New macro.
40891 (datetime_mod_CFLAGS): Likewise.
40892 (datetime_mod_LDFLAGS): Likewise.
40893 (date_mod_SOURCES): Likewise.
40894 (date_mod_CFLAGS): Likewise.
40895 (date_mod_LDFLAGS): Likewise.
40896 (datehook_mod_SOURCES): Likewise.
40897 (datehook_mod_CFLAGS): Likewise.
40898 (datehook_mod_LDFLAGS): Likewise.
40899
40900 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40901
40902 * commands/date.c: New file.
40903
40904 * hook/datehook.c: Likewise.
40905
40906 * include/grub/lib/datetime.h: Likewise.
40907
40908 * include/grub/i386/cmos.h: Likewise.
40909
40910 * lib/datetime.c: Likewise.
40911
40912 * lib/i386/datetime.c: Likewise.
40913
40914 * lib/efi/datetime.c: Likewise.
40915
40916 2008-08-14 Robert Millan <rmh@aybabtu.com>
40917
40918 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40919 (grub_mkelfimage_SOURCES): New variable.
40920 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40921
40922 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40923 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40924 * conf/powerpc-ieee1275.rmk: Likewise.
40925 * conf/i386-ieee1275.rmk: Likewise.
40926
40927 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40928 * kern/i386/coreboot/init.c: Likewise.
40929
40930 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40931 with `<grub/cpu/kernel.h>'.
40932 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40933 to ...
40934 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40935 * kern/i386/coreboot/startup.S: Likewise.
40936
40937 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40938 (GRUB_MOD_GAP): Remove.
40939 * include/grub/powerpc/kernel.h: New file.
40940 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40941 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40942 * include/grub/i386/kernel.h: New file.
40943 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40944 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40945 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40946
40947 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40948 `grub-mkelfimage'.
40949 Use --directory when invoking grub_mkimage.
40950
40951 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40952 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40953 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40954 and GRUB_KERNEL_CPU_PREFIX.
40955
40956 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
40957
40958 * include/grub/err.h (grub_err_printf): New function prototype.
40959 * util/misc.c (grub_err_printf): New function.
40960 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40961 grub_printf.
40962 * kern/err.c (grub_print_error): Use grub_err_printf.
40963
40964 2008-08-13 Robert Millan <rmh@aybabtu.com>
40965
40966 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40967
40968 2008-08-13 Robert Millan <rmh@aybabtu.com>
40969
40970 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40971 boot entry.
40972
40973 2008-08-12 Robert Millan <rmh@aybabtu.com>
40974
40975 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40976 of the relocation code from here ...
40977 (grub_multiboot): ... to here.
40978 (forward_relocator, backward_relocator): Move from here ...
40979 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40980 (grub_multiboot_backward_relocator): ... to here.
40981 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40982 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40983 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40984 (grub_multiboot_forward_relocator_end)
40985 (grub_multiboot_backward_relocator)
40986 (grub_multiboot_backward_relocator_end): New variables.
40987
40988 2008-08-12 Bean <bean123ch@gmail.com>
40989
40990 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40991
40992 2008-08-11 Robert Millan <rmh@aybabtu.com>
40993
40994 * kern/i386/linuxbios/startup.S: Move from here ...
40995 * kern/i386/coreboot/startup.S: ... to here.
40996
40997 * kern/i386/linuxbios/init.c: Move from here ...
40998 * kern/i386/coreboot/init.c: ... to here.
40999
41000 * kern/i386/linuxbios/table.c: Move from here ...
41001 * kern/i386/coreboot/mmap.c: ... to here.
41002
41003 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41004
41005 2008-08-11 Robert Millan <rmh@aybabtu.com>
41006
41007 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41008 errors. Leave it to the upper layer to handle them.
41009
41010 2008-08-09 Christian Franke <franke@computer.org>
41011
41012 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41013 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41014 Install `grub.d/10_windows' only on Cygwin.
41015 * configure.ac: Add subst of `target_os'.
41016 Check `target_os' also before setting TARGET_OBJ2ELF.
41017 Add `--enable-grub-pe2elf'.
41018
41019 2008-08-08 Robert Millan <rmh@aybabtu.com>
41020
41021 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41022 (grub_last_time): Change type to grub_uint64_t.
41023 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41024 (grub_disk_close): Likewise.
41025
41026 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41027 (run_menu): Migrate code from to using grub_get_time_ms().
41028
41029 * util/misc.c (grub_get_time_ms): New function.
41030
41031 2008-08-08 Marco Gerards <marco@gnu.org>
41032
41033 * disk/ata.c (grub_ata_regget): Change return type to
41034 `grub_uint8_t'.
41035 (grub_ata_regget2): Likewise.
41036 (grub_ata_wait_status): New function.
41037 (grub_ata_wait_busy): Removed function, updated all users to use
41038 `grub_ata_wait_status'.
41039 (grub_ata_wait_drq): Likewise.
41040 (grub_ata_cmd): New function.
41041 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41042 error handling.
41043 (grub_ata_pio_write): Add error handling.
41044 (grub_atapi_identify): Likewise.
41045 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41046 handling.
41047 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41048 handling. Actually use the detected registers. Reorder the
41049 detection logic such that it is easier to read.
41050 (grub_ata_pciinit): Do not assign the same ID to each controller.
41051 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41052 handling.
41053 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41054
41055 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41056
41057 2008-08-08 Marco Gerards <marco@gnu.org>
41058
41059 * NEWS: Update.
41060
41061 2008-08-07 Bean <bean123ch@gmail.com>
41062
41063 * include/grub/x86_64/pci.h: New file.
41064
41065 2008-08-07 Christian Franke <franke@computer.org>
41066
41067 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41068 (TIMER2_GATE): Likewise.
41069 (grub_pit_wait): Add enable/disable of the timer2 gate
41070 bit of port 0x61. This fixes a possible infinite loop.
41071
41072 2008-08-07 Bean <bean123ch@gmail.com>
41073
41074 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41075 kern/i386/tsc.c and kern/i386/pit.c.
41076
41077 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41078 x86_64 platform.
41079
41080 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41081 <grub/i386/tsc.h>.
41082
41083 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41084
41085 2008-08-07 Bean <bean123ch@gmail.com>
41086
41087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41088
41089 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41090
41091 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41092 multiple inclusion. Add #include <grub/types.h>.
41093
41094 2008-08-06 Christian Franke <franke@computer.org>
41095
41096 * conf/common.rmk: Build and install `10_windows'.
41097 * util/grub.d/10_windows.in: New script.
41098
41099 2008-08-06 Pavel Roskin <proski@gnu.org>
41100
41101 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41102
41103 2008-08-06 Robert Millan <rmh@aybabtu.com>
41104
41105 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41106 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41107
41108 2008-08-06 Bean <bean123ch@gmail.com>
41109
41110 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41111 (grub_pxefs_fs_int): Remove dummy definition.
41112 (grub_pxefs_open): Use data->block_size to store the current block
41113 size setting.
41114 (grub_pxefs_read): Use block size stored in data->block_size. As the
41115 value of grub_pxe_blksize can be changed after the file is opened.
41116
41117 2008-08-06 Bean <bean123ch@gmail.com>
41118
41119 * fs/i386/pc/pxe.c (curr_file): new variable.
41120 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41121 require the dummy internal file system anymore.
41122 (grub_pxefs_read): Removed.
41123 (grub_pxefs_close): Likewise.
41124 (grub_pxefs_fs_int): Likewise.
41125 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41126 connection when we switch file.
41127 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41128
41129 2008-08-06 Robert Millan <rmh@aybabtu.com>
41130
41131 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41132 `halt.mod'.
41133 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41134 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41135
41136 * kern/i386/halt.c: New file.
41137 * kern/i386/reboot.c: Likewise.
41138 * include/grub/i386/reboot.h: Likewise.
41139 * include/grub/i386/halt.h: Likewise.
41140
41141 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41142 Include `<grub/cpu/halt.h>'.
41143 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41144 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41145
41146 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41147 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41148 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41149 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41150 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41151 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41152 from here ...
41153 * include/grub/i386/at_keyboard.h: ... to here.
41154
41155 2008-08-05 Robert Millan <rmh@aybabtu.com>
41156
41157 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41158 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41159 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41160 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41161 `kern/generic/millisleep.c'.
41162
41163 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41164 instead of grub_get_rtc().
41165 (grub_tsc_init): Initialize `tsc_boot_time'.
41166
41167 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41168 (grub_machine_init): Use grub_tsc_init() rather than
41169 installing an RTC-based handler via grub_install_get_time_ms().
41170
41171 * kern/i386/pit.c: New file.
41172 * include/grub/i386/pit.h: Likewise.
41173
41174 2008-08-05 Bean <bean123ch@gmail.com>
41175
41176 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41177
41178 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41179 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41180 (pxe_mod_SOURCES): New macro.
41181 (pxe_mod_CFLAGS): Likewise.
41182 (pxe_mod_LDFLAGS): Likewise.
41183 (pxecmd_mod_SOURCES): Likewise.
41184 (pxecmd_mod_CFLAGS): Likewise.
41185 (pxecmd_mod_LDFLAGS): Likewise.
41186
41187 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41188 (grub_pxe_call): Likewise.
41189
41190 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41191
41192 * commands/i386/pc/pxecmd.c: New file.
41193
41194 * fs/i386/pc/pxe.c: Likewise.
41195
41196 * include/grub/i386/pc/pxe.h: Likewise.
41197
41198 2008-08-05 Bean <bean123ch@gmail.com>
41199
41200 * util/console.c (grub_console_cur_color): New variable.
41201 (grub_console_standard_color): Likewise.
41202 (grub_console_normal_color): Likewise.
41203 (grub_console_highlight_color): Likewise.
41204 (color_map): Likewise.
41205 (use_color): Likewise.
41206 (NUM_COLORS): New macro.
41207 (grub_ncurses_setcolorstate): Handle color properly.
41208 (grub_ncurses_setcolor): Don't change color here, just remember the
41209 settings, color will be set in grub_ncurses_setcolorstate.
41210 (grub_ncurses_getcolor): New function.
41211 (grub_ncurses_init): Initialize color pairs.
41212 (grub_ncurses_term): New member grub_ncurses_getcolor.
41213
41214 2008-08-05 Colin D Bennett <colin@gibibit.com>
41215
41216 High resolution timer support. Implemented for x86 CPUs using TSC.
41217 Extracted generic grub_millisleep() so it's linked in only as needed.
41218 This requires a Pentium compatible CPU; if the RDTSC instruction is
41219 not supported, then it falls back on the generic grub_get_time_ms()
41220 implementation that uses the machine's RTC.
41221
41222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41223 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41224 `kern/generic/millisleep.c'.
41225
41226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41227 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41228
41229 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41230 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41231
41232 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41233
41234 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41235 `kern/generic/millisleep.c'.
41236
41237 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41238
41239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41240
41241 * kern/generic/rtc_get_time_ms.c: New file.
41242
41243 * kern/generic/millisleep.c: New file.
41244
41245 * kern/misc.c: Don't include
41246 <kern/time.h> anymore.
41247 (grub_millisleep_generic): Removed.
41248
41249 * commands/sleep.c (grub_interruptible_millisleep): Uses
41250 grub_get_time_ms() instead of grub_get_rtc().
41251
41252 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41253 function.
41254 (grub_cpu_is_cpuid_supported): New inline function.
41255 (grub_cpu_is_tsc_supported): New inline function.
41256 (grub_tsc_init): New function prototype.
41257 (grub_tsc_get_time_ms): New function prototype.
41258
41259 * kern/i386/tsc.c (grub_get_time_ms): New file.
41260
41261 * include/grub/time.h: Include <grub/types.h.
41262 (grub_millisleep_generic): Removed.
41263 (grub_get_time_ms): New prototype.
41264 (grub_install_get_time_ms): New prototype.
41265 (grub_rtc_get_time_ms): New prototype.
41266
41267 * kern/time.c (grub_get_time_ms): New function.
41268 (grub_install_get_time_ms): New function.
41269
41270 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41271 <grub/time.h> anymore.
41272 (grub_millisleep): Removed.
41273 (grub_machine_init): Call grub_tsc_init.
41274
41275 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41276 get_time_ms() implementation.
41277
41278 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41279 (ieee1275_get_time_ms): New function.
41280 (grub_machine_init): Install get_time_ms() implementation.
41281
41282 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41283 (grub_machine_init): Call grub_tsc_init().
41284 (grub_millisleep): Removed.
41285
41286 * kern/ieee1275/init.c (grub_millisleep): Removed.
41287 (grub_machine_init): Install ieee1275_get_time_ms()
41288 implementation.
41289 (ieee1275_get_time_ms): New function.
41290 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41291 real work.
41292
41293 2008-08-05 Marco Gerards <marco@gnu.org>
41294
41295 * disk/ata.c: Include <grub/pci.h>.
41296 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41297 (grub_ata_initialize): Rewritten.
41298 (grub_ata_device_initialize): New function.
41299
41300 2008-08-04 Pavel Roskin <proski@gnu.org>
41301
41302 * kern/main.c: Include grub/mm.h.
41303
41304 2008-08-04 Robert Millan <rmh@aybabtu.com>
41305
41306 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41307 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41308 corruption problem).
41309
41310 2008-08-04 Robert Millan <rmh@aybabtu.com>
41311
41312 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41313 warnings introduced in my last commit.
41314
41315 2008-08-03 Robert Millan <rmh@aybabtu.com>
41316
41317 Make PCI available on all i386 architectures.
41318
41319 * include/grub/i386/pc/pci.h: Move from here ...
41320 * include/grub/i386/pci.h: ... to here.
41321
41322 * include/grub/i386/pc/pci.h: Remove.
41323 * include/grub/i386/efi/pci.h: Remove.
41324 * include/grub/x86_64/efi/pci.h: Remove.
41325
41326 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41327 `<grub/cpu/pci.h>'.
41328
41329 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41330 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41331 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41332
41333 * conf/i386-ieee1275.rmk: Likewise.
41334
41335 2008-08-03 Robert Millan <rmh@aybabtu.com>
41336
41337 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41338 (grub_console_setcursor): Make it possible to set cursor off.
41339
41340 2008-08-03 Robert Millan <rmh@aybabtu.com>
41341
41342 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41343 of modules instead of assuming which platform provides what.
41344 * util/update-grub.in: Likewise.
41345
41346 2008-08-03 Robert Millan <rmh@aybabtu.com>
41347
41348 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41349 instead of `grub_install_dos_part' to determine whether a drive needs
41350 to be prepended to prefix (`grub_install_dos_part' is not reliable,
41351 because it can be overridden when loading GRUB via Multiboot).
41352
41353 2008-08-02 Robert Millan <rmh@aybabtu.com>
41354
41355 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41356
41357 2008-08-02 Robert Millan <rmh@aybabtu.com>
41358
41359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41360 of informational grub_dprintf() calls.
41361
41362 2008-08-02 Robert Millan <rmh@aybabtu.com>
41363
41364 * disk/memdisk.c (memdisk_size): Don't initialize.
41365 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41366
41367 * include/grub/i386/pc/kernel.h
41368 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41369 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41370 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41371 (grub_arch_memdisk_size): Remove.
41372
41373 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41374 field (was only used to transfer a constant). Add `type' field to
41375 support multiple module types.
41376 (grub_module_iterate): New function.
41377
41378 * kern/device.c (grub_device_open): Do not hide error messages
41379 when grub_disk_open() fails. Use grub_print_error() instead.
41380
41381 * kern/i386/pc/init.c (grub_arch_modules_addr)
41382 (grub_arch_memdisk_size): Remove functions.
41383 (grub_arch_modules_addr): Return the module address in high memory
41384 (now that it isn't copied anymore).
41385
41386 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41387 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41388 decompression routine (grub_total_module_size already includes that
41389 now). Don't copy modules back to low memory.
41390
41391 * kern/main.c: Include `<grub/mm.h>'.
41392 (grub_load_modules): Split out (and use) ...
41393 (grub_module_iterate): ... this function, which iterates through
41394 module objects and runs a hook.
41395 Comment out grub_mm_init_region() call, as it would cause non-ELF
41396 modules to be overwritten.
41397
41398 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41399 the memdisk image in its own region, make it part of the module list.
41400 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41401 (main): Parse --memdisk|-m option, and pass user-provided path as
41402 parameter to generate_image().
41403 (add_segments): Pass `memdisk_path' down to load_modules().
41404 (load_modules): Embed memdisk image in module section when requested.
41405 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41406 `header.type' instead of `header.offset'.
41407
41408 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41409 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41410 (memdisk_mod_LDFLAGS): New variables.
41411 * conf/i386-coreboot.rmk: Likewise.
41412 * conf/i386-ieee1275.rmk: Likewise.
41413
41414 2008-08-02 Robert Millan <rmh@aybabtu.com>
41415
41416 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41417 (backward_relocator): New variables. Used to allocate and relocate
41418 the payload, respectively.
41419 (grub_multiboot_load_elf32): Load into heap instead of requested
41420 address, install the appropriate relocator code in each bound of
41421 the payload, and set the entry point such that
41422 grub_multiboot_real_boot() will jump to one of them.
41423
41424 * kern/i386/loader.S (grub_multiboot_payload_size)
41425 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41426 (grub_multiboot_payload_entry_offset): New variables.
41427 (grub_multiboot_real_boot): Set cpu context to what the relocator
41428 expects, and jump to the relocator instead of the payload.
41429
41430 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41431 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41432 (grub_multiboot_payload_entry_offset): Export.
41433
41434 2008-08-01 Bean <bean123ch@gmail.com>
41435
41436 * normal/menu_entry.c (editor_getline): Don't return the original
41437 string as result, as it will be released by lexer once it has done
41438 using it.
41439
41440 2008-08-01 Robert Millan <rmh@aybabtu.com>
41441
41442 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41443 within menuentries, not before them.
41444 util/grub.d/10_hurd.in: Likewise.
41445
41446 2008-08-01 Bean <bean123ch@gmail.com>
41447
41448 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41449 (bufio_mod_SOURCES): New macro.
41450 (bufio_mod_CFLAGS): Likewise.
41451 (bufio_mod_LDFLAGS): Likewise.
41452
41453 * include/grub/bufio.h: New file.
41454
41455 * io/bufio.c: Likewise.
41456
41457 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41458 (grub_video_reader_png): Use grub_buffile_open to open file.
41459
41460 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41461 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41462
41463 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41464 (grub_video_reader_tga): Use grub_buffile_open to open file.
41465
41466 * font/manager.c: Include <grub/bufio.h>.
41467 (add_font): Use grub_buffile_open to open file.
41468
41469 2008-07-31 Robert Millan <rmh@aybabtu.com>
41470
41471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41472 ELF segments, use a macro for arbitrarily accessing any of them instead
41473 of preparing a pointer that allows access to one at a time.
41474 (grub_multiboot_load_elf64): Likewise.
41475
41476 2008-07-31 Bean <bean123ch@gmail.com>
41477
41478 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41479 GRUB_KERNEL_MACHINE_DATA_END.
41480
41481 2008-07-30 Robert Millan <rmh@aybabtu.com>
41482
41483 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41484 Increase from 0x50 to 0x60.
41485 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41486 use UUIDs to identify the root drive for them. If that's not
41487 possible, abort.
41488 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41489 check, for cross-disk installs.
41490
41491 2008-07-30 Robert Millan <rmh@aybabtu.com>
41492
41493 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41494 is non-empty, use it to set the `prefix' environment variable instead
41495 of the usual approach.
41496 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41497 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41498 environment variable instead of dummy make_install_device().
41499
41500 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41501 (start): Insert a data section, with `grub_prefix' variable.
41502 * kern/i386/linuxbios/startup.S: Likewise.
41503
41504 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41505 New variable reference.
41506 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41507 New macro. Defines offset of `grub_prefix' within startup.S (relative
41508 to `start').
41509 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41510 section within startup.S (relative to `start').
41511 * include/grub/i386/coreboot/kernel.h: Likewise.
41512
41513 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41514 Overwrite grub_prefix with its contents, at the beginning of the
41515 first segment.
41516 (main): Understand -p|--prefix.
41517
41518 2008-07-30 Robert Millan <rmh@aybabtu.com>
41519
41520 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41521
41522 2008-07-30 Robert Millan <rmh@aybabtu.com>
41523
41524 * term/i386/pc/vga_text.c (grub_console_cls): Use
41525 grub_console_gotoxy() to go back to beginning of the screen.
41526 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41527
41528 2008-07-29 Christian Franke <franke@computer.org>
41529
41530 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41531 Add conversion of emulated mount points on Cygwin.
41532
41533 2008-07-29 Christian Franke <franke@computer.org>
41534
41535 * util/update-grub.in: Add a check for admin
41536 group on Cygwin.
41537 Remove old `grub.cfg.new' before creation.
41538 Add `-f' to `mv' to handle the different filesystem
41539 semantics of Windows.
41540
41541 2008-07-29 Bean <bean123ch@gmail.com>
41542
41543 * normal/main.c (get_line): Fix buffer overflow bug.
41544
41545 2008-07-28 Robert Millan <rmh@aybabtu.com>
41546
41547 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41548 (struct grub_apple_header): New struct. Describes the layout of
41549 the partmap header.
41550 (apple_partition_map_iterate): Check the header magic as well as the
41551 partition magic (which was already being checked).
41552
41553 2008-07-28 Pavel Roskin <proski@gnu.org>
41554
41555 * genmk.rb: Add a warning to the beginning of the output that
41556 it's a generated file and should not be edited.
41557
41558 2008-07-28 Robert Millan <rmh@aybabtu.com>
41559
41560 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41561 with the same number are found, just use issue a warning with
41562 grub_dprintf(), as this error has been reported to be non-fatal.
41563
41564 2008-07-27 Robert Millan <rmh@aybabtu.com>
41565
41566 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41567 information.
41568
41569 2008-07-27 Bean <bean123ch@gmail.com>
41570
41571 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41572 (grub_fat_find_dir): Ignore case when comparing filename.
41573
41574 2008-07-27 Bean <bean123ch@gmail.com>
41575
41576 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41577 smallino, as it's more descriptive, and i8count can be confused with
41578 the other field count.
41579 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41580 inode type.
41581
41582 2008-07-27 Bean <bean123ch@gmail.com>
41583
41584 * commands/crc.c: New file.
41585
41586 * lib/crc.c: Likewise.
41587
41588 * include/grub/lib/crc.h: Likewise.
41589
41590 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41591
41592 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41593 (hexdump): Move this function to ...
41594
41595 * lib/hexdump.c: ... here.
41596
41597 * include/grub/hexdump.h: Renamed to ...
41598
41599 * include/grub/lib/hexdump.h: ... this.
41600
41601 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41602
41603 * util/grub-editenv.c: Likewise.
41604
41605 * include/envblk.h: Renamed to ...
41606
41607 * include/lib/envblk.h: ... this.
41608
41609 * util/envblk.c: Renamed to ...
41610
41611 * lib/envblk.c: ... this.
41612
41613 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41614 lib/hexdump.c.
41615 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41616 (pkglib_MODULES): Add crc.mod.
41617 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41618 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41619 (crc_mod_SOURCES): New macro.
41620 (crc_mod_CFLAGS): Likewise.
41621 (crc_mod_LDFLAGS): Likewise.
41622
41623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41624
41625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41626
41627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41628
41629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41630
41631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41632
41633 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
41634
41635 * commands/help.c: Include <grub/term.h>.
41636 (TERM_WIDTH): Removed. Updated all users.
41637
41638 2008-07-27 Pavel Roskin <proski@gnu.org>
41639
41640 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41641 spurious warnings about a comment within a comment.
41642
41643 2008-07-25 Robert Millan <rmh@aybabtu.com>
41644
41645 * util/getroot.c (find_root_device): Skip devices that match
41646 /dev/dm-[0-9]. This lets the real device be found for any type of
41647 abstraction (LVM, EVMS, RAID..).
41648 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41649 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41650 device is found first, find_root_device() will now skip it.
41651
41652 2008-07-24 Pavel Roskin <proski@gnu.org>
41653
41654 * include/grub/types.h: Use __builtin_bswap32() and
41655 __builtin_bswap64() with gcc 4.3 and newer.
41656
41657 2008-07-24 Christian Franke <franke@computer.org>
41658
41659 * util/i386/pc/grub-install.in: If `--debug' is specified,
41660 pass `--verbose' to grub-setup.
41661 Abort script if make_system_path_relative_to_its_root() fails.
41662
41663 2008-07-24 Bean <bean123ch@gmail.com>
41664
41665 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41666 variable `target_platform' should be `platform'.
41667
41668 2008-07-24 Bean <bean123ch@gmail.com>
41669
41670 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
41671 (grub_png_init_fixed_block): New function.
41672 (grub_png_decode_image_data): Handle fixed huffman code compression.
41673
41674 2008-07-24 Bean <bean123ch@gmail.com>
41675
41676 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41677 (grub_pe2elf_SOURCES): New macro.
41678 (CLEANFILES): Add grub-pe2elf.
41679
41680 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41681 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41682 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41683 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41684 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41685 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41686 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41687 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41688 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41689 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41690 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41691 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41692 (GRUB_PE32_DT_FUNCTION): Likewise.
41693 (GRUB_PE32_REL_I386_DIR32): Likewise.
41694 (GRUB_PE32_REL_I386_REL32): Likewise.
41695 (grub_pe32_symbol): New structure.
41696 (grub_pe32_reloc): Likewise.
41697
41698 * util/grub-pe2elf.c: New file.
41699
41700 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41701 start symbol in non pc platform.
41702
41703 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41704
41705 The following patches are from Christian Franke.
41706
41707 * include/grub/dl.h: Remove .previous, gas supports this only
41708 for ELF format.
41709
41710 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41711 Remove .type, gas supports this only for ELF format.
41712
41713 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41714 nullbytes in symbol table. This fixes an infinite loop if table is
41715 zero filled.
41716
41717 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41718 TARGET_IMG_LDFLAGS and EXEEXT.
41719
41720 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41721 TARGET_IMG_LDFLAGS_AC.
41722 (grub_CHECK_STACK_ARG_PROBE): New function.
41723
41724 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41725
41726 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41727
41728 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41729 to set TARGET_IMG_LD* accordingly.
41730 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41731 Add call to grub_CHECK_STACK_ARG_PROBE.
41732 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41733
41734 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41735
41736 * genmk.rb: Add EXEEXT to CLEANFILES.
41737
41738 2008-07-23 Robert Millan <rmh@aybabtu.com>
41739
41740 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41741 define the codes for arrows and lines used for the menu).
41742 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41743 as well.
41744
41745 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41746 fonts, because the latter are too slow.
41747
41748 2008-07-21 Bean <bean123ch@gmail.com>
41749
41750 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41751 a20. Run keyboard test last, as it will cause macbook to halt.
41752
41753 2008-07-18 Pavel Roskin <proski@gnu.org>
41754
41755 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41756 load foreign architecture modules correctly anyway. Keep
41757 support for loading host architecture modules, whether we
41758 compile them or not.
41759
41760 2008-07-17 Pavel Roskin <proski@gnu.org>
41761
41762 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41763 change target_cpu. The compiler default can mismatch target_cpu
41764 in any case.
41765
41766 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41767 * kern/efi/efi.c: Likewise.
41768
41769 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41770 target compiler is functional.
41771 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41772 are set up.
41773
41774 * configure.ac: Default to efi platform for x86_64-apple. Allow
41775 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41776 adjustments from the rest, only do them if target is not
41777 explicitly given. Merge other adjustments with the final sanity
41778 check. Remove an extraneous check for supported CPU. Be
41779 specific which CPU and which platform is not supported.
41780
41781 * configure.ac: Default to pc platform for x86_64.
41782
41783 2008-07-17 Robert Millan <rmh@aybabtu.com>
41784
41785 Partial LinuxBIOS -> Coreboot rename.
41786
41787 * conf/i386-linuxbios.rmk: Renamed to ...
41788 * conf/i386-coreboot.rmk: ... this.
41789 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41790 * configure.ac: Accept "coreboot" as input platform (but maintain
41791 compatibility with "linuxbios").
41792 * include/grub/i386/linuxbios: Renamed to ...
41793 * include/grub/i386/coreboot: ... this.
41794
41795 2008-07-17 Bean <bean123ch@gmail.com>
41796
41797 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
41798 (appleldr_mod_SOURCE): New variable.
41799 (appleldr_mod_CFLAGS): Likewise.
41800 (appleldr_mod_LDFLAGS): Likewise.
41801 (pci_mod_SOURCES): Likewise.
41802 (pci_mod_CFLAGS): Likewise.
41803 (pci_mod_LDFLAGS): Likewise.
41804 (lspci_mod_SOURCES): Likewise.
41805 (lspci_mod_CFLAGS): Likewise.
41806 (lspci_mod_LDFLAGS): Likewise.
41807
41808 * conf/x86_64-efi.rmk: New file.
41809
41810 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41811 macro.
41812 (grub_efidisk_write): Likewise.
41813
41814 * include/efi/api.h (efi_call_0): New macro.
41815 (efi_call_1): Likewise.
41816 (efi_call_2): Likewise.
41817 (efi_call_3): Likewise.
41818 (efi_call_4): Likewise.
41819 (efi_call_5): Likewise.
41820 (efi_call_6): Likewise.
41821
41822 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41823 grub_rescue_cmd_chainloader.
41824
41825 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41826 (grub_pe32_optional_header): Change some fields based on i386 or
41827 x86_64 platform.
41828 (GRUB_PE32_PE32_MAGIC): Likewise.
41829
41830 * include/grub/efi/uga_draw.h: New file.
41831
41832 * include/grub/elf.h (STN_ABS): New constant.
41833 (R_X86_64_NONE): Relocation constant for x86_64.
41834 (R_X86_64_64): Likewise.
41835 (R_X86_64_PC32): Likewise.
41836 (R_X86_64_GOT32): Likewise.
41837 (R_X86_64_PLT32): Likewise.
41838 (R_X86_64_COPY): Likewise.
41839 (R_X86_64_GLOB_DAT): Likewise.
41840 (R_X86_64_JUMP_SLOT): Likewise.
41841 (R_X86_64_RELATIVE): Likewise.
41842 (R_X86_64_GOTPCREL): Likewise.
41843 (R_X86_64_32): Likewise.
41844 (R_X86_64_32S): Likewise.
41845 (R_X86_64_16): Likewise.
41846 (R_X86_64_PC16): Likewise.
41847 (R_X86_64_8): Likewise.
41848 (R_X86_64_PC8): Likewise.
41849
41850 * include/grub/i386/efi/pci.h: New file.
41851
41852 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41853 Change it value based on platform.
41854 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41855 (GRUB_E820_RAM): Likewise.
41856 (GRUB_E820_RESERVED): Likewise.
41857 (GRUB_E820_ACPI): Likewise.
41858 (GRUB_E820_NVS): Likewise.
41859 (GRUB_E820_EXEC_CODE): Likewise.
41860 (GRUB_E820_MAX_ENTRY): Likewise.
41861 (grub_e820_mmap): New structure.
41862 (linux_kernel_header): Change the efi field according to different
41863 kernel version, also field from linux_kernel_header.
41864
41865 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41866
41867 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41868 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41869 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41870 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41871 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41872 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41873 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41874 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41875 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41876 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41877
41878 * include/grub/x86_64/efi/kernel.h: New file.
41879
41880 * include/grub/x86_64/efi/loader.h: Likewise.
41881
41882 * include/grub/x86_64/efi/machine.h: Likewise.
41883
41884 * include/grub/x86_64/efi/pci.h: Likewise.
41885
41886 * include/grub/x86_64/efi/time.h: Likewise.
41887
41888 * include/grub/x86_64/linux.h: Likewise.
41889
41890 * include/grub/x86_64/setjmp.h: Likewise.
41891
41892 * include/grub/x86_64/time.h: Likewise.
41893
41894 * include/grub/x86_64/types.h: Likewise.
41895
41896 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41897 GRUB_TARGET_SIZEOF_VOID_P.
41898
41899 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41900 (grub_efi_locate_handle): Likewise.
41901 (grub_efi_open_protocol): Likewise.
41902 (grub_efi_set_text_mode): Likewise.
41903 (grub_efi_stall): Likewise.
41904 (grub_exit): Likewise.
41905 (grub_reboot): Likewise.
41906 (grub_halt): Likewise.
41907 (grub_efi_exit_boot_services): Likewise.
41908 (grub_get_rtc): Likewise.
41909
41910 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41911 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41912 (grub_efi_allocate_pages): Wrap efi calls.
41913 (grub_efi_free_pages): Wrap efi calls.
41914 (grub_efi_get_memory_map): Wrap efi calls.
41915
41916 * kern/x86_64/dl.c: New file.
41917
41918 * kern/x86_64/efi/callwrap.S: Likewise.
41919
41920 * kern/x86_64/efi/startup.S: Likewise.
41921
41922 * loader/efi/appleloader.c: Likewise.
41923
41924 * loader/efi/chainloader.c (cmdline): New variable.
41925 (grub_chainloader_unload): Wrap efi calls.
41926 (grub_chainloader_boot): Likewise.
41927 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41928 command line.
41929
41930 * loader/efi/chainloader_normal.c (chainloader_command):
41931 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41932 command line.
41933
41934 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41935 method.
41936 (grub_e820_add_region): New function.
41937 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41938 booting.
41939 (grub_find_video_card): New function.
41940 (grub_linux_setup_video): New function.
41941 (grub_rescue_cmd_linux): Probe for video information.
41942
41943 * normal/x86_64/setjmp.S: New file.
41944
41945 * term/efi/console.c (map_char): New function.
41946 (grub_console_putchar): Map unicode char.
41947 (grub_console_checkkey): Wrap efi calls.
41948 (grub_console_getkey): Likewise.
41949 (grub_console_getwh): Likewise.
41950 (grub_console_gotoxy): Likewise.
41951 (grub_console_cls): Likewise.
41952 (grub_console_setcolorstate): Likewise.
41953 (grub_console_setcursor): Likewise.
41954
41955 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41956
41957 2008-07-16 Pavel Roskin <proski@gnu.org>
41958
41959 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41960 format strings.
41961
41962 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41963 pointer, not an integer. This fixes a warning and prevents
41964 precision loss on 64-bit systems.
41965 (relocate_addresses): Remove unneeded cast.
41966
41967 2008-07-15 Pavel Roskin <proski@gnu.org>
41968
41969 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41970
41971 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41972
41973 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41974 Fix comparison between signed and unsigned.
41975
41976 * include/grub/i386/ieee1275/console.h: Declare
41977 grub_console_init() and grub_console_fini().
41978
41979 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41980 It's empty and unused.
41981
41982 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41983 beginning to avoid warnings with some compilers.
41984
41985 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41986 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41987
41988 2008-07-14 Pavel Roskin <proski@gnu.org>
41989
41990 * kern/env.c (grub_register_variable_hook): Don't copy empty
41991 string, it leaks memory. Pass "" to grub_env_set(), it should
41992 handle constant strings.
41993
41994 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41995 * commands/cmp.c (grub_cmd_cmp): Likewise.
41996 * kern/dl.c (grub_dl_flush_cache): Likewise.
41997 (grub_dl_load_core): Likewise.
41998 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41999 (grub_elf64_load_phdrs): Likewise.
42000
42001 2008-07-13 Pavel Roskin <proski@gnu.org>
42002
42003 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42004 between signed and unsigned.
42005 (LzmaEnc_Finish): Fix warning about an unused parameter.
42006
42007 2008-07-13 Bean <bean123ch@gmail.com>
42008
42009 * Makefile.in (enable_lzo): New rule.
42010
42011 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42012
42013 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42014
42015 * boot/i386/pc/lnxboot.S: #include <config.h>.
42016
42017 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
42018 its value according to the compression algorithm used, lzo or lzma.
42019
42020 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42021 compression algorithm according to configure macro.
42022
42023 * kern/i386/pc/startup.S (codestart): Likewise.
42024
42025 * kern/i386/pc/lzma_decode.S: New file.
42026
42027 * include/grub/lib/LzFind.h: Likewise.
42028
42029 * include/grub/lib/LzHash.h: Likewise.
42030
42031 * include/grub/lib/LzmaDec.h: Likewise.
42032
42033 * include/grub/lib/LzmaEnc.h: Likewise.
42034
42035 * include/grub/lib/LzmaTypes.h: Likewise.
42036
42037 * lib/LzFind.c: Likewise.
42038
42039 * lib/LzmaDec.c: Likewise.
42040
42041 * lib/LzmaEnc.c: Likewise.
42042
42043 2008-07-13 Bean <bean123ch@gmail.com>
42044
42045 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42046 (grub_ext4_extent_header): New structure.
42047 (grub_ext4_extent): Likewise.
42048 (grub_ext4_extent_idx): Likewise.
42049 (grub_ext4_find_leaf): New function.
42050 (grub_ext2_read_block): Handle extents.
42051
42052 2008-07-12 Robert Millan <rmh@aybabtu.com>
42053
42054 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42055
42056 2008-07-11 Robert Millan <rmh@aybabtu.com>
42057
42058 * util/grub.d/40_custom.in: New file. Example on how to add custom
42059 entries to /etc/grub.d.
42060 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42061 40_custom (implicitly, by merging all the grub.d rules).
42062
42063 2008-07-11 Pavel Roskin <proski@gnu.org>
42064
42065 * commands/read.c (grub_getline): Fix invalid memory access.
42066 Don't add newline to the variable value.
42067
42068 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42069 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42070 (serial_hw_get_port): Check validity of the port number.
42071 (grub_cmd_serial): Check return value of serial_hw_get_port().
42072
42073 2008-07-07 Pavel Roskin <proski@gnu.org>
42074
42075 * boot/i386/pc/diskboot.S (notification_string): Replace
42076 "Loading kernel" with just "loading". This is shorter, less
42077 confusing and saves a few bytes for possible future changes.
42078
42079 2008-07-05 Pavel Roskin <proski@gnu.org>
42080
42081 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42082 size for ATAPI devices, they are undefined. Output sector
42083 number in decimal form.
42084
42085 * disk/ata.c: Use named constants for status bits.
42086
42087 2008-07-04 Pavel Roskin <proski@gnu.org>
42088
42089 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42090 grub_addr_t before casting it to the void pointer to fix a
42091 warning. Non-addressable regions are discarded earlier.
42092 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42093 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42094 (check_signature): Don't shadow table_header.
42095 (grub_linuxbios_table_iterate): Cast numeric constants to
42096 grub_linuxbios_table_header_t.
42097 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42098 grub_stop().
42099
42100 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42101 prevent warnings.
42102
42103 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42104 pointer, which can cause warnings. Support 64-bit addresses.
42105
42106 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42107 of sizeof(long). This fixes PowerPC image generation on x86_64.
42108
42109 2008-07-04 Robert Millan <rmh@aybabtu.com>
42110
42111 This fixes a performance issue when pc & gpt partmap iterators
42112 didn't abort iteration even after our hook found what it was
42113 looking for (often causing expensive probes of non-existent drives).
42114
42115 Some callers relied on previous buggy behaviour, since they would
42116 raise an error when their own hooks caused early abortion of its
42117 iteration.
42118
42119 * kern/device.c (grub_device_open): Improve error message.
42120 * disk/lvm.c (grub_lvm_open): Likewise.
42121 * disk/raid.c (grub_raid_open): Likewise.
42122
42123 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42124 when hook requests it, independently of grub_errno.
42125 (pc_partition_map_probe): Do not fail when find_func() caused
42126 early abortion of pc_partition_map_iterate().
42127
42128 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42129 when hook requests it, independently of grub_errno.
42130 (gpt_partition_map_probe): Do not fail when find_func() caused
42131 early abortion of gpt_partition_map_iterate().
42132
42133 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42134 when hook requests it, independently of grub_errno. Do not fail when
42135 part_map_iterate_hook() caused early abortion of p->iterate().
42136
42137 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42138 when grub_partition_iterate() returned with non-zero.
42139
42140 2008-07-03 Pavel Roskin <proski@gnu.org>
42141
42142 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42143 like we do in grub_ata_pio_read().
42144 (grub_ata_readwrite): Always write individual sectors. Fix the
42145 sector count for the remainder.
42146 (grub_ata_write): Enable writing to ATA devices. Correctly
42147 report error for ATAPI devices.
42148
42149 2008-07-02 Pavel Roskin <proski@gnu.org>
42150
42151 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42152 warning.
42153
42154 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42155 for every read sector, we already increment it for the whole
42156 batch. This fixes reading more than 256 sectors at once.
42157
42158 * util/grub-editenv.c (cmd_info): Cast argument to long
42159 explicitly. ptrdiff_t reduces to int on i386.
42160
42161 * util/grub-editenv.c (main): Be specific which parameter is
42162 missing.
42163
42164 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42165 (memdisk): Make memdisk_orig_addr a pointer.
42166
42167 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42168 for file offsets, use grub_off_t instead. Fix printf format
42169 warnings.
42170
42171 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42172 there. Real unexpected warnings should not drown in the noise
42173 about known problems.
42174
42175 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42176 grub_disk_addr_t for memory addresses.
42177
42178 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42179 explicitly to fix a warning.
42180
42181 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42182
42183 * Makefile.in (MODULE_LDFLAGS): New variable.
42184 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42185 the linker accepts --build-id=none.
42186 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42187 MODULE_LDFLAGS.
42188 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42189
42190 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42191 those in Linux XFS code. Provide a way to access 64-bit parent
42192 inode.
42193 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42194 the end of struct grub_xfs_dir_header.
42195
42196 2008-07-02 Bean <bean123ch@gmail.com>
42197
42198 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42199 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42200 and GRUB_IEEE1275_FLAG_NO_ANSI.
42201
42202 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42203 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42204 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42205
42206 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42207 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42208
42209 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42210 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42211
42212 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42213 esc sequence on non ANSI terminal.
42214 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42215
42216 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42217 beginning of file.
42218
42219 2008-07-02 Bean <bean123ch@gmail.com>
42220
42221 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42222 (grub_editenv_SOURCES): New variable.
42223 (pkglib_MODULES): Add loadenv.mod.
42224 (loadenv_mod_SOURCES): New variable.
42225 (loadenv_mod_CFLAGS): Likewise.
42226 (loadenv_mod_LDFLAGS): Likewise.
42227
42228 * include/grub/envblk.h: New file.
42229
42230 * util/envblk.c: New file.
42231
42232 * util/grub-editenv.c: New file.
42233
42234 * commands/loadenv.c: New file.
42235
42236 2008-07-01 Pavel Roskin <proski@gnu.org>
42237
42238 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42239 not unsigned char. This fixes warnings and is consistent with
42240 other tags.
42241
42242 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42243
42244 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42245
42246 * term/tparm.c (analyze): Always set *popcount.
42247
42248 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42249 cast to fix a warning.
42250
42251 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42252 cast to suppress a warning.
42253
42254 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42255 grub_fshelp_read_file() expects.
42256
42257 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42258 write uuid as a 32-bit value in CPU byte order, so declare and
42259 use it as such.
42260
42261 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42262 long if the format specifier expects it.
42263 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42264 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42265 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42266 long to fix a warning.
42267 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42268 grub_dprintf() arguments to fix warnings.
42269
42270 2008-06-30 Pavel Roskin <proski@gnu.org>
42271
42272 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42273 install_bsd_part immediately before core.img is embedded or
42274 modified on disk. This fixes core.img verification if core.img
42275 cannot be embedded.
42276
42277 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42278 core_path to calculate the blocklist.
42279 Patch from Javier Martín <lordhabbit@gmail.com>
42280
42281 2008-06-29 Robert Millan <rmh@aybabtu.com>
42282
42283 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42284 block to disk block.
42285 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42286 Patch from Niels Böhm <bitbucket@arcor.de>
42287
42288 2008-06-29 Robert Millan <rmh@aybabtu.com>
42289
42290 * util/update-grub_lib.in (font_path): Search for fonts in
42291 /boot/grub first, which is more likely to be readable (we aren't
42292 deciding where fonts live, just looking for them).
42293
42294 2008-06-26 Pavel Roskin <proski@gnu.org>
42295
42296 * util/biosdisk.c (read_device_map): Don't leave dead map
42297 entries for devices failing stat() check.
42298
42299 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42300 core_path_dev for the core.img path on the target device.
42301
42302 2008-06-26 Robert Millan <rmh@aybabtu.com>
42303
42304 * disk/fs_uuid.c: New file.
42305 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42306 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42307 (fs_uuid_mod_LDFLAGS): New variables.
42308 * include/grub/disk.h (grub_disk_dev_id): Add
42309 `GRUB_DISK_DEVICE_UUID_ID'.
42310 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42311 implement iterate().
42312
42313 2008-06-26 Robert Millan <rmh@aybabtu.com>
42314
42315 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42316 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42317 Linux image includes no initrd.
42318
42319 2008-06-21 Javier Martín <lordhabbit@gmail.com>
42320
42321 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42322 call to resolve the core image location that effectively appended the
42323 name twice.
42324
42325 2008-06-21 Robert Millan <rmh@aybabtu.com>
42326
42327 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42328 call from here ...
42329
42330 * util/grub.d/10_hurd.in: ... to here ...
42331 * util/grub.d/10_linux.in: ... and here.
42332
42333 2008-06-19 Robert Millan <rmh@aybabtu.com>
42334
42335 * kern/main.c (grub_main): Export `prefix' variable immediately
42336 after it has been set by grub_machine_set_prefix().
42337
42338 2008-06-19 Robert Millan <rmh@aybabtu.com>
42339
42340 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42341 search result when not saving to variable, not the other way around.
42342 When saving to variable, abort iteration as soon as a match is found.
42343
42344 2008-06-19 Robert Millan <rmh@aybabtu.com>
42345
42346 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42347 check for partition that provides /boot/grub. Its logic is flawed,
42348 as it prevents prepare_grub_to_access_device() from being called
42349 multiple times.
42350
42351 2008-06-19 Robert Millan <rmh@aybabtu.com>
42352
42353 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42354 "insmod" command directly when abstraction modules are needed,
42355 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
42356 since it had already been processed).
42357
42358 2008-06-19 Pavel Roskin <proski@gnu.org>
42359
42360 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42361 changed. This is needed in case GRUB_LIBDIR changes.
42362 * conf/i386-ieee1275.rmk: Likewise.
42363 * conf/i386-linuxbios.rmk: Likewise.
42364 * conf/i386-pc.rmk: Likewise.
42365 * conf/powerpc-ieee1275.rmk: Likewise.
42366
42367 2008-06-18 Pavel Roskin <proski@gnu.org>
42368
42369 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42370 kernel_elf_symlist.c to symlist.c for consistency with other
42371 architectures. Update all users.
42372 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42373
42374 2008-06-18 Robert Millan <rmh@aybabtu.com>
42375
42376 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42377 it in prefix.
42378
42379 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42380 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42381 a RAID device, run setup() for all members independently on whether
42382 LVM abstraction is being used.
42383 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42384 If grub-mkimage has set `*install_dos_part == -2', don't override this
42385 value.
42386 Perform *install_dos_part adjustments independently on whether
42387 we're embedding or not.
42388 Clarify error message when image is too big for embedding.
42389 Remove duplicate *install_dos_part stanza.
42390
42391 2008-06-17 Robert Millan <rmh@aybabtu.com>
42392
42393 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42394 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42395 variables.
42396 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42397 values in grub_ofconsole_normal_color and
42398 grub_ofconsole_highlight_color (they're not directly related to
42399 background and foreground).
42400 (grub_ofconsole_setcolorstate): Extract background and foreground
42401 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42402
42403 2008-06-17 Robert Millan <rmh@aybabtu.com>
42404
42405 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42406 /boot/grub for the check in last commit, not /boot (they could be
42407 different partitions).
42408
42409 2008-06-16 Robert Millan <rmh@aybabtu.com>
42410
42411 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42412 asked to setup access for the same partition that provides /boot,
42413 don't bother using UUIDs since our root already has the value we
42414 want.
42415
42416 2008-06-16 Robert Millan <rmh@aybabtu.com>
42417
42418 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42419 I2O devices.
42420 Patch from Sven Mueller <sven@debian.org>.
42421
42422 2008-06-16 Robert Millan <rmh@aybabtu.com>
42423
42424 * util/update-grub.in: Check for $EUID instead of $UID.
42425 Reported by Vincent Zweije.
42426
42427 2008-06-16 Bean <bean123ch@gmail.com>
42428
42429 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
42430 (grub_ext2_read_block): Likewise.
42431 (grub_ext2_read_inode): Likewise.
42432 (grub_ext2_mount): Likewise.
42433 (grub_ext2_close): Likewise.
42434 (grub_ext3_get_journal): Removed.
42435
42436 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
42437 (grub_reiserfs_read_symlink): Likewise.
42438 (grub_reiserfs_mount): Likewise.
42439 (grub_reiserfs_open): Likewise.
42440 (grub_reiserfs_read): Likewise.
42441 (grub_reiserfs_close): Likewise.
42442 (grub_reiserfs_get_journal): Removed.
42443
42444 * fs/fshelp.c (grub_fshelp_read): Removed.
42445 (grub_fshelp_map_block): Likewise.
42446
42447 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42448 (grub_fshelp_journal): Likewise.
42449 (grub_fshelp_read): Likewise.
42450 (grub_fshelp_map_block): Likewise.
42451
42452 2008-06-16 Pavel Roskin <proski@gnu.org>
42453
42454 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42455 floating point anymore.
42456 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42457
42458 2008-06-15 Pavel Roskin <proski@gnu.org>
42459
42460 * commands/ls.c (grub_ls_list_files): Use integer calculations
42461 for human readable format, avoid floating point use.
42462 * kern/misc.c (grub_ftoa): Remove.
42463 (grub_vsprintf): Remove floating point support.
42464
42465 2008-06-15 Robert Millan <rmh@aybabtu.com>
42466
42467 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
42468 devices.
42469 Reported by Max Vozeler.
42470
42471 2008-06-15 Robert Millan <rmh@aybabtu.com>
42472
42473 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42474 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42475 skipped later.
42476 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42477 the beginning of the prefix.
42478
42479 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42480 It is assumed that if we have a memdisk, grub-mkimage has set
42481 grub_prefix to include the "(memdisk)" drive in it.
42482
42483 2008-06-15 Robert Millan <rmh@aybabtu.com>
42484
42485 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42486 Initialize keyboard controller after registering the terminal, so that
42487 grub_printf() can be called from grub_keyboard_controller_init().
42488
42489 2008-06-15 Robert Millan <rmh@aybabtu.com>
42490
42491 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42492 extent-btree which is written as big endian on disk.
42493 Reported by Alain Greppin <al@chilibi.org>.
42494
42495 2008-06-14 Robert Millan <rmh@aybabtu.com>
42496
42497 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42498 * util/i386/pc/grub-install.in (modules): Likewise.
42499
42500 2008-06-13 Pavel Roskin <proski@gnu.org>
42501
42502 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42503
42504 2008-06-13 Bean <bean123ch@gmail.com>
42505
42506 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42507
42508 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42509
42510 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42511 to indicate sparse block.
42512
42513 2008-06-12 Pavel Roskin <proski@gnu.org>
42514
42515 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42516 number, grub_fshelp_read() does it for us.
42517
42518 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42519 linear disk read with journal translation.
42520 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42521 * include/grub/fshelp.h: Declare grub_fshelp_read().
42522
42523 2008-06-09 Pavel Roskin <proski@gnu.org>
42524
42525 * fs/minix.c (grub_minix_mount): Handle error reading
42526 superblock.
42527
42528 2008-06-08 Robert Millan <rmh@aybabtu.com>
42529
42530 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42531 don't append the RAID prefix afterwards.
42532 Reported by Clint Adams.
42533
42534 2008-06-08 Robert Millan <rmh@aybabtu.com>
42535
42536 Based on description from Pavel:
42537 * kern/disk.c (grub_disk_check_range): Rename to ...
42538 (grub_disk_adjust_range): ... this. Add a comment explaining the
42539 tasks performed by this function.
42540
42541 2008-06-08 Robert Millan <rmh@aybabtu.com>
42542
42543 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42544 `num_serial' (for consistency with other variables).
42545 (struct grub_ntfs_data): Add `uuid' member.
42546 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42547 (grub_ntfs_uuid): New function.
42548 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42549
42550 2008-06-07 Pavel Roskin <proski@gnu.org>
42551
42552 * util/biosdisk.c (open_device): Revert last change to the
42553 function, it broke installation. The sector needs to be
42554 different dependent on which device is opened.
42555
42556 2008-06-06 Robert Millan <rmh@aybabtu.com>
42557
42558 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42559 rest of GRUB, and breakage doesn't happen if its value were modified.
42560
42561 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42562 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42563 a constant (same value).
42564 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42565 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42566
42567 2008-06-06 Robert Millan <rmh@aybabtu.com>
42568
42569 * util/biosdisk.c (open_device): Do not modify sector offset when
42570 accessing a partition. kern/disk.c already handles this for us.
42571
42572 2008-06-06 Robert Millan <rmh@aybabtu.com>
42573
42574 * util/grub-emu.c (grub_machine_init): Move code in this function from
42575 here ...
42576 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42577 segfault in case grub_printf() is called).
42578
42579 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42580 grub_probe. Update all users not to explicitly add it again.
42581 (grub_device): New variable; contains corresponding device for grubdir.
42582 (fs_module, partmap_module, devabstraction_module): Pass
42583 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42584 every time.
42585
42586 2008-06-05 Robert Millan <rmh@aybabtu.com>
42587
42588 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42589 is found, print it (same layout as with labels).
42590
42591 2008-06-04 Robert Millan <rmh@aybabtu.com>
42592
42593 * util/biosdisk.c (get_drive): Rename to ...
42594 (find_grub_drive): ... this. Update all users.
42595
42596 (get_os_disk): Rename to ...
42597 (convert_system_partition_to_system_disk): ... this. Update all users.
42598
42599 (find_drive): Rename to ...
42600 (find_system_device): ... this. Update all users.
42601
42602 2008-06-04 Robert Millan <rmh@aybabtu.com>
42603
42604 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42605 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42606 (make_device_map): Likewise.
42607
42608 2008-06-01 Robert Millan <rmh@aybabtu.com>
42609
42610 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42611 before dereferencing it.
42612
42613 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42614 union with fat12/fat16-specific ones. Add some new fields, including
42615 `num_serial' for both versions.
42616 (struct grub_fat_data): Add `uuid' member.
42617 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42618 names. Initialize `data->uuid' using `num_serial'.
42619 (grub_fat_uuid): New function.
42620 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42621
42622 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42623 (grub_reiserfs_uuid): New function.
42624 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42625 member.
42626
42627 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42628 (grub_xfs_uuid): New function.
42629 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42630
42631 2008-06-01 Robert Millan <rmh@aybabtu.com>
42632
42633 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42634 code that is backward compatible with pre-uuid search command.
42635
42636 2008-05-31 Robert Millan <rmh@aybabtu.com>
42637
42638 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42639 floppies after everything else, to ensure floppy drive isn't accessed
42640 unnecessarily (patch from Bean).
42641
42642 2008-05-31 Robert Millan <rmh@aybabtu.com>
42643
42644 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42645 not print device names when we were asked to set a variable.
42646
42647 2008-05-31 Robert Millan <rmh@aybabtu.com>
42648
42649 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42650 using "cursor-on" and "cursor-off" commands (understood at least by
42651 the Open Firmware flavour on OLPC).
42652
42653 2008-05-31 Michael Gorven <michael@gorven.za.net>
42654
42655 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42656 on and off sequences.
42657
42658 2008-05-31 Robert Millan <rmh@aybabtu.com>
42659
42660 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42661 * util/update-grub.in: Likewise.
42662
42663 2008-05-30 Pavel Roskin <proski@gnu.org>
42664
42665 * util/biosdisk.c (linux_find_partition): Simplify logic and
42666 make the code more universal. Keep special processing for
42667 devfs, but use a simple rule for all other devices. If the
42668 device ends with a number, append 'p' and the partition number.
42669 Otherwise, append only the partition number.
42670
42671 2008-05-30 Robert Millan <rmh@aybabtu.com>
42672
42673 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42674 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42675 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42676 the `root' parameter to Linux.
42677
42678 2008-05-30 Robert Millan <rmh@aybabtu.com>
42679
42680 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42681 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42682 --fs_uuid with --fs-uuid.
42683 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42684 all filesystems support them).
42685
42686 2008-05-30 Robert Millan <rmh@aybabtu.com>
42687
42688 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
42689 grub_printf() flags, since we're printing in units of 2 bytes.
42690
42691 2008-05-30 Robert Millan <rmh@aybabtu.com>
42692
42693 * util/grub.d/00_header.in: Remove obsolete comment referencing
42694 convert_system_path_to_grub_path().
42695 * util/update-grub.in: Likewise.
42696 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42697 (convert_system_path_to_grub_path): Add a warning message explaining
42698 that this function is deprecated. Rely on is_path_readable_by_grub()
42699 for the readability checks.
42700 (font_path): Use is_path_readable_by_grub() for the readability
42701 check rather than convert_system_path_to_grub_path().
42702
42703 2008-05-30 Robert Millan <rmh@aybabtu.com>
42704
42705 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42706 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42707 converting it first.
42708 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42709 grub.cfg for access to font file, and afterwards call it again to set
42710 the root device.
42711
42712 2008-05-30 Robert Millan <rmh@aybabtu.com>
42713
42714 * commands/search.c (options): Add --fs_uuid option.
42715 (search_fs_uuid): New function.
42716 (grub_cmd_search): Fix --set argument passing.
42717 Use search_fs_uuid() when requested via --fs_uuid.
42718 (grub_search_init): Update help message.
42719 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42720 and redeclare it as an array of 16-bit words.
42721 (grub_ext2_uuid): New function.
42722 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42723 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42724 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42725 (GRUB_DEVICE_BOOT_UUID): New variables.
42726 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42727 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42728 whenever possible.
42729 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42730 just assume `root' variable has the right value.
42731 * util/grub.d/10_linux.in: Likewise.
42732 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42733 via PRINT_FS_UUID.
42734 (main): Recognise `-t fs_uuid' argument.
42735
42736 2008-05-30 Robert Millan <rmh@aybabtu.com>
42737
42738 * util/biosdisk.c (map): Redefine structure to hold information
42739 about GRUB drive name.
42740 (get_drive): Reimplement without assuming (and verifying) BIOS-like
42741 drive names.
42742 (call_hook): Remove.
42743 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42744 member. Assume drive has partitions.
42745 (grub_util_biosdisk_open): Access device names via `.device' struct
42746 member.
42747 (open_device): Likewise.
42748 (find_drive): Likewise.
42749 (read_device_map): Adjust map[] usage to match the new struct
42750 definition. Don't check for duplicates (still possible, but not cheap
42751 anymore).
42752 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42753 (make_device_name): Remove assumption of BIOS-like drive names.
42754
42755 2008-05-30 Pavel Roskin <proski@gnu.org>
42756
42757 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42758 compiling execute.c doesn't need grub_script.tab.h anymore.
42759 (normal/command.c_DEPENDENCIES): Likewise.
42760 (normal/function.c_DEPENDENCIES): Likewise.
42761 * conf/i386-ieee1275.rmk: Likewise.
42762 * conf/i386-linuxbios.rmk: Likewise.
42763 * conf/i386-pc.rmk: Likewise.
42764 * conf/powerpc-ieee1275.rmk: Likewise.
42765 * conf/sparc64-ieee1275.rmk: Likewise.
42766
42767 2008-05-29 Pavel Roskin <proski@gnu.org>
42768
42769 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42770 when scanning metadata for volume group name.
42771
42772 * include/grub/script.h: Don't include grub_script.tab.h. It's
42773 a generated file, which may only be included from the files with
42774 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42775 use union YYSTYPE, as the later allows forward declaration.
42776 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42777
42778 2008-05-29 Robert Millan <rmh@aybabtu.com>
42779
42780 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42781 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42782 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42783 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42784 scan codes.
42785
42786 2008-05-29 Robert Millan <rmh@aybabtu.com>
42787
42788 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42789 control key combinations.
42790
42791 2008-05-29 Robert Millan <rmh@aybabtu.com>
42792
42793 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42794 * util/ieee1275/grub-install.in: ... to here.
42795 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42796 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42797 (grub_install_SOURCES): Likewise.
42798
42799 2008-05-29 Robert Millan <rmh@aybabtu.com>
42800
42801 * fs/affs.c: Update copyright year.
42802 * fs/ext2.c: Likewise.
42803 * fs/fshelp.c: Likewise.
42804 * fs/hfsplus.c: Likewise.
42805 * fs/ntfs.c: Likewise.
42806 * fs/xfs.c: Likewise.
42807 * include/grub/fshelp.h: Likewise.
42808 * util/grub-mkdevicemap.c: Likewise.
42809
42810 2008-05-28 Robert Millan <rmh@aybabtu.com>
42811
42812 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42813 might need to be fatfs to support some firmware implementations
42814 (e.g. OFW or EFI).
42815
42816 2008-05-28 Robert Millan <rmh@aybabtu.com>
42817
42818 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42819 devices.
42820 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42821 (make_device_map): Likewise.
42822
42823 2008-05-20 Bean <bean123ch@gmail.com>
42824
42825 * fs/fshelp.c (grub_fshelp_map_block): New function.
42826 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42827 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42828
42829 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42830 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42831 (grub_fshelp_journal): New structure.
42832 (grub_fshelp_map_block): New function prototype.
42833 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42834 (grub_fshelp_map_block): Likewise.
42835
42836 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42837 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42838 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42839 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42840 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42841 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42842 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42843 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42844 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42845 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42846 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42847 (grub_ext2_sblock): New members for journal support.
42848 (grub_ext3_journal_header): New structure.
42849 (grub_ext3_journal_revoke_header): Likewise.
42850 (grub_ext3_journal_block_tag): Likewise.
42851 (grub_ext3_journal_sblock): Likewise.
42852 (grub_fshelp_node): New members logfile and journal.
42853 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42854 grub_fshelp_map_block to get real block number.
42855 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42856 number.
42857 (grub_ext2_read_inode): Likewise.
42858 (grub_ext3_get_journal): New function.
42859 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42860 (grub_ext2_close): Release memory used by journal.
42861
42862 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42863 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42864 (grub_reiserfs_transaction_header): Renamed to
42865 grub_reiserfs_description_block, replace field data with real_blocks.
42866 (grub_reiserfs_commit_block): New structure.
42867 (grub_reiserfs_data): New member journal.
42868 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42869 number.
42870 (grub_reiserfs_read_symlink): Likewise.
42871 (grub_reiserfs_iterate_dir): Likewise.
42872 (grub_reiserfs_open): Likewise.
42873 (grub_reiserfs_read): Likewise.
42874 (grub_reiserfs_get_journal): New function.
42875 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42876 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42877 using grub_reiserfs_get_journal.
42878 (grub_reiserfs_close): Release memory used by journal.
42879
42880 * fs/affs.c (grub_affs_read_block): Change block type to
42881 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42882
42883 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42884
42885 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42886
42887 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42888
42889 * fs/udf.c (grub_udf_read_block): Change block type to
42890 grub_disk_addr_t. Use type cast to avoid warning.
42891
42892 * fs/xfs.c (grub_xfs_read_block): Likewise.
42893
42894 2008-05-16 Christian Franke <franke@computer.org>
42895
42896 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42897 to ensure that break with ESC will always work.
42898 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42899 Remove ESC from keyboard queue.
42900
42901 2008-05-16 Christian Franke <franke@computer.org>
42902
42903 * util/biosdisk.c: [__CYGWIN__] Add includes.
42904 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42905 (get_os_disk): Move variable declarations to OS specific
42906 parts to avoid warning.
42907 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42908 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42909 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42910 Cygwin.
42911 * util/getroot.c: [__CYGWIN__] Add includes.
42912 (strip_extra_slashes): Fix "/" case.
42913 [__CYGWIN__] (get_win32_path): New function.
42914 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42915 [__CYGWIN__] (find_root_device): Disable.
42916 [__CYGWIN__] (get_bootsec_serial): New function.
42917 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42918 [__linux__] (grub_guess_root_device): Add early returns to simplify
42919 structure.
42920 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42921 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42922 check for Linux only.
42923
42924 2008-05-15 Bean <bean123ch@gmail.com>
42925
42926 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42927 keyboard hang problem in apple's intel mac.
42928
42929 2008-05-09 Robert Millan <rmh@aybabtu.com>
42930
42931 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42932 devices.
42933 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42934 (make_device_map): Likewise.
42935 Reported by Aurelien Jarno <aurel32@debian.org>
42936
42937 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
42938
42939 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42940 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42941 (make_device_map): Output entries for xvd type disks.
42942
42943 2008-05-07 Robert Millan <rmh@aybabtu.com>
42944
42945 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42946 devices.
42947 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42948 (make_device_map): Likewise.
42949 Reported by Roland Dreier <rdreier@cisco.com>
42950
42951 2008-05-07 Robert Millan <rmh@aybabtu.com>
42952
42953 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42954 grub_strstr() call. Correct a few mistakes in failure path handling.
42955
42956 2008-05-06 Robert Millan <rmh@aybabtu.com>
42957
42958 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42959 Do not print a trailing slash (therefore, the root directory is an
42960 empty string).
42961 (convert_system_path_to_grub_path): Do not remove trailing slash
42962 from make_system_path_relative_to_its_root() output.
42963
42964 * util/i386/pc/grub-install.in: Add trailing slash to output from
42965 make_system_path_relative_to_its_root().
42966
42967 2008-05-06 Robert Millan <rmh@aybabtu.com>
42968
42969 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42970 ensures that output lines aren't intermangled with those sent to
42971 stderr (via grub_util_info()).
42972 * util/grub-probe.c (grub_refresh): Likewise.
42973 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42974
42975 2008-05-05 Christian Franke <franke@computer.org>
42976
42977 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42978 Add Cygwin device names.
42979 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42980 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42981 (check_device): Return error instead of success on empty name.
42982 (make_device_map): Move label inside linux specific code to
42983 prevent compiler warning.
42984
42985 2008-04-30 Robert Millan <rmh@aybabtu.com>
42986
42987 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42988 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42989 first boot option.
42990 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42991
42992 2008-04-29 Robert Millan <rmh@aybabtu.com>
42993
42994 * docs/grub.cfg: New file (example GRUB configuration).
42995
42996 2008-04-26 Robert Millan <rmh@aybabtu.com>
42997
42998 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42999 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43000 and `disk/ieee1275/nand.c'.
43001
43002 2008-04-25 Bean <bean123ch@gmail.com>
43003
43004 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43005 i386-linuxbios.
43006
43007 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43008 change the buffer size to 4096 for cdrom device.
43009
43010 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43011 and nand.mod.
43012 (_linux_mod_SOURCES): New variable.
43013 (_linux_mod_CFLAGS): Likewise.
43014 (_linux_mod_LDFLAGS): Likewise.
43015 (linux_mod_SOURCES): Likewise.
43016 (linux_mod_CFLAGS): Likewise.
43017 (linux_mod_LDFLAGS): Likewise.
43018 (nand_mod_SOURCES): Likewise.
43019 (nand_mod_CFLAGS): Likewise.
43020 (nand_mod_LDFLAGS): Likewise.
43021
43022 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43023 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43024 type property. (nand device in olpc don't have this property)
43025
43026 * include/grub/disk.h (grub_disk_dev_id): New macro
43027 GRUB_DISK_DEVICE_NAND_ID.
43028
43029 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43030 function prototype.
43031 (grub_rescue_cmd_initrd): Likewise.
43032
43033 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43034 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43035 ofw_cif_handler and ofw_idt, adjust padding number.
43036
43037 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43038 GRUB_MACHINE_IEEE1275 is defined.
43039
43040 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43041 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43042
43043 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43044 on nested function heap_init.
43045 (grub_upper_mem): New variable for i386-ieee1275.
43046 (grub_get_extended_memory): New function for i386-ieee1275.
43047 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43048
43049 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43050 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43051 property.
43052
43053 * loader/i386/ieee1275/linux.c: New file.
43054
43055 * loader/i386/ieee1275/linux_normal.c: New file.
43056
43057 * disk/ieee1275/nand.c: New file.
43058
43059 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43060
43061 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43062 value.
43063 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43064
43065 2008-04-18 Robert Millan <rmh@aybabtu.com>
43066
43067 Restructures early code path on ieee1275 to unify grub_main() as
43068 the first C function that is executed in every platform.
43069
43070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43071 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43072 cmain().
43073 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43074 * kern/ieee1275/cmain.c (cmain): Rename to ...
43075 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43076 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43077 at the beginning.
43078
43079 2008-04-18 Robert Millan <rmh@aybabtu.com>
43080
43081 * util/update-grub.in: Fix syntax error when setting
43082 `GRUB_PRELOAD_MODULES'.
43083 Reported by Stephane Chazelas <stephane@artesyncp.com>
43084
43085 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43086
43087 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43088 section into account, newer toolchains generate unique build ids
43089 * configure.ac: remove the test for --build-id=none acceptance,
43090 we want build ids to be preserved
43091 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43092 far from other sections don't cause the raw binary images grow
43093 size
43094
43095 2008-04-15 Robert Millan <rmh@aybabtu.com>
43096
43097 * disk/lvm.c: Update copyright year.
43098 * kern/misc.c: Likewise.
43099
43100 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43101
43102 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
43103 there is no memory left for physical volume name.
43104
43105 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43106
43107 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43108 volume name mapping to support bigger than 9 character names properly.
43109
43110 2008-04-13 Robert Millan <rmh@aybabtu.com>
43111
43112 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43113 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43114
43115 2008-04-13 Christian Franke <franke@computer.org>
43116
43117 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43118 to create a floppy emulation boot CD when non emulation mode
43119 does not work.
43120 Enable Joliet CD filesystem extension.
43121
43122 2008-04-13 Robert Millan <rmh@aybabtu.com>
43123
43124 * kern/misc.c (grub_strncat): Fix off-by-one error.
43125 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43126
43127 * kern/env.c (grub_env_context_close): Clear current context, not
43128 previous one.
43129 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43130
43131 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43132
43133 2008-04-13 Robert Millan <rmh@aybabtu.com>
43134
43135 Improve robustness when handling LVM.
43136
43137 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
43138 (and leave `*p' unmodified).
43139 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43140 through it.
43141 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43142 iterating through it.
43143 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43144 through it.
43145 (grub_lvm_scan_device): Check the return value (and fail gracefully
43146 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43147 Don't assume `vg->pvs != NULL' when iterating through it.
43148
43149 2008-04-13 Robert Millan <rmh@aybabtu.com>
43150
43151 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43152 * genmk.rb (partmap): New variable.
43153 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43154 (#{partmap}): New target rule.
43155 * genpartmaplist.sh: New file.
43156 * Makefile.in (pkglib_DATA): Add partmap.lst.
43157 (partmap.lst): New target rule.
43158 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43159 modules (including all partition maps), instead of preloading them.
43160
43161 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43162
43163 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43164 `linux-boot-prober' (if installed) to detect other operating
43165 systems which are installed on the computer and add them to
43166 the boot menu.
43167 * conf/common.rmk: Build and install 30_os-prober.
43168
43169 2008-04-12 Robert Millan <rmh@aybabtu.com>
43170
43171 * kern/powerpc/ieee1275/init.c: Move from here ...
43172 * kern/ieee1275/init.c: ... to here. Update all users.
43173
43174 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43175 * kern/ieee1275/cmain.c: ... to here. Update all users.
43176
43177 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43178 * kern/ieee1275/openfw.c: ... to here. Update all users.
43179
43180 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43181 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43182
43183 2008-04-10 Pavel Roskin <proski@gnu.org>
43184
43185 * configure.ac: Always use "_cv_" in cache variables for
43186 compatibility with Autoconf 2.62.
43187
43188 2008-04-07 Robert Millan <rmh@aybabtu.com>
43189
43190 Revert grub/machine/init.h addition by Pavel (since it breaks on
43191 i386-ieee1275 and others):
43192 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43193 * util/powerpc/ieee1275/misc.c: Likewise.
43194
43195 2008-04-07 Robert Millan <rmh@aybabtu.com>
43196
43197 * util/grub-probe.c (probe): Improve error message.
43198
43199 2008-04-07 Robert Millan <rmh@aybabtu.com>
43200
43201 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43202 (this prevents the presence of a bogus entry from ruining the whole
43203 thing).
43204
43205 2008-04-06 Pavel Roskin <proski@gnu.org>
43206
43207 * util/biosdisk.c: Include grub/util/biosdisk.h.
43208 * util/grub-fstest.c (execute_command): Make static.
43209 * util/grub-mkdevicemap.c (check_device): Likewise.
43210 * util/i386/pc/misc.c: Include grub/machine/init.h.
43211 * util/powerpc/ieee1275/misc.c: Likewise.
43212 * util/lvm.c: Include grub/util/lvm.h.
43213 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43214 grub/cache.h.
43215 * util/raid.c: Include grub/util/raid.h.
43216 (grub_util_getdiskname): Make static.
43217
43218 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43219 grub_hostfs_fini(), as they are called from grub_init_all() and
43220 grub_fini_all() respectively. This fixes an infinite loop in
43221 grub-fstest due to double registration of hostfs.
43222 Reported by Christian Franke <Christian.Franke@t-online.de>
43223
43224 2008-04-05 Pavel Roskin <proski@gnu.org>
43225
43226 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43227 all 8 functions. Otherwise, probe function 0 only.
43228
43229 2008-04-04 Pavel Roskin <proski@gnu.org>
43230
43231 * commands/lspci.c (grub_lspci_iter): Print the bus number
43232 correctly.
43233
43234 * commands/lspci.c (grub_pci_classes): Fix typos.
43235 (grub_lspci_iter): Don't print func twice. Print vendor ID
43236 before device ID, as it's normally done.
43237
43238 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43239 Fix signedness warnings.
43240 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43241 Likewise.
43242 * util/ieee1275/get_disk_name.c: Include config.h so that
43243 _GNU_SOURCE is defined and getline() is declared. Mark an
43244 unused argument as such. Fix a signedness warning.
43245
43246 2008-04-02 Pavel Roskin <proski@gnu.org>
43247
43248 * genkernsyms.sh.in: Use more robust assignments for CC and
43249 srcdir. Quote srcdir.
43250 * gensymlist.sh.in: Likewise. Assert at the compile time that
43251 the symbol table is not empty.
43252
43253 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43254 * fs/cpio.c (grub_cpio_read): Likewise.
43255
43256 2008-04-01 Pavel Roskin <proski@gnu.org>
43257
43258 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43259 * disk/host.c (grub_host_open): Likewise.
43260 * disk/loopback.c (grub_loopback_open): Likewise.
43261 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43262 disk->id as in disk/host.c, not a multi-character constant.
43263
43264 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43265 later is obsolete, potentially dangerous and sets a bad example.
43266 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43267 * util/misc.c (grub_util_get_image_size): Likewise.
43268
43269 * disk/loopback.c (options): Improve help for "--partitions".
43270
43271 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43272 options to align them with the short options, e.g. "echo -e".
43273
43274 2008-03-31 Bean <bean123ch@gmail.com>
43275
43276 * video/reader/png.c (grub_png_data): New member is_16bit and
43277 image_data.
43278 (grub_png_decode_image_header): Detect 16 bit png image.
43279 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43280 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43281 (grub_video_reader_png): Release memory occupied by image_data.
43282
43283 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43284 4096 bytes.
43285 (grub_nfs_mount): Skip the test for sector per cluster.
43286
43287 * include/grub/ntfs.h (MAX_SPC): Removed.
43288
43289 2008-03-31 Bean <bean123ch@gmail.com>
43290
43291 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43292 (grub_probe_SOURCES): Add fs/afs.c.
43293 (grub_fstest_SOURCES): Likewise.
43294 (afs_mod_SOURCES): New variable.
43295 (afs_mod_CFLAGS): Likewise.
43296 (afs_mod_LDFLAGS): Likewise.
43297
43298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43299 (grub_emu_SOURCES): Likewise.
43300
43301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43302
43303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43304
43305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43306
43307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43308
43309 * fs/afs.c: New file.
43310
43311 2008-03-30 Pavel Roskin <proski@gnu.org>
43312
43313 * disk/host.c: Include grub/misc.h to fix a warning.
43314 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43315 warnings about implicit declarations.
43316
43317 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43318 variable.
43319 * include/grub/i386/loader.h: Change declaration of
43320 grub_linux_boot() to match what grub_loader_set() expects.
43321 * util/getroot.c (grub_guess_root_device): Return const char* to
43322 fix a warning.
43323 * util/grub-probe.c (probe): Fix a warning about uninitialized
43324 abstraction_name variable.
43325 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43326 second argument as unused to fix a warning.
43327
43328 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43329 missing grub_error() call.
43330
43331 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43332 2.60 and newer uses it to define datadir.
43333
43334 * commands/sleep.c: Fix warning about implicit declaration.
43335 * disk/memdisk.c: Likewise.
43336 * loader/aout.c: Likewise.
43337 * loader/i386/bsd_normal.c: Likewise.
43338 * util/grub-probe.c: Likewise.
43339
43340 * commands/i386/cpuid.c (has_longmode): Make static.
43341 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43342 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43343
43344 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43345 GDT. This is more robust, as %ds can change.
43346 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43347 calling real_to_prot().
43348 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43349
43350 2008-03-28 Pavel Roskin <proski@gnu.org>
43351
43352 * kern/i386/pc/startup.S: Assert that uncompressed functions
43353 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43354 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43355 code, as they push parts of the code (error handlers) beyond
43356 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43357 code as correctness and size.
43358
43359 2008-03-28 Pavel Roskin <proski@gnu.org>
43360
43361 * kern/i386/pc/startup.S
43362 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43363 data block address to the real mode, keep offset minimal. This
43364 works around a bug in AWARD BIOS on old Athlon systems, which
43365 makes CD detection hang.
43366
43367 2008-03-26 Pavel Roskin <proski@gnu.org>
43368
43369 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43370 const.
43371 * include/grub/normal.h: Add grub_parse_color_name_pair()
43372 declaration.
43373
43374 2008-03-24 Bean <bean123ch@gmail.com>
43375
43376 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43377 (cd_count): Removed.
43378 (cd_drive): New variable.
43379 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43380 (grub_biosdisk_call_hook): Likewise.
43381 (grub_biosdisk_iterate): Change cdrom detection method.
43382 (grub_biosdisk_open): Replace cd_start with cd_drive.
43383 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43384 detect cdrom device.
43385
43386 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43387 Removed.
43388 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43389 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43390 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43391 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43392 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43393 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43394 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43395 (grub_biosdisk_cdrp): New structure.
43396 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43397
43398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43399
43400 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43401 device.
43402
43403 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43404 New function.
43405
43406 2008-03-20 Robert Millan <rmh@aybabtu.com>
43407
43408 Remove 2 TiB limit in ata.mod.
43409 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43410 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43411 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43412 grub_uint64_t instead of grub_uint32_t.
43413
43414 2008-03-05 Bean <bean123ch@gmail.com>
43415
43416 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43417 (grub_multiboot): Set boot device.
43418
43419 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43420
43421 2008-03-02 Bean <bean123ch@gmail.com>
43422
43423 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43424 symlink_buffer.
43425
43426 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43427
43428 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43429 texinfo.tex.
43430
43431 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43432 modified.
43433
43434 * docs/fdl.texi: New file.
43435
43436 * docs/mdate-sh: New file. Copied from gnulib.
43437 * docs/texinfo.tex: Likewise.
43438
43439 * config.guess: Updated from gnulib.
43440 * install-sh: Likewise.
43441
43442 2008-02-28 Robert Millan <rmh@aybabtu.com>
43443
43444 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43445 (aout_mod_SOURCES): New variable.
43446 (aout_mod_CFLAGS): Likewise.
43447 (aout_mod_LDFLAGS): Likewise.
43448
43449 * conf/i386-ieee1275.rmk: Likewise.
43450
43451 2008-02-28 Robert Millan <rmh@aybabtu.com>
43452
43453 * util/update-grub.in: Reorganise terminal validity check. Accept
43454 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43455 Based on suggestion by Franklin PIAT.
43456
43457 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43458
43459 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43460 function.
43461 * util/getroot.c (grub_util_check_block_device): New function that
43462 returns the given argument if it is a block device and returns NULL else.
43463 * util/grub-probe.c (argument_is_device): New variable.
43464 (probe): Promote device_name from a variable to an argument. Receive
43465 device_name from grub_util_check_block_device() if path is NULL and from
43466 grub_guess_root_device() else. Do not free() device_name anymore.
43467 (options): Introduce new parameter '-d, --device'.
43468 (main): Add description of the new parameter to the help screen.
43469 Rename path variable to argument. Set argument_is_device if the '-d'
43470 option is given. Pass argument to probe() depending on
43471 argument_is_device.
43472
43473 2008-02-24 Bean <bean123ch@gmail.com>
43474
43475 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43476 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43477 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43478 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43479 (GRUB_ISO9660_VOLDESC_END): Likewise.
43480 (grub_iso9660_primary_voldesc): New member escape.
43481 (grub_iso9660_data): New member joliet.
43482 (grub_iso9660_convert_string): New function.
43483 (grub_iso9660_mount): Detect joliet extension.
43484 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43485 (grub_iso9660_iso9660_label): Likewise.
43486
43487 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43488 (grub_setup_SOURCES): Add fs/udf.c.
43489 (grub_fstest_SOURCES): Likewise.
43490 (udf_mod_SOURCES): New variable.
43491 (udf_mod_CFLAGS): Likewise.
43492 (udf_mod_LDFLAGS): Likewise.
43493
43494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43495 (grub_emu_SOURCES): Likewise.
43496
43497 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43498
43499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43500
43501 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43502
43503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43504
43505 * fs/udf.c: New file.
43506
43507 2008-02-24 Robert Millan <rmh@aybabtu.com>
43508
43509 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43510 (normal/lexer.c_DEPENDENCIES): New variables.
43511 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43512 (normal/lexer.c_DEPENDENCIES): Likewise.
43513 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43514 (normal/lexer.c_DEPENDENCIES): Likewise.
43515 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43516 (normal/lexer.c_DEPENDENCIES): Likewise.
43517 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43518 (normal/lexer.c_DEPENDENCIES): Likewise.
43519 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43520 (normal/lexer.c_DEPENDENCIES): Likewise.
43521
43522 2008-02-23 Robert Millan <rmh@aybabtu.com>
43523
43524 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43525 since they were intended to be in hex. This didn't break previously
43526 because of a bug in gpt_partition_map_iterate() (see below).
43527
43528 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43529 when checking the validity of GPT header.
43530 Remove `partno', since it always provides the same information as `i'.
43531
43532 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43533
43534 * include/grub/efi/time.h: Fix a wrong comment.
43535
43536 2008-02-19 Pavel Roskin <proski@gnu.org>
43537
43538 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43539 message.
43540
43541 2008-02-19 Bean <bean123ch@gmail.com>
43542
43543 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43544 (aout_mod_SOURCES): New variable.
43545 (aout_mod_CFLAGS): Likewise.
43546 (aout_mod_LDFLAGS): Likewise.
43547 (_bsd_mod_SOURCES): New variable.
43548 (_bsd_mod_CFLAGS): Likewise.
43549 (_bsd_mod_LDFLAGS): Likewise.
43550 (bsd_mod_SOURCES): New variable.
43551 (bsd_mod_CFLAGS): Likewise.
43552 (bsd_mod_LDFLAGS): Likewise.
43553
43554 * include/grub/aout.h: New file.
43555
43556 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43557
43558 * include/grub/i386/bsd.h: New file.
43559
43560 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43561 to make it public.
43562
43563 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43564 function is called, so that it's possible to change it inside the hook.
43565 (grub_elf64_load): Likewise.
43566 (grub_elf_file): Don't close the file if elf header is not found.
43567 (grub_elf_close): Close the file if grub_elf_file fails (The new
43568 grub_elf_file won't close it).
43569 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43570 (grub_elf64_size): Likewise.
43571
43572 * kern/i386/loader.S (grub_unix_real_boot): New function.
43573
43574 * loader/aout.c: New file.
43575
43576 * loader/i386/bsd.c: New file.
43577
43578 * loader/i386/bsd_normal.c: New file.
43579
43580 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43581
43582 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
43583 can test other formats.
43584
43585 2008-02-19 Robert Millan <rmh@aybabtu.com>
43586
43587 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43588 (grub_gpt_partition_type_empty): Redefine with macro from
43589 `<grub/gpt_partition.h>'.
43590 (gpt_partition_map_iterate): Adjust partition type comparison.
43591
43592 Export `entry' as partmap-specific `part.data' struct.
43593 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43594
43595 * include/grub/gpt_partition.h (grub_gpt_header)
43596 (grub_gpt_partentry): ... to here (new file).
43597
43598 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43599
43600 (grub_gpt_partition_type_bios_boot): New const variable, defined
43601 with macro from `<grub/gpt_partition.h>'.
43602
43603 (setup): Replace `first_start' with `embed_region', which keeps
43604 track of the embed region (and is partmap-agnostic).
43605
43606 Replace find_first_partition_start() with find_usable_region(),
43607 which finds a usable region for embedding using partmap-specific
43608 knowledge (supports PC/MSDOS and GPT).
43609
43610 Fix all assumptions that the embed region start at sector 1, using
43611 `embed_region.start' from now on. Similarly, use `embed_region.end'
43612 rather than `first_start' to calculate available size.
43613
43614 In grub_util_info() message, replace "into after the MBR" with an
43615 indication of the specific sector our embed region starts at.
43616
43617 2008-02-19 Robert Millan <rmh@aybabtu.com>
43618
43619 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43620 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43621 `commands/reboot.c'.
43622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43623 (halt_mod_SOURCES): Likewise.
43624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43625 (halt_mod_SOURCES): Likewise.
43626
43627 2008-02-17 Christian Franke <franke@computer.org>
43628
43629 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43630
43631 2008-02-17 Robert Millan <rmh@aybabtu.com>
43632
43633 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43634 set `first_start' to 0 for non-PC/MSDOS partition maps.
43635
43636 2008-02-16 Robert Millan <rmh@aybabtu.com>
43637
43638 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43639 do not assume partition map is PC/MSDOS before performing checks that
43640 are specific to that layout.
43641
43642 2008-02-13 Robert Millan <rmh@aybabtu.com>
43643
43644 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43645 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43646 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43647
43648 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43649
43650 * configure.ac: Only a cosmetic change on the handling of
43651 -fno-stack-protector.
43652
43653 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
43654
43655 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43656 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43657 reboot.c.
43658 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43659 (halt_mod_SOURCES): New variable.
43660 (halt_mod_CFLAGS): Likewise.
43661 (halt_mod_LDFLAGS): Likewise.
43662 (reboot_mod_SOURCES): Likewise.
43663 (reboot_mod_CFLAGS): Likewise.
43664 (reboot_mod_LDFLAGS): Likewise.
43665
43666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43667 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43668 reboot.c.
43669 (halt_mod_SOURCES): Likewise.
43670 (reboot_mod_SOURCES): Likewise.
43671
43672 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43673 commands/i386/pc/reboot.c by commands/reboot.c.
43674 (reboot_mod_SOURCES): Likewise.
43675
43676 * commands/i386/pc/reboot.c: merge this file ...
43677
43678 * commands/ieee1275/reboot.c: ... and this file ...
43679
43680 * commands/reboot.c: ... to this file.
43681 Add some precompiler directive to include the correct header for
43682 each machine.
43683
43684 * commands/ieee1275/halt.c: move this file ...
43685
43686 * commands/halt.c: ... to here.
43687 Add some precompiler directive to include the correct header for
43688 each machine.
43689
43690 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43691 (grub_halt): Likewise.
43692
43693 * kern/efi/efi.c (grub_reboot): New function.
43694 (grub_halt): Likewise.
43695
43696 2008-02-12 Robert Millan <rmh@aybabtu.com>
43697
43698 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43699 /dev (like it is done for /dev/mapper). This doesn't provide support
43700 for EVMS, but at least it is now easy to identify the problem when it
43701 arises.
43702
43703 2008-02-11 Robert Millan <rmh@aybabtu.com>
43704
43705 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43706 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43707 comparing it with -1, not 0.
43708
43709 2008-02-10 Robert Millan <rmh@aybabtu.com>
43710
43711 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43712 `disk/lvm.c'.
43713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43714 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43715
43716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43717 `disk/lvm.c' to the end of the list.
43718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43720
43721 2008-02-10 Robert Millan <rmh@aybabtu.com>
43722
43723 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43724 grub_print_error() instead. This will let user know why we're entering
43725 rescue mode.
43726 Based on suggestions from Sam Morris.
43727
43728 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
43729
43730 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43731 on remaining N args, instead of "--" arg N times.
43732
43733 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43734
43735 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43736 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43737 pattern for unknown glyphs.
43738
43739 2008-02-09 Robert Millan <rmh@aybabtu.com>
43740
43741 * configure.ac: Probe for `help2man'.
43742 * Makefile.in (builddir): New variable.
43743 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43744 or otherwise add a few flags/options to it.
43745 (install-local): For every executable utility or script that is
43746 installed, invoke $(HELP2MAN) to install a manpage based on --help
43747 output.
43748
43749 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43750 that it doesn't prevent --help from working in build tree.
43751
43752 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43753 with `bug-grub@gnu.org'.
43754 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43755 * util/update-grub.in (usage): New function.
43756 Implement proper argument check, with support for --help and --version
43757 (as well as existing -y).
43758
43759 2008-02-09 Christian Franke <franke@computer.org>
43760
43761 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43762 avoid overwriting previous output.
43763 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43764
43765 2008-02-09 Robert Millan <rmh@aybabtu.com>
43766
43767 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43768 drawing the menu.
43769
43770 2008-02-09 Robert Millan <rmh@aybabtu.com>
43771
43772 * commands/sleep.c: New file.
43773 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43774 (sleep_mod_SOURCES): New variable.
43775 (sleep_mod_CFLAGS): Likewise.
43776 (sleep_mod_LDFLAGS): Likewise.
43777
43778 2008-02-09 Robert Millan <rmh@aybabtu.com>
43779
43780 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43781 situations in which we can deduce the RAID size and the superblock
43782 doesn't match it.
43783
43784 2008-02-09 Robert Millan <rmh@aybabtu.com>
43785
43786 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43787 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43788 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43789
43790 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43791 and return a grub_diskmemberlist_t composed of physical array members.
43792 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43793
43794 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43795 prototype.
43796 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43797 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43798 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43799
43800 * util/grub-probe.c (probe): Move partmap probing code from here ...
43801 (probe_partmap): ... to here.
43802 (probe): Use probe_partmap() once for the disk we're probing, and
43803 additionally, when such disk contains a memberlist() struct member,
43804 once for each disk that is contained in the structure returned by
43805 memberlist().
43806
43807 2008-02-09 Robert Millan <rmh@aybabtu.com>
43808
43809 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43810 environment variable to 'all' in order to obtain debug output from
43811 non-util/ code.
43812 * util/i386/pc/grub-setup.c (main): Likewise.
43813
43814 2008-02-08 Robert Millan <rmh@aybabtu.com>
43815
43816 * disk/raid.c (grub_raid_scan_device): Check for
43817 `array->device[sb.this_disk.number]' rather than for
43818 `array->device[sb.this_disk.number]->name', since the latter is not
43819 guaranteed to be accessible.
43820
43821 2008-02-08 Robert Millan <rmh@aybabtu.com>
43822
43823 * disk/raid.c: Update copyright.
43824 * fs/cpio.c: Likewise.
43825 * include/grub/raid.h: Likewise.
43826 * loader/i386/pc/multiboot.c: Likewise.
43827 * util/hostfs.c: Likewise.
43828
43829 2008-02-08 Robert Millan <rmh@aybabtu.com>
43830
43831 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43832 to a grub_disk_t array.
43833 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43834 `device[x]'.
43835 (grub_raid_scan_device): Replace `device[x].name' accesses with
43836 `device[x]->name'. Simplify initialization of `array->device[x]'.
43837
43838 2008-02-08 Robert Millan <rmh@aybabtu.com>
43839
43840 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43841 grub_dprintf() calls.
43842 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43843 error message.
43844
43845 2008-02-07 Christian Franke <franke@computer.org>
43846
43847 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43848 instead of fseek and ftell to support large files.
43849 (grub_hostfs_read): Likewise.
43850
43851 2008-02-07 Robert Millan <rmh@aybabtu.com>
43852
43853 Patch from Jeroen Dekkers.
43854 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
43855 failure, since successfully reading all array members might not be
43856 required.
43857
43858 2008-02-06 Robert Millan <rmh@aybabtu.com>
43859
43860 * util/grub-probe.c (probe): Simplify partmap probing (with the
43861 assumption that the first word up to the underscore equals to
43862 the module name).
43863
43864 2008-02-06 Christian Franke <franke@computer.org>
43865
43866 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43867 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43868 last block of a cpio or tar stream.
43869 Check for "TRAILER!!!" instead of any empty data
43870 block to detect last block of a cpio stream.
43871 (grub_cpio_dir): Fix constness of variable np.
43872 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43873 cpio or tar trailer is detected. This fixes a crash
43874 on open of a non existing file.
43875
43876 2008-02-05 Bean <bean123ch@gmail.com>
43877
43878 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43879 address of entry.
43880 (grub_multiboot_load_elf64): Likewise.
43881 (grub_multiboot): Initialize mbi structure.
43882
43883 * util/grub-fstest.c: Don't include unused header file script.h.
43884
43885 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
43886 of file.
43887 (grub_fstest_SOURCES): Likewise.
43888
43889 2008-02-05 Robert Millan <rmh@aybabtu.com>
43890
43891 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43892 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43893 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43894 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43895
43896 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43897 (translation_table): Replace hardcoded values with macros
43898 provided by `<grub/term.h>'.
43899
43900 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43901 (keyboard_map): Correct/add a few values, with macros provided
43902 by `<grub/term.h>'.
43903 (keyboard_map_shift): Zero values that don't differ from their
43904 `keyboard_map' equivalents.
43905 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43906 Discard the second scan code that is always sent by Caps lock.
43907 Only use `keyboard_map_shift' when it provides a non-zero value,
43908 otherwise fallback to `keyboard_map'.
43909
43910 2008-02-04 Bean <bean123ch@gmail.com>
43911
43912 * Makefile.in (enable_grub_fstest): New variable.
43913
43914 * conf/common.rmk (grub_fstest_init.lst): New rule.
43915 (grub_fstest_init.h): Likewise.
43916 (grub_fstest_init.c): Likewise.
43917 (util/grub-fstest.c_DEPENDENCIES): New variable.
43918 (grub_fstest_SOURCES): Likewise.
43919
43920 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43921
43922 * util/grub-fstest.c: New file.
43923
43924 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43925
43926 Make grub-setup handle a separate root device.
43927
43928 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43929 so that the root device can be compared with the destination
43930 device.
43931 When embedding the core image, if the root and destination devices
43932 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43933 0xFF.
43934 When not embedding, set ROOT_DRIVE to 0xFF.
43935
43936 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43937
43938 Add support for having a grub directory in a different drive. This
43939 is still only the data handling part.
43940
43941 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43942 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43943 (grub_root_drive): New variable.
43944
43945 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43946 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43947 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43948 as it was.
43949
43950 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43951
43952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43953 macro.
43954 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43955
43956 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43957 is bogus, because PXE booting does not specify any drive
43958 correctly.
43959
43960 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43961 am not sure if this is really correct.
43962
43963 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43964 is always identical to the boot drive when booting from a CD.
43965
43966 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43967 longer.
43968 (root_drive): New variable.
43969 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43970 (setup_sectors): Push %dx right after popping it, because %dh will
43971 be modified later.
43972 (copy_buffer): Restore %dx.
43973
43974 2008-02-03 Robert Millan <rmh@aybabtu.com>
43975
43976 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43977 use `cdboot.img' for cdrom images.
43978
43979 2008-02-03 Robert Millan <rmh@aybabtu.com>
43980
43981 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43982 only setup gfxterm when `font' command has succeeded.
43983
43984 2008-02-03 Robert Millan <rmh@aybabtu.com>
43985
43986 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43987 (grub_rescue_cmd_multiboot_loader)
43988 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43989
43990 2008-02-03 Pavel Roskin <proski@gnu.org>
43991
43992 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
43993 %edx and %esi from stack only after grub_gate_a20() is called.
43994 grub_gate_a20() clobbers %edx.
43995
43996 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43997
43998 * configure.ac (AC_INIT): Bumped to 1.96.
43999
44000 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44001 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44002 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44003 video/readers/png.c.
44004
44005 2008-02-03 Bean <bean123ch@gmail.com>
44006
44007 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44008 (cdboot_img_SOURCES): New variable.
44009 (cdboot_img_ASFLAGS): New variable.
44010 (cdboot_img_LDFLAGS): New variable.
44011
44012 * boot/i386/pc/cdboot.S: New file.
44013
44014 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44015 (cd_count): Likewise.
44016 (grub_biosdisk_get_drive): Add support for cd device.
44017 (grub_biosdisk_call_hook): Likewise.
44018 (grub_biosdisk_iterate): Likewise.
44019 (grub_biosdisk_open): Likewise.
44020 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44021 (grub_biosdisk_rw): Support reading from cd device.
44022 (GRUB_MOD_INIT): Iterate cd devices.
44023
44024 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44025 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44026 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44027
44028 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44029
44030 2008-02-02 Robert Millan <rmh@aybabtu.com>
44031
44032 * commands/read.c: New file.
44033 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44034 (read_mod_SOURCES): New variable.
44035 (read_mod_CFLAGS): Likewise.
44036 (read_mod_LDFLAGS): Likewise.
44037
44038 2008-02-02 Robert Millan <rmh@aybabtu.com>
44039
44040 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44041 determining whether menu has to be displayed.
44042
44043 2008-02-02 Marco Gerards <marco@gnu.org>
44044
44045 * bus/pci.c: New file.
44046
44047 * include/grub/pci.h: Likewise.
44048
44049 * include/grub/i386/pc/pci.h: Likewise.
44050
44051 * commands/lspci.c: Likewise.
44052
44053 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44054 `lspci.mod'.
44055 (pci_mod_SOURCES): New variable.
44056 (pci_mod_CFLAGS): Likewise.
44057 (pci_mod_LDFLAGS): Likewise.
44058 (lspci_mod_SOURCES): Likewise.
44059 (lspci_mod_CFLAGS): Likewise.
44060 (lspci_mod_LDFLAGS): Likewise.
44061
44062 2008-02-02 Bean <bean123ch@gmail.com>
44063
44064 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44065 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44066
44067 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44068 (grub_xfs_btree_node): New structure.
44069 (grub_xfs_btree_root): New structure.
44070 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44071 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44072 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44073 (GRUB_XFS_EXTENT_SIZE): Likewise.
44074 (grub_xfs_read_block): Support btree format type.
44075 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44076 Use directory block as basic unit.
44077
44078 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44079
44080 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44081 __attribute__ ((__regparm__ (1))).
44082
44083 2008-02-01 Robert Millan <rmh@aybabtu.com>
44084
44085 Correct a mistake in previous commit.
44086
44087 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44088 top.
44089 (normal/command.c_DEPENDENCIES): New variable.
44090
44091 2008-02-01 Robert Millan <rmh@aybabtu.com>
44092
44093 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44094 top.
44095 (normal/command.c_DEPENDENCIES): New variable.
44096 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44097 * conf/i386-ieee1275.rmk: Likewise.
44098 * conf/i386-linuxbios.rmk: Likewise.
44099 * conf/i386-pc.rmk: Likewise.
44100 * conf/sparc64-ieee1275.rmk: Likewise.
44101 * conf/powerpc-ieee1275.rmk: Likewise.
44102 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44103
44104 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44105
44106 2008-02-01 Robert Millan <rmh@aybabtu.com>
44107
44108 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44109 call at beginning of function.
44110
44111 2008-01-31 Pavel Roskin <proski@gnu.org>
44112
44113 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
44114 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44115 (grub_mkrescue_SOURCES): Likewise.
44116 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44117
44118 2008-01-30 Robert Millan <rmh@aybabtu.com>
44119
44120 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44121 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44122 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44123 (grub_probe_SOURCES): ... to here.
44124
44125 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44126 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44127 * conf/i386-ieee1275.rmk: Likewise.
44128 * conf/i386-linuxbios.rmk: Likewise.
44129 * conf/powerpc-ieee1275.rmk: Likewise.
44130
44131 2008-01-30 Tristan Gingold <gingold@free.fr>
44132
44133 * kern/rescue.c: Silently accept empty lines.
44134
44135 2008-01-29 Bean <bean123ch@gmail.com>
44136
44137 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44138 (real_code_2): Code cleanup and change comment style.
44139 (move_memory): Avoid using 32-bit address mode.
44140
44141 2008-01-29 Bean <bean123ch@gmail.com>
44142
44143 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44144 (png_mod_SOURCES): New variable.
44145 (png_mod_CFLAGS): Likewise.
44146 (png_mod_LDFLAGS): Likewise.
44147
44148 * video/readers/png.c: New file.
44149
44150 2008-01-28 Robert Millan <rmh@aybabtu.com>
44151
44152 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44153 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44154 `ifndef GRUB_MOD_GAP' hack.
44155 * util/elf/grub-mkimage.c (add_segments): Likewise.
44156
44157 2008-01-27 Robert Millan <rmh@aybabtu.com>
44158
44159 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44160 `GRUB_MOD_GAP' for platforms in which it's not defined.
44161 * util/elf/grub-mkimage.c (add_segments): Likewise.
44162
44163 2008-01-27 Robert Millan <rmh@aybabtu.com>
44164
44165 Get grub-emu to build again (including parallel builds).
44166
44167 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44168 Split into ...
44169 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44170 (normal/execute.c_DEPENDENCIES): ... this, ...
44171 (grub-emu_DEPENDENCIES): ... and this.
44172
44173 * conf/i386-efi.rmk: Likewise.
44174 * conf/i386-linuxbios.rmk: Likewise.
44175 * conf/i386-ieee1275.rmk: Likewise.
44176 * conf/powerpc-ieee1275.rmk: Likewise.
44177 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44178
44179 2008-01-27 Robert Millan <rmh@aybabtu.com>
44180
44181 * NEWS: Add a few items.
44182
44183 2008-01-27 Robert Millan <rmh@aybabtu.com>
44184
44185 Fix parallel builds with grub-emu. Based on earlier commit for
44186 grub-probe and grub-setup.
44187
44188 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44189 (util/grub-emu.c_DEPENDENCIES): ... this.
44190 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44191 (util/grub-emu.c_DEPENDENCIES): ... this.
44192 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44193 (util/grub-emu.c_DEPENDENCIES): ... this.
44194 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44195 (util/grub-emu.c_DEPENDENCIES): ... this.
44196 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44197 (util/grub-emu.c_DEPENDENCIES): ... this.
44198
44199 2008-01-27 Pavel Roskin <proski@gnu.org>
44200
44201 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44202 to create a gap between _end and the modules added to the image
44203 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44204 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44205 * util/elf/grub-mkimage.c (add_segments): Likewise.
44206
44207 2008-01-26 Pavel Roskin <proski@gnu.org>
44208
44209 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44210 just return an error.
44211
44212 2008-01-26 Bean <bean123ch@gmail.com>
44213
44214 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44215 (grub_reiserfs_get_item): Save offset of the next item.
44216 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44217
44218 2008-01-25 Robert Millan <rmh@aybabtu.com>
44219
44220 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44221 make all filesystem sources appear together (possibly fixing omissions
44222 while at it).
44223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44227
44228 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44229 add `kern/file.c'.
44230 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44231 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44232 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44233 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44234
44235 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44236 (probe): Add a sanity check to make sure of our ability to read
44237 requested files when probing for filesystem type.
44238
44239 * genmk.rb: Update copyright year (2007).
44240
44241 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44242 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44243 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44244 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44245 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44246 : Remove function prototypes.
44247
44248 2008-01-25 Robert Millan <rmh@aybabtu.com>
44249
44250 Revert my previous commits (based on wrong assumption of how grub_errno
44251 works).
44252
44253 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
44254 * kern/file.c (grub_file_open): Likewise.
44255
44256 2008-01-24 Pavel Roskin <proski@gnu.org>
44257
44258 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44259 that hang if GRUB tries to setup colors.
44260 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44261 colors for firmwares that don't support it.
44262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44263 Recognize Open Hack'Ware, set flags to work around its
44264 limitations.
44265
44266 2008-01-24 Robert Millan <rmh@aybabtu.com>
44267
44268 * kern/file.c (grub_file_open): Do not account previous failures of
44269 unrelated functions when grub_errno is checked for.
44270 Reported by Oleg Strikov.
44271
44272 2008-01-24 Bean <bean123ch@gmail.com>
44273
44274 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44275 (grub_ufs_sblock): New member volume name.
44276 (grub_ufs_find_file): Fix string copy bug.
44277 (grub_ufs_label): Implement this function properly.
44278
44279 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44280 (grub_hfs_iterate_records): Use the correct file number for extents
44281 and catalog file. Fix problem in next index calculation.
44282 (grub_hfs_find_node): Replace recursive function call with loop.
44283 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44284
44285 2008-01-23 Robert Millan <rmh@aybabtu.com>
44286
44287 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44288 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44289 (grub_multiboot2_real_boot): New function prototype.
44290
44291 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44292 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44293
44294 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44295 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44296
44297 2008-01-23 Robert Millan <rmh@aybabtu.com>
44298
44299 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44300 #ifdef'ed out grub_printf().
44301
44302 2008-01-23 Robert Millan <rmh@aybabtu.com>
44303
44304 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44305 grub_dprintf calls, since they make "debug=all" mode unusable.
44306 (grub_console_checkkey): Likewise.
44307
44308 2008-01-23 Robert Millan <rmh@aybabtu.com>
44309
44310 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44311 `term/i386/pc/at_keyboard.c'.
44312 (pkglib_MODULES): Add `serial.mod'.
44313 (serial_mod_SOURCES): New variable.
44314 (serial_mod_CFLAGS): Likewise.
44315 (serial_mod_LDFLAGS): Likewise.
44316
44317 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44318 `<grub/powerpc/ieee1275/console.h>'.
44319 (grub_keyboard_controller_init): New function prototype.
44320 (grub_console_checkkey): Likewise.
44321 (grub_console_getkey): Likewise.
44322
44323 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44324 keyboard on i386.
44325
44326 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44327 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44328
44329 2008-01-23 Robert Millan <rmh@aybabtu.com>
44330
44331 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44332 present, "(memdisk)/boot/grub" becomes the default prefix.
44333
44334 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44335 a memdisk tarball with all the modules. Add --overlay=DIR option that
44336 allows users to overlay additional files into the image.
44337
44338 2008-01-23 Robert Millan <rmh@aybabtu.com>
44339
44340 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44341 and `machine/memory.h'.
44342 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44343 (_multiboot_mod_SOURCES): New variable.
44344 (_multiboot_mod_CFLAGS): Likewise.
44345 (_multiboot_mod_LDFLAGS): Likewise.
44346 (multiboot_mod_SOURCES): Likewise.
44347 (multiboot_mod_CFLAGS): Likewise.
44348 (multiboot_mod_LDFLAGS): Likewise.
44349
44350 * include/grub/i386/ieee1275/loader.h: New file.
44351
44352 * include/grub/i386/ieee1275/machine.h: Likewise.
44353
44354 * include/grub/i386/ieee1275/memory.h: Likewise.
44355
44356 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44357 variable declaration.
44358 (grub_os_area_size): Likewise.
44359
44360 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44361 (grub_lower_mem, grub_upper_mem): New variables.
44362 (grub_stop_floppy): New function (just to make
44363 grub_multiboot2_real_boot() happy).
44364
44365 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44366 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44367 (grub_stop): New function.
44368 Include `"../realmode.S"' and `"../loader.S"'.
44369
44370 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44371 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44372
44373 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44374 rely on grub_multiboot2_real_boot() for final boot.
44375
44376 2008-01-22 Robert Millan <rmh@aybabtu.com>
44377
44378 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44379 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44380 device that doesn't look like an SD card.
44381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44382 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44383 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44384 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44385 found.
44386
44387 2008-01-22 Robert Millan <rmh@aybabtu.com>
44388
44389 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44390 avoid claiming over our own code.
44391
44392 2008-01-22 Bean <bean123ch@gmail.com>
44393
44394 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44395 (jpeg_mod_SOURCES): New variable.
44396 (jpeg_mod_CFLAGS): Likewise.
44397 (jpeg_mod_LDFLAGS): Likewise.
44398
44399 * video/readers/jpeg.c : New file.
44400
44401 2008-01-22 Bean <bean123ch@gmail.com>
44402
44403 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44404 there are no more items.
44405
44406 2008-01-21 Robert Millan <rmh@aybabtu.com>
44407
44408 * kern/mm.c (grub_mm_init_region): Improve debug message.
44409
44410 2008-01-21 Robert Millan <rmh@aybabtu.com>
44411
44412 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44413 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44414 address.
44415 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44416 a C macro.
44417 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44418 Indicates start of upper memory.
44419 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44420 (generate_image): Abort when image size is big enough to corrupt
44421 upper memory.
44422
44423 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44424 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44425 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44426 instead of hardcoding 0xA0000.
44427 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44428 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44429 instead of hardcoding 0xA0000.
44430
44431 2008-01-21 Robert Millan <rmh@aybabtu.com>
44432
44433 * disk/memdisk.c (memdisk_size): New variable.
44434 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44435 `memdisk_size'.
44436 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44437 image to dynamic memory.
44438 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44439 `memdisk_size'. Free memdisk block.
44440
44441 2008-01-21 Robert Millan <rmh@aybabtu.com>
44442
44443 Fix detection of very small filesystems (like tar).
44444
44445 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44446 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44447 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44448 a problem with this disk).
44449
44450 2008-01-21 Robert Millan <rmh@aybabtu.com>
44451
44452 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44453 on grub_biosdisk_rw_standard() error.
44454
44455 2008-01-21 Robert Millan <rmh@aybabtu.com>
44456
44457 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44458 recent changes.
44459 * kern/elf.c: Likewise.
44460 * kern/ieee1275/ieee1275.c: Likewise.
44461 * kern/powerpc/ieee1275/openfw.c: Likewise.
44462 * term/ieee1275/ofconsole.c: Likewise.
44463
44464 2008-01-21 Robert Millan <rmh@aybabtu.com>
44465
44466 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44467
44468 * include/grub/kernel.h (grub_arch_memdisk_addr)
44469 (grub_arch_memdisk_size): Moved from here ...
44470
44471 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44472 (grub_arch_memdisk_size): ... to here.
44473
44474 2008-01-21 Robert Millan <rmh@aybabtu.com>
44475
44476 Mostly based on bugfix from Bean.
44477
44478 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44479 attribute with hook() parameter.
44480 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44481 declaration.
44482 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44483 attribute with hook() parameter.
44484 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44485 declaration.
44486
44487 2008-01-21 Robert Millan <rmh@aybabtu.com>
44488
44489 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44490 (pkglib_MODULES): Add `memdisk.mod'.
44491 (memdisk_mod_SOURCES): New variable.
44492 (memdisk_mod_CFLAGS): Likewise.
44493 (memdisk_mod_LDFLAGS): Likewise.
44494
44495 * disk/memdisk.c: New file.
44496
44497 * include/grub/disk.h (grub_disk_dev_id): Add
44498 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44499
44500 * include/grub/i386/pc/kernel.h
44501 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44502 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44503 (grub_kernel_image_size): New variable declaration.
44504 (grub_total_module_size): Likewise.
44505 (grub_memdisk_image_size): Likewise.
44506
44507 * include/grub/i386/pc/memory.h
44508 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44509
44510 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44511 (grub_arch_memdisk_addr): New variable declaration.
44512 (grub_arch_memdisk_size): Likewise.
44513
44514 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44515 (grub_arch_memdisk_size): Likewise.
44516
44517 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44518 (codestart): Replace hardcoded `0x100000' with
44519 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44520
44521 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44522 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44523 not NULL, append the contents of the file it refers to, at the end of
44524 the compressed kernel image. Initialize `grub_memdisk_image_size'
44525 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44526 (options): Add "memdisk"|'m' option.
44527 (main): Parse --memdisk|-m option, and pass user-provided path as
44528 parameter to generate_image().
44529
44530 2008-01-20 Robert Millan <rmh@aybabtu.com>
44531
44532 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44533 grub_dprintf() calls from here ...
44534 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44535
44536 2008-01-20 Robert Millan <rmh@aybabtu.com>
44537
44538 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44539
44540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44541 declaration.
44542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44543 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44544 `GRUB_IEEE1275_FLAG_REAL_MODE'.
44545 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
44546 property).
44547 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44548 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44549
44550 2008-01-19 Robert Millan <rmh@aybabtu.com>
44551
44552 Get rid of confusing function (superseded by
44553 `grub_ieee1275_get_integer_property')
44554 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44555 prototype.
44556 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44557 function.
44558 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44559 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
44560 in native endianness from grub_ieee1275_get_integer_property().
44561
44562 2008-01-19 Robert Millan <rmh@aybabtu.com>
44563
44564 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44565 command after "shut-down", since implementations differ on which
44566 the command for halt is.
44567
44568 2008-01-19 Robert Millan <rmh@aybabtu.com>
44569
44570 * include/grub/i386/linuxbios/console.h: Add header protection.
44571 (grub_keyboard_controller_init): New function prototype.
44572 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44573 (KEYBOARD_COMMAND_READ): Likewise.
44574 (KEYBOARD_COMMAND_WRITE): Likewise.
44575 (KEYBOARD_SCANCODE_SET1): Likewise.
44576 (grub_keyboard_controller_write): New function.
44577 (grub_keyboard_controller_read): Likewise.
44578 (grub_keyboard_controller_init): Likewise.
44579
44580 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44581 (grub_console_init): On coreboot/LinuxBIOS, call
44582 grub_keyboard_controller_init().
44583
44584 2008-01-19 Robert Millan <rmh@aybabtu.com>
44585
44586 PowerPC changes provided by Pavel Roskin.
44587
44588 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44589 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44590 don't rely on cmain() doing it.
44591 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44592 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44593
44594 2008-01-16 Robert Millan <rmh@aybabtu.com>
44595
44596 * include/grub/i386/linuxbios/memory.h
44597 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44598 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44599 receive `table_header' as argument. Instead, probe for it in the
44600 known memory ranges where it can be present.
44601 (grub_available_iterate): Do not pass a fixed `table_header' address
44602 to grub_linuxbios_table_iterate().
44603
44604 2008-01-15 Robert Millan <rmh@aybabtu.com>
44605
44606 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44607 * conf/i386-ieee1275.rmk: New file.
44608 * include/grub/i386/ieee1275/console.h: Likewise.
44609 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44610 * include/grub/i386/ieee1275/kernel.h: Likewise.
44611 * include/grub/i386/ieee1275/time.h: Likewise.
44612 * kern/i386/ieee1275/init.c: Likewise.
44613 * kern/i386/ieee1275/startup.S: Likewise.
44614
44615 2008-01-15 Robert Millan <rmh@aybabtu.com>
44616
44617 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44618 when pointers are 32-bit (but still do set it to one when they are
44619 64-bit).
44620
44621 2008-01-15 Robert Millan <rmh@aybabtu.com>
44622
44623 * include/grub/ieee1275/ieee1275.h
44624 (grub_ieee1275_get_integer_property): New function prototype.
44625
44626 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44627 (grub_ieee1275_get_integer_property): New function. Wraps around
44628 grub_ieee1275_get_property() to handle endianness.
44629
44630 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44631 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
44632 where appropriate.
44633 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44634 (grub_map): Likewise.
44635 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44636
44637 2008-01-15 Bean <bean123ch@gmail.com>
44638
44639 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44640 (grub_script_execute_cmdline): Reset grub_errno.
44641
44642 * normal/main.c (read_config_file): Reset grub_errno.
44643
44644 * normal/parse.y (script_init): New.
44645 (script): Move function and menuentry here.
44646 (delimiter): New.
44647 (command): Add delimiter at the end of command.
44648 (commands): Adjust to match the new command.
44649 (commandblock): Remove grub_script_lexer_record_start.
44650 (menuentry): Add grub_script_lexer_record_start, use the new commands.
44651 (if): Use the new commands.
44652
44653 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44654
44655 2008-01-15 Robert Millan <rmh@aybabtu.com>
44656
44657 * normal/menu.c (run_menu): Move timeout message from here ...
44658 (print_timeout): ... to here.
44659 (run_menu): Use print_timeout() once during initial draw to print
44660 the whole message, and again in every clock tick to update only
44661 the number of seconds.
44662
44663 2008-01-15 Robert Millan <rmh@aybabtu.com>
44664
44665 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44666 actual size of `available' from grub_ieee1275_get_property(), and
44667 restrict parsing to that bound.
44668
44669 2008-01-15 Christian Franke <franke@computer.org>
44670
44671 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44672 (argp_program_version): Remove variable.
44673 (argp_program_bug_address): Likewise.
44674 (options): Convert from struct argp_option to struct option.
44675 (struct arguments): Remove.
44676 (parse_opt): Remove.
44677 (usage): New function.
44678 (main): Replace struct args members by simple variables.
44679 Replace argp_parse() by getopt_long().
44680 Add switch to evaluate options.
44681 Add missing "(...)" around root_dev in prefix string.
44682
44683 2008-01-14 Robert Millan <rmh@aybabtu.com>
44684
44685 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44686 for grub_ieee1275_exit(), in order to improve portability.
44687
44688 2008-01-14 Robert Millan <rmh@aybabtu.com>
44689
44690 * util/grub.d/10_linux.in (prefix): Define.
44691 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44692
44693 2008-01-13 Pavel Roskin <proski@gnu.org>
44694
44695 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44696 grub_errno if no errors have been detected.
44697
44698 2008-01-12 Robert Millan <rmh@aybabtu.com>
44699
44700 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44701 (grub_util_get_dev_abstraction): New function prototype.
44702
44703 * util/getroot.c: Include `<grub/util/getroot.h>'
44704 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44705 (grub_util_get_dev_abstraction): ... here (new function).
44706
44707 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44708 `PRINT_ABSTRACTION'.
44709 (probe): Probe for abstraction type when requested.
44710 (main): Understand `--target=abstraction'.
44711
44712 * util/i386/efi/grub-install.in: Add abstraction module to core
44713 image when it is found to be necessary.
44714 * util/i386/pc/grub-install.in: Likewise.
44715 * util/powerpc/ieee1275/grub-install.in: Likewise.
44716
44717 * util/update-grub_lib.in (font_path): Return system path without
44718 converting to GRUB path.
44719 * util/update-grub.in: Convert system path returned by font_path()
44720 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44721 abstraction module is needed for loading fonts (if any). Export
44722 that as `GRUB_PRELOAD_MODULES'.
44723 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44724 insmod commands).
44725
44726 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44727
44728 Remove some unused code from reiserfs.
44729
44730 * fs/reiserfs.c (struct grub_reiserfs_key)
44731 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44732 (struct grub_reiserfs_node_body): Removed.
44733 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44734 Likewise.
44735 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44736 Likewise.
44737 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44738 Likewise.
44739 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44740 Likewise.
44741 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44742 Likewise.
44743 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44744 Likewise.
44745 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44746 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44747 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44748
44749 2008-01-10 Robert Millan <rmh@aybabtu.com>
44750
44751 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44752 Determines if a file is garbage left by packaging systems, etc.
44753 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44754 for processing /etc/grub.d scripts.
44755 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44756 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44757 as a condition for processing Linux images.
44758
44759 2008-01-10 Pavel Roskin <proski@gnu.org>
44760
44761 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44762 to compile reiserfs.c on PowerPC.
44763
44764 2008-01-10 Robert Millan <rmh@aybabtu.com>
44765
44766 * kern/device.c (grub_device_iterate): Do not abort device iteration
44767 when one of the devices cannot be opened.
44768 * kern/disk.c (grub_disk_open): Do not account previous failures of
44769 unrelated functions when grub_errno is checked for.
44770
44771 2008-01-08 Robert Millan <rmh@aybabtu.com>
44772
44773 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44774 `! grub_linux_is_bzimage', change order of address comparison to make
44775 it more intuitive, and improve "too big zImage" error message.
44776
44777 2008-01-08 Robert Millan <rmh@aybabtu.com>
44778
44779 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44780 `$(update-grub_DATA)'.
44781 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44782 targets.
44783
44784 2008-01-07 Robert Millan <rmh@aybabtu.com>
44785
44786 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44787 which instruction is modified by grub-setup during installation
44788 (since it wasn't obvious by only looking at this file).
44789
44790 2008-01-07 Robert Millan <rmh@aybabtu.com>
44791
44792 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44793 listing actual TODO items.
44794
44795 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44796
44797 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44798 correctly.
44799 (grub_reiserfs_get_key_offset): Likewise.
44800 (grub_reiserfs_set_key_offset): Likewise.
44801 (grub_reiserfs_set_key_type): Likewise.
44802 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
44803
44804 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44805 better to remove the bitfield version completely.
44806
44807 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44808
44809 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44810 allocated from the heap, due to the fshelp implementation.
44811 (grub_reiserfs_dir): Free NODE, due to the same reason.
44812
44813 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44814
44815 Mostly from Vincent Pelletier:
44816
44817 * fs/reiserfs.c: New file.
44818
44819 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44820 (reiserfs_mod_SOURCES): New variable.
44821 (reiserfs_mod_CFLAGS): Likewise.
44822 (reiserfs_mod_LDFLAGS): Likewise.
44823
44824 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44825 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44826 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44827 normal/color.c.
44828
44829 2008-01-06 Robert Millan <rmh@aybabtu.com>
44830
44831 * normal/color.c: Remove `<grub/env.h>'.
44832
44833 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44834
44835 * include/grub/normal.h: Include <grub/env.h>.
44836
44837 2008-01-05 Robert Millan <rmh@aybabtu.com>
44838
44839 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44840 usage example with `(hd0,1)'.
44841 Reported by Samuel Thibault.
44842
44843 2008-01-05 Robert Millan <rmh@aybabtu.com>
44844
44845 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44846 (grub_linux_boot_zimage): Rename to ...
44847 (grub_linux_boot): ... this.
44848 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44849 (grub_linux_boot_zimage): Conditionalize zImage copy.
44850
44851 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44852 (grub_linux_boot_bzimage): Remove prototype.
44853 (grub_linux_boot_zimage): Rename to ...
44854 (grub_linux_boot): ... this.
44855
44856 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44857 (grub_linux_boot): Remove function.
44858
44859 2008-01-05 Robert Millan <rmh@aybabtu.com>
44860
44861 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44862 (grub_env_write_color_highlight): Likewise.
44863 (grub_wait_after_message): Likewise.
44864
44865 * normal/color.c: New file.
44866
44867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44868 (normal_mod_DEPENDENCIES): Likewise.
44869
44870 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44871 (normal_mod_DEPENDENCIES): Likewise.
44872
44873 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44874 (normal_mod_DEPENDENCIES): Likewise.
44875
44876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44877 (normal_mod_DEPENDENCIES): Likewise.
44878
44879 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44880 for waiting after a message is printed.
44881 * normal/main.c (read_config_file): Likewise.
44882 (grub_normal_init): Register grub_env_write_color_normal() and
44883 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44884 `color_highlight' variables as global.
44885
44886 * normal/menu.c (grub_wait_after_message): New function.
44887 (grub_color_menu_normal): New variable. Replaces ...
44888 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44889 (grub_color_menu_highlight): New variable. Replaces ...
44890 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44891 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44892 `GRUB_TERM_COLOR_STANDARD'.
44893 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44894 `normal_code' and `highlight_code' to `old_color_normal' and
44895 `old_color_highlight', respectively.
44896 (grub_menu_init_page): Update colors when drawing the menu, based on
44897 `menu_color_normal' and `menu_color_highlight' variables.
44898 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44899 a message is printed.
44900
44901 2008-01-05 Robert Millan <rmh@aybabtu.com>
44902
44903 * kern/env.c (grub_env_context_open): Propagate hooks for global
44904 variables to new context.
44905
44906 * kern/main.c (grub_set_root_dev): Export `root' variable.
44907
44908 2008-01-05 Robert Millan <rmh@aybabtu.com>
44909
44910 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
44911 discs unconditionally, since udev and others have options to provide
44912 them.
44913
44914 2008-01-05 Robert Millan <rmh@aybabtu.com>
44915
44916 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44917
44918 2008-01-04 Christian Franke <franke@computer.org>
44919
44920 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44921 of eisa_mmap.
44922
44923 2008-01-03 Pavel Roskin <proski@gnu.org>
44924
44925 * kern/i386/linuxbios/init.c: Put "void" to all function
44926 declarations with no arguments.
44927 * kern/powerpc/ieee1275/init.c: Likewise.
44928 * term/i386/pc/at_keyboard.c: Likewise.
44929 * term/i386/pc/vga_text.c: Likewise.
44930 * util/grub-mkdevicemap.c: Likewise.
44931
44932 2008-01-02 Robert Millan <rmh@aybabtu.com>
44933
44934 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44935 message when loaded image is out of bounds.
44936 (grub_multiboot_load_elf64): Likewise.
44937
44938 2008-01-02 Pavel Roskin <proski@gnu.org>
44939
44940 * util/grub.d/10_linux.in: Try version without ".old" when
44941 looking for initrd. It's better to use initrd from the newer
44942 kernel of the same version than no initrd at all.
44943
44944 2008-01-01 Robert Millan <rmh@aybabtu.com>
44945
44946 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44947
44948 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44949
44950 * include/grub/video.h: Added grub_video_unmap_color and
44951 grub_video_get_active_render_target.
44952 (grub_video_adapter): Added unmap_color and get_active_render_target.
44953
44954 * video/video.c: Added grub_video_unmap_color and
44955 grub_video_get_active_render_target.
44956 (grub_video_get_info): Changed method to accept NULL pointer as an
44957 argument to allow detection of active video adapter.
44958
44959 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44960 grub_video_vbe_unmap_color_int.
44961 Added grub_video_vbe_unmap_color and
44962 grub_video_vbe_get_active_render_target.
44963 (grub_video_vbe_adapter): Added unmap_color and
44964 get_active_render_target.
44965
44966 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
44967 with grub_video_vbe_unmap_color_int.
44968
44969 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44970 (DEFAULT_NORMAL_COLOR): Likewise.
44971 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44972 (DEFAULT_FG_COLOR): Removed.
44973 (DEFAULT_BG_COLOR): Likewise.
44974 (DEFAULT_CURSOR_COLOR): Changed value.
44975 (grub_virtual_screen): Added standard_color_setting,
44976 normal_color_setting, highlight_color_setting and term_color.
44977 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44978 (bitmap_width): Added.
44979 (bitmap_height): Likewise.
44980 (bitmap): Likewise.
44981 (set_term_color): Likewise.
44982 (grub_virtual_screen_setup): Changed to use new terminal coloring
44983 settings.
44984 (grub_gfxterm_init): Added init for bitmap.
44985 (grub_gfxterm_fini): Added destroy for bitmap.
44986 (redraw_screen_rect): Updated to use background bitmap and new
44987 terminal coloring.
44988 (scroll_up): Added optimization for case when there is no bitmap.
44989 (grub_gfxterm_cls): Fixed to use correct background color.
44990 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44991 coloring.
44992 (grub_virtual_screen_setcolor): Likewise.
44993 (grub_virtual_screen_getcolor): Added.
44994 (grub_gfxterm_background_image_cmd): Likewise.
44995 (grub_video_term): Added setcolor and getcolor.
44996 (MOD_INIT): Added registration of background_image command.
44997 (MOD_TERM): Added unregistration for background_image command.
44998
44999 2007-12-30 Pavel Roskin <proski@gnu.org>
45000
45001 * loader/multiboot_loader.c: Fix multiboot command
45002 unregistration. Fix all typos in the word "multiboot".
45003
45004 2007-12-29 Pavel Roskin <proski@gnu.org>
45005
45006 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45007 support for initrd names used in Fedora.
45008
45009 2007-12-26 Bean <bean123ch@gmail.com>
45010
45011 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45012 (cpio_mod_SOURCES): New variable.
45013 (cpio_mod_CFLAGS): Likewise.
45014 (cpio_mod_LDFLAGS): Likewise.
45015
45016 * fs/cpio.c: New file.
45017
45018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45019
45020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45021
45022 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45023
45024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45025
45026 2007-12-25 Robert Millan <rmh@aybabtu.com>
45027
45028 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45029 (grub_getcolor): New function.
45030
45031 * kern/term.c (grub_getcolor): New function.
45032 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45033 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45034 (print_entry): Set normal and highlight colors to
45035 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45036 respectively, before printing and restore them to old
45037 values afterwards.
45038 (grub_menu_init_page): Likewise. Fill an additional colored space
45039 that would otherwise be left blank.
45040
45041 * term/efi/console.c (grub_console_getcolor): New function.
45042 (struct grub_console_term.getcolor): New variable.
45043 * term/i386/pc/console.c (grub_console_getcolor): New function.
45044 (struct grub_console_term.getcolor): New variable.
45045 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45046 (struct grub_console_term.getcolor): New variable.
45047
45048 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45049 (struct grub_console_term.setcolor): Remove variable.
45050 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45051 (struct grub_console_term.setcolor): Remove variable.
45052 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45053 (struct grub_console_term.setcolor): Remove variable.
45054 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45055 (struct grub_console_term.setcolor): Remove variable.
45056
45057 2007-12-25 Robert Millan <rmh@aybabtu.com>
45058
45059 * configure.ac: Search for possible unifont.hex locations, and
45060 define UNIFONT_HEX if found.
45061
45062 * Makefile.in (UNIFONT_HEX): Define variable.
45063 (DATA): Rename to ...
45064 (PKGLIB): ... this. Update all users.
45065 (PKGDATA): New variable.
45066 (pkgdata_IMAGES): Rename to ...
45067 (pkglib_IMAGES): ... this. Update all users.
45068 (pkgdata_MODULES): Rename to ...
45069 (pkglib_MODULES): ... this. Update all users.
45070 (pkgdata_PROGRAMS): Rename to ...
45071 (pkglib_PROGRAMS): ... this. Update all users.
45072 (pkgdata_DATA): Rename to ...
45073 (pkglib_DATA): ... this. Update all users.
45074 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45075 (unicode.pff, ascii.pff): New rules.
45076 (all-local): Add `$(PKGDATA)' dependency.
45077 (install-local): Process `$(PKGDATA)'.
45078
45079 * util/update-grub_lib.in (font_path): Search for *.pff files in
45080 a few more locations, including `${pkgdata}'.
45081
45082 2007-12-23 Robert Millan <rmh@aybabtu.com>
45083
45084 Patch from Bean <bean123ch@gmail.com>:
45085 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45086 `size'.
45087
45088 2007-12-21 Bean <bean123ch@gmail.com>
45089
45090 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45091 (ntfscomp_mod_SOURCES): New variable.
45092 (ntfscomp_mod_CFLAGS): Likewise.
45093 (ntfscomp_mod_LDFLAGS): Likewise.
45094
45095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45096 (grub_probe_SOURCES): Likewise.
45097 (grub_emu_SOURCES): Likewise.
45098
45099 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45100 (grub_emu_SOURCES): Likewise.
45101
45102 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45103 (grub_emu_SOURCES): Likewise.
45104
45105 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45106 (grub_emu_SOURCES): Likewise.
45107
45108 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45109 (read_run_list): Renamed to grub_ntfs_read_run_list.
45110 (decomp_nextvcn): Moved to ntfscomp.c.
45111 (decomp_getch): Likewise.
45112 (decomp_get16): Likewise.
45113 (decomp_block): Likewise.
45114 (read_block): Likewise.
45115 (read_data): Partially moved to ntfscomp.c.
45116 (fixup): Change unsigned to grub_uint16_t.
45117 (read_mft): Change unsigned long to grub_uint32_t.
45118 (read_attr): Likewise.
45119 (read_data): Likewise.
45120 (read_run_data): Likewise.
45121 (read_run_list): Likewise.
45122 (read_mft): Likewise.
45123
45124 * fs/ntfscomp.c: New file.
45125
45126 * include/grub/ntfs.h: New file.
45127
45128 2007-12-16 Robert Millan <rmh@aybabtu.com>
45129
45130 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45131 IDE disk check, since Linux is known to support 20 IDE disks.
45132 Reported by Colin Watson.
45133
45134 2007-12-15 Bean <bean123ch@gmail.com>
45135
45136 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45137 (lnxboot_img_SOURCES): New variable.
45138 (lnxboot_img_ASFLAGS): Likewise.
45139 (lnxboot_img_LDFLAGS): Likewise.
45140
45141 * boot/i386/pc/lnxboot.S: New file.
45142
45143 2007-11-24 Pavel Roskin <proski@gnu.org>
45144
45145 * configure.ac: Test if '--build-id=none' is supported by the
45146 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45147 objcopy to generate incorrect binary files (binutils
45148 2.17.50.0.18-1 as shipped by Fedora 8).
45149 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45150 linking, so that build ID doesn't break the test.
45151
45152 2007-11-24 Pavel Roskin <proski@gnu.org>
45153
45154 * include/grub/i386/time.h: use "void" in the argument list
45155 of grub_cpu_idle().
45156 * include/grub/powerpc/time.h: Likewise.
45157 * include/grub/sparc64/time.h: Likewise.
45158
45159 2007-11-18 Christian Franke <franke@computer.org>
45160
45161 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45162 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45163 This fixes the problem that function keys did not work in grub-emu.
45164
45165 2007-11-18 Christian Franke <franke@computer.org>
45166
45167 * disk/host.c (grub_host_open): Remove attribute unused from
45168 name parameter. Add check for "host". This fixes the problem
45169 that grub-emu does not find partitions.
45170
45171 2007-11-18 Christian Franke <franke@computer.org>
45172
45173 * util/hostfs.c (is_dir): New function.
45174 (grub_hostfs_dir): Handle missing dirent.d_type case.
45175 (grub_hostfs_read): Add missing fseek().
45176 (grub_hostfs_label): Clear label pointer. This fixes a crash
45177 of grub-emu on "ls (host)".
45178
45179 2007-11-18 Christian Franke <franke@computer.org>
45180
45181 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45182 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45183 to 64 bit boundary by default.
45184
45185 2007-11-18 Bean <bean123ch@gmail.com>
45186
45187 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45188 (hexdump_mod_SOURCES): New variable.
45189 (hexdump_mod_CFLAGS): Likewise.
45190 (hexdump_mod_LDFLAGS): Likewise.
45191
45192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45193
45194 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45195
45196 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45197
45198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45199
45200 * include/grub/hexdump.h: New file.
45201
45202 * commands/hexdump.c: New file.
45203
45204 2007-11-10 Robert Millan <rmh@aybabtu.com>
45205
45206 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45207 in grub_outb() calls.
45208 (beep_on): Likewise.
45209
45210 2007-11-10 Christian Franke <franke@computer.org>
45211
45212 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45213 (grub_menu_run): Likewise.
45214
45215 2007-11-10 Robert Millan <rmh@aybabtu.com>
45216
45217 * include/grub/i386/efi/machine.h: New file.
45218 * include/grub/i386/linuxbios/machine.h: Likewise.
45219 * include/grub/i386/pc/machine.h: Likewise.
45220 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45221 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45222
45223 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45224 (serial_hw_io_addr): New variable.
45225 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45226 instead of `(unsigned short *) 0x400'.
45227
45228 2007-11-10 Bean <bean123ch@gmail.com>
45229
45230 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45231
45232 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45233
45234 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45235 (vga_mod_SOURCES): Added.
45236 (vga_mod_CFLAGS): Likewise.
45237 (vga_mod_LDFLAGS): Likewise.
45238
45239 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45240 grub_outb() calls.
45241 (set_map_mask): Likewise.
45242 (set_read_map): Likewise.
45243 (set_read_address): Likewise.
45244 (vga_font): Removed variable.
45245 (get_vga_glyph): Removed function.
45246 (invalidate_char): Likewise.
45247 (write_char): Changed to use grub_font_get_glyph() for font
45248 information.
45249 (grub_vga_putchar): Likewise.
45250 (grub_vga_getcharwidth): Likewise.
45251
45252 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45253
45254 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45255 flags.
45256 (pxeboot_img_LDFLAGS): Likewise.
45257 (diskboot_img_LDFLAGS): Likewise.
45258 (kernel_img_LDFLAGS): Likewise.
45259
45260 2007-11-06 Robert Millan <rmh@aybabtu.com>
45261
45262 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45263 in grub_outb() calls.
45264 (serial_hw_init): Likewise.
45265
45266 2007-11-05 Robert Millan <rmh@aybabtu.com>
45267
45268 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45269 spaces. Skip non-regular files.
45270
45271 2007-11-05 Robert Millan <rmh@aybabtu.com>
45272
45273 * kern/disk.c (grub_disk_firmware_fini)
45274 (grub_disk_firmware_is_tainted): New variables.
45275
45276 * include/grub/disk.h (grub_disk_firmware_fini)
45277 (grub_disk_firmware_is_tainted): Likewise.
45278
45279 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45280 (grub_disk_biosdisk_fini): ... to here.
45281 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45282 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45283 is set. Register grub_disk_biosdisk_fini() in
45284 `grub_disk_firmware_fini'.
45285
45286 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45287 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45288 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45289 to finish existing firmware disk interface.
45290
45291 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45292 (ata_mod_SOURCES): New variable.
45293 (ata_mod_CFLAGS): Likewise.
45294 (ata_mod_LDFLAGS): Likewise.
45295
45296 2007-11-05 Robert Millan <rmh@aybabtu.com>
45297
45298 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45299 (grub_ata_wait): Reimplement using grub_millisleep().
45300
45301 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45302 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45303
45304 2007-11-03 Marco Gerards <marco@gnu.org>
45305
45306 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45307 (CRTC_ADDR_PORT): New macro.
45308 (CRTC_DATA_PORT): Likewise.
45309 (CRTC_CURSOR): Likewise.
45310 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45311 (CRTC_CURSOR_ADDR_LOW): Likewise.
45312 (update_cursor): New function.
45313 (grub_console_real_putchar): Call `update_cursor'.
45314 (grub_console_gotoxy): Likewise.
45315 (grub_console_cls): Set the default color when clearing the
45316 screen.
45317 (grub_console_setcursor): Implemented.
45318
45319 2007-11-03 Marco Gerards <marco@gnu.org>
45320
45321 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45322 become activate.
45323 (grub_ata_pio_write): Likewise.
45324
45325 (grub_atapi_identify): Wait after issuing an ATA command.
45326 (grub_atapi_packet): Likewise.
45327 (grub_ata_identify): Likewise.
45328 (grub_ata_readwrite): Likewise.
45329
45330 2007-11-03 Marco Gerards <marco@gnu.org>
45331
45332 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45333 (grub_ata_pio_write): Likewise.
45334 (grub_ata_readwrite): Use `grub_error', instead of
45335 returning `grub_errno'.
45336
45337 2007-11-03 Marco Gerards <marco@gnu.org>
45338
45339 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45340 grub_ata_pio_write once for every single sector, instead of for
45341 multiple sectors.
45342
45343 2007-10-31 Robert Millan <rmh@aybabtu.com>
45344
45345 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45346
45347 * conf/i386-linuxbios.rmk: New file.
45348
45349 * kern/i386/pc/hardware.c: Likewise.
45350 * term/i386/pc/at_keyboard.c: Likewise.
45351 * term/i386/pc/vga_text.c: Likewise.
45352
45353 * include/grub/i386/linuxbios/boot.h: Likewise.
45354 * include/grub/i386/linuxbios/console.h: Likewise.
45355 * include/grub/i386/linuxbios/init.h: Likewise.
45356 * include/grub/i386/linuxbios/kernel.h: Likewise.
45357 * include/grub/i386/linuxbios/loader.h: Likewise.
45358 * include/grub/i386/linuxbios/memory.h: Likewise.
45359 * include/grub/i386/linuxbios/serial.h: Likewise.
45360 * include/grub/i386/linuxbios/time.h: Likewise.
45361
45362 * kern/i386/linuxbios/init.c: Likewise.
45363 * kern/i386/linuxbios/startup.S: Likewise.
45364 * kern/i386/linuxbios/table.c: Likewise.
45365
45366 2007-10-31 Marco Gerards <marco@gnu.org>
45367
45368 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45369 (ata_mod_SOURCES): New variable.
45370 (ata_mod_CFLAGS): Likewise.
45371 (ata_mod_LDFLAGS): Likewise.
45372
45373 * disk/ata.c: New file.
45374
45375 * include/grub/disk.h (grub_disk_dev_id): Add
45376 `GRUB_DISK_DEV_ATA_ID'.
45377
45378 2007-10-31 Robert Millan <rmh@aybabtu.com>
45379
45380 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45381 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45382
45383 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45384 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45385
45386 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45387 `<grub/types.h>'.
45388
45389 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45390
45391 2007-10-27 Robert Millan <rmh@aybabtu.com>
45392
45393 * include/grub/types.h (ULONG_MAX): Define macro.
45394
45395 2007-10-22 Robert Millan <rmh@aybabtu.com>
45396
45397 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45398 `"../realmode.S"'.
45399 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45400
45401 2007-10-22 Robert Millan <rmh@aybabtu.com>
45402
45403 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45404 (pkgdata_MODULES): Add `biosdisk.mod'.
45405 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45406 variables.
45407
45408 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45409 (grub_biosdisk_init): Replace with ...
45410 (GRUB_MOD_INIT(biosdisk)): ... this.
45411 (grub_biosdisk_fini): Replace with ...
45412 (GRUB_MOD_FINI(biosdisk)): ... this.
45413
45414 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45415 (grub_machine_init): Remove call to grub_biosdisk_init().
45416 (grub_machine_fini): Remove call to grub_machine_fini().
45417
45418 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45419
45420 2007-10-22 Robert Millan <rmh@aybabtu.com>
45421
45422 * include/grub/time.h: New file.
45423 * include/grub/i386/time.h: Likewise.
45424 * include/grub/powerpc/time.h: Likewise.
45425 * include/grub/sparc64/time.h: Likewise.
45426
45427 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45428 instances to ...
45429 (KERNEL_MACHINE_TIME_HEADER): ... this.
45430 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45431 instances to ...
45432 (KERNEL_MACHINE_TIME_HEADER): ... this.
45433 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45434 instances to ...
45435 (KERNEL_MACHINE_TIME_HEADER): ... this.
45436
45437 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45438 (grub_millisleep): New function.
45439 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45440 (grub_millisleep): New function.
45441 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45442 Remove `grub/machine/time.h' include.
45443 (grub_millisleep): New function.
45444 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45445 Remove `grub/machine/time.h' include.
45446 (grub_millisleep): New function.
45447
45448 * include/grub/misc.h (grub_div_roundup): New function.
45449
45450 * kern/misc.c: Include `<grub/time.h>'.
45451 (grub_millisleep_generic): New function.
45452
45453 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45454 Add `time.h'.
45455 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45456 Add `time.h'.
45457 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45458 `machine/time.h'. Add `time.h'.
45459 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45460
45461 2007-10-21 Robert Millan <rmh@aybabtu.com>
45462
45463 * include/grub/misc.h (grub_max): New function.
45464
45465 2007-10-21 Robert Millan <rmh@aybabtu.com>
45466
45467 * util/misc.c (grub_util_info): Call fflush() before returning.
45468
45469 2007-10-20 Robert Millan <rmh@aybabtu.com>
45470
45471 * genmk.rb (Image): Copy `extra_flags' from here ...
45472 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45473
45474 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45475 to `argc' and `args' arguments.
45476
45477 2007-10-17 Robert Millan <rmh@aybabtu.com>
45478
45479 * kern/i386/loader.S: New file.
45480
45481 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45482 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45483 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45484 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45485 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45486 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45487 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45488 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45489 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45490 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45491 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45492 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45493 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45494 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45495
45496 * kern/i386/realmode.S: New file.
45497
45498 * kern/i386/pc/startup.S (protstack): Moved from here ...
45499 * kern/i386/realmode.S (protstack)... to here.
45500 * kern/i386/pc/startup.S (gdt): Moved from here ...
45501 * kern/i386/realmode.S (gdt)... to here.
45502 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45503 * kern/i386/realmode.S (prot_to_real)... to here.
45504
45505 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45506 `kern/i386/realmode.S'.
45507
45508 2007-10-17 Robert Millan <rmh@aybabtu.com>
45509
45510 * include/grub/i386/loader.h: New file.
45511
45512 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45513 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45514 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45515 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45516 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45517 * include/grub/i386/loader.h (grub_linux_prot_size)
45518 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45519 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45520 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45521 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45522
45523 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45524
45525 2007-10-15 Robert Millan <rmh@aybabtu.com>
45526
45527 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45528 filesystem when dev->disk is unset.
45529 Do probe for filesystem even when dev->disk->has_partitions is set.
45530 In case a filesystem is found, always report it.
45531 In case it isn't, if dev->disk->has_partitions is set, report that
45532 a partition table was found instead of reporting that no filesystem
45533 could be identified.
45534
45535 2007-10-12 Robert Millan <rmh@aybabtu.com>
45536
45537 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45538 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45539
45540 * include/grub/types.h (grub_host_to_target16): New macro.
45541 (grub_host_to_target32): Likewise.
45542 (grub_host_to_target64): Likewise.
45543 (grub_target_to_host16): Likewise.
45544 (grub_target_to_host32): Likewise.
45545 (grub_target_to_host64): Likewise.
45546
45547 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45548 Renamed from to ...
45549 (GRUB_MOD_ALIGN): ...this. Update all users.
45550
45551 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45552 grub_host_to_target32.
45553 Replace grub_be_to_cpu32 with grub_target_to_host32.
45554 (load_modules): Likewise.
45555 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45556 Replace grub_be_to_cpu32 with grub_target_to_host32.
45557 Replace grub_cpu_to_be16 with grub_host_to_target16.
45558 Replace grub_cpu_to_be32 grub_host_to_target32.
45559
45560 2007-10-12 Robert Millan <rmh@aybabtu.com>
45561
45562 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45563 * util/elf/grub-mkimage.c: ... here.
45564
45565 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45566 `util/powerpc/ieee1275/grub-mkimage.c'.
45567
45568 2007-10-07 Robert Millan <rmh@aybabtu.com>
45569
45570 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45571 and make it easier to figure out.
45572 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45573 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45574 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45575 leave us with less than HEAP_MIN_SIZE total heap.
45576 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
45577
45578 2007-10-03 Robert Millan <rmh@aybabtu.com>
45579
45580 * include/grub/i386/io.h: New file.
45581 * commands/i386/pc/play.c (inb): Removed.
45582 (outb): Removed.
45583 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45584 with grub_outb().
45585 * term/i386/pc/serial.c (inb): Removed.
45586 (outb): Removed.
45587 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45588 with grub_outb().
45589 * term/i386/pc/vga.c (inb): Removed.
45590 (outb): Removed.
45591 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45592 with grub_outb().
45593
45594 2007-10-02 Robert Millan <rmh@aybabtu.com>
45595
45596 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45598 Reported by Marcin Kurek.
45599
45600 2007-09-07 Robert Millan <rmh@aybabtu.com>
45601
45602 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45603 SmartFirmware version updates (as released by Sven Luther), and avoid
45604 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45605 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45606 known broken.
45607
45608 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45609
45610 From Hitoshi Ozeki:
45611 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45612 when merging two regions.
45613
45614 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45615
45616 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45617 * normal/completion.c (grub_normal_do_completion): Likewise.
45618 Reported by Hitoshi Ozeki.
45619
45620 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45621
45622 Do not use devices at boot in chainloading.
45623
45624 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45625 (boot_part_addr): Likewise.
45626 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45627 with BOOT_DRIVE and BOOT_PART_ADDR.
45628 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45629 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45630
45631 2007-08-29 Robert Millan <rmh@aybabtu.com>
45632
45633 Patch from Simon Peter <dn.tlp@gmx.net>:
45634 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45635 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45636 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45637 util/i386/pc/grub-setup.c_DEPENDENCIES.
45638 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45639 util/grub-probe.c_DEPENDENCIES.
45640 * conf/powerpc-ieee1275.rmk: Likewise.
45641
45642 2007-08-28 Robert Millan <rmh@aybabtu.com>
45643
45644 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45645 to tell grub-mkdevicemap how to name devices.
45646 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45647 feature).
45648
45649 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45650 util/i386/get_disk_name.c.
45651 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45652 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45653 util/ieee1275/get_disk_name.c.
45654
45655 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45656
45657 * DISTLIST: Add util/i386/get_disk_name.c and
45658 util/ieee1275/get_disk_name.c.
45659
45660 * util/grub-mkdevicemap.c: Replace device naming logic with
45661 grub_util_get_disk_name() calls.
45662
45663 2007-08-20 Robert Millan <rmh@aybabtu.com>
45664
45665 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45666 (so that it works for both plural and singular quantities).
45667
45668 2007-08-05 Robert Millan <rmh@aybabtu.com>
45669
45670 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45671 so that [xz] isn't taken into account when determining order.
45672
45673 2007-08-02 Marco Gerards <marco@gnu.org>
45674
45675 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45676 `include/multiboot2.h', `include/grub/elfload.h',
45677 `include/multiboot.h', `include/grub/multiboot.h',
45678 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45679 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45680 `kern/elf.c', `loader/multiboot_loader.c',
45681 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45682 `loader/i386/pc/multiboot2.c',
45683 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45684 `util/i386/pc/grub-mkrescue.in'. Remove
45685 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45686 `include/grub/i386/pc/util/biosdisk.h' and
45687 `include/grub/powerpc/ieee1275/multiboot.h'.
45688
45689 2007-08-02 Bean <bean123ch@gmail.com>
45690
45691 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45692 (ntfs_mod_SOURCES): New variable.
45693 (ntfs_mod_CFLAGS): Likewise.
45694 (ntfs_mod_LDFLAGS): Likewise.
45695
45696 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45697 (grub_probe_SOURCES): Likewise.
45698 (grub_emu_SOURCES): Likewise.
45699
45700 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45701 (grub_emu_SOURCES): Likewise.
45702
45703 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45704 (grub_emu_SOURCES): Likewise.
45705
45706 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45707
45708 * fs/ntfs.c: New file.
45709
45710 2007-08-02 Bean <bean123ch@gmail.com>
45711
45712 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45713
45714 * file.h (grub_file): Likewise.
45715
45716 * fshelp.h (grub_fshelp_read_file): Likewise.
45717
45718 * util/i386/pc/grub-setup.c (setup): Likewise.
45719 (save_first_sector): Likewise.
45720 (save_blocklists): Likewise.
45721
45722 * fs/affs.c (grub_affs_read_file): Likewise.
45723
45724 * fs/ext2.c (grub_ext2_read_file): Likewise.
45725
45726 * fs/fat.c (grub_fat_read_data): Likewise.
45727
45728 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45729
45730 * fs/hfs.c (grub_hfs_read_file): Likewise.
45731
45732 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45733
45734 * fs/jfs.c (grub_jfs_read_file): Likewise.
45735
45736 * fs/minix.c (grub_minix_read_file): Likewise.
45737
45738 * fs/sfs.c (grub_sfs_read_file): Likewise.
45739
45740 * fs/ufs.c (grub_ufs_read_file): Likewise.
45741
45742 * fs/xfs.c (grub_xfs_read_file): Likewise.
45743
45744 * command/blocklist.c (read_blocklist): Likewise.
45745 (print_blocklist): Likewise.
45746
45747 2007-08-02 Marco Gerards <marco@gnu.org>
45748
45749 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45750 `util/hostfs.c'.
45751
45752 * disk/host.c: New file.
45753
45754 * util/hostfs.c: Likewise.
45755
45756 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45757 return `GRUB_ERR_BAD_FS'.
45758 * fs/sfs.c (grub_sfs_mount): Likewise.
45759 * fs/xfs.c (grub_xfs_mount): Likewise.
45760
45761 * include/grub/disk.h (enum grub_disk_dev_id): Add
45762 `GRUB_DISK_DEVICE_HOST_ID'.
45763
45764 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45765
45766 2007-07-24 Jerone Young <jerone@gmail.com>
45767
45768 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
45769 modules for compilation.
45770 * conf/powerpc-ieee1275.rmk: Likewise.
45771
45772 * include/multiboot.h: Move multiboot definitions to one file. Rename
45773 many definitions to not get grub specific.
45774 * include/multiboot2.h: Create header with multiboot 2 definitions.
45775 * include/grub/multiboot.h: Header for grub specific function
45776 prototypes and definitions.
45777 * include/grub/multiboot2.h: Likewise.
45778 * include/grub/multiboot_loader.h: Likewise.
45779 * include/grub/i386/pc/multiboot.h: Removed.
45780 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45781
45782 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45783 and 2 to allow for one multiboot and module commands.
45784 * loader/multiboot2.c: Add multiboot2 functionality.
45785 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45786 and definition names.
45787 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45788 2 functions.
45789 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45790 ieee1275 specific multiboot2 code.
45791
45792 * kern/i386/pc/startup.S: Change headers and definition names for
45793 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45794
45795 2007-07-22 Robert Millan <rmh@aybabtu.com>
45796
45797 * geninitheader.sh: Process file specified in first parameter rather
45798 than hardcoding grub_modules_init.lst.
45799 * geninit.sh: Likewise. Also, construct header name dynamically rather
45800 than hardcoding grub_modules_init.h.
45801
45802 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45803 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45804 grub_probe_init.[ch] and grub_setup_init.[ch].
45805
45806 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45807 grub_modules_init.h with grub_emu_init.h.
45808 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45809 grub_probe_init.[ch] files.
45810 * conf/i386-efi.rmk: Likewise.
45811 * conf/i386-pc.rmk: Likewise.
45812 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45813 grub_setup_init.[ch] files.
45814
45815 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45816 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45817 to initialize modules rather than a list of hardcoded functions.
45818 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45819 grub_init_all() to initialize modules rather than a list of hardcoded
45820 functions.
45821
45822 2007-07-22 Robert Millan <rmh@aybabtu.com>
45823
45824 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45825 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45826
45827 2007-07-22 Robert Millan <rmh@aybabtu.com>
45828
45829 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45830 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45831 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45832 flag when running on SmartFirmware.
45833 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45834 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45835 was set.
45836
45837 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45838 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45839 rather than decreasing it.
45840
45841 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45842 there's not enough space to do it, fail in the same way as when it
45843 can't be done because there are no partitions.
45844
45845 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45846 when nvsetenv failed.
45847
45848 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45849
45850 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45851 because this rule is automatically generated.
45852 (grub-mkrescue): Removed for the same reason as above.
45853
45854 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45855
45856 Migrate to GNU General Public License Version 3.
45857
45858 * COPYING: Replaced with the plain text version of GPLv3.
45859
45860 * config.guess: Updated from gnulib.
45861 * config.sub: Likewise.
45862
45863 * geninit.sh: Output a GPLv3 copyright notice.
45864 * geninitheader.sh: Likewise.
45865 * genmodsrc.sh: Likewise.
45866 * gensymlist.sh.in: Likewise.
45867
45868 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45869 * boot/i386/pc/diskboot.S: Likewise.
45870 * boot/i386/pc/pxeboot.S: Likewise.
45871 * commands/blocklist.c: Likewise.
45872 * commands/boot.c: Likewise.
45873 * commands/cat.c: Likewise.
45874 * commands/cmp.c: Likewise.
45875 * commands/configfile.c: Likewise.
45876 * commands/echo.c: Likewise.
45877 * commands/help.c: Likewise.
45878 * commands/ls.c: Likewise.
45879 * commands/search.c: Likewise.
45880 * commands/terminal.c: Likewise.
45881 * commands/test.c: Likewise.
45882 * commands/videotest.c: Likewise.
45883 * commands/i386/cpuid.c: Likewise.
45884 * commands/i386/pc/halt.c: Likewise.
45885 * commands/i386/pc/play.c: Likewise.
45886 * commands/i386/pc/reboot.c: Likewise.
45887 * commands/i386/pc/vbeinfo.c: Likewise.
45888 * commands/i386/pc/vbetest.c: Likewise.
45889 * commands/ieee1275/halt.c: Likewise.
45890 * commands/ieee1275/reboot.c: Likewise.
45891 * commands/ieee1275/suspend.c: Likewise.
45892 * disk/loopback.c: Likewise.
45893 * disk/lvm.c: Likewise.
45894 * disk/raid.c: Likewise.
45895 * disk/efi/efidisk.c: Likewise.
45896 * disk/i386/pc/biosdisk.c: Likewise.
45897 * disk/ieee1275/ofdisk.c: Likewise.
45898 * font/manager.c: Likewise.
45899 * fs/affs.c: Likewise.
45900 * fs/ext2.c: Likewise.
45901 * fs/fat.c: Likewise.
45902 * fs/fshelp.c: Likewise.
45903 * fs/hfs.c: Likewise.
45904 * fs/hfsplus.c: Likewise.
45905 * fs/iso9660.c: Likewise.
45906 * fs/jfs.c: Likewise.
45907 * fs/minix.c: Likewise.
45908 * fs/sfs.c: Likewise.
45909 * fs/ufs.c: Likewise.
45910 * fs/xfs.c: Likewise.
45911 * hello/hello.c: Likewise.
45912 * include/grub/acorn_filecore.h: Likewise.
45913 * include/grub/arg.h: Likewise.
45914 * include/grub/bitmap.h: Likewise.
45915 * include/grub/boot.h: Likewise.
45916 * include/grub/cache.h: Likewise.
45917 * include/grub/device.h: Likewise.
45918 * include/grub/disk.h: Likewise.
45919 * include/grub/dl.h: Likewise.
45920 * include/grub/elfload.h: Likewise.
45921 * include/grub/env.h: Likewise.
45922 * include/grub/err.h: Likewise.
45923 * include/grub/file.h: Likewise.
45924 * include/grub/font.h: Likewise.
45925 * include/grub/fs.h: Likewise.
45926 * include/grub/fshelp.h: Likewise.
45927 * include/grub/gzio.h: Likewise.
45928 * include/grub/hfs.h: Likewise.
45929 * include/grub/kernel.h: Likewise.
45930 * include/grub/loader.h: Likewise.
45931 * include/grub/lvm.h: Likewise.
45932 * include/grub/misc.h: Likewise.
45933 * include/grub/mm.h: Likewise.
45934 * include/grub/net.h: Likewise.
45935 * include/grub/normal.h: Likewise.
45936 * include/grub/parser.h: Likewise.
45937 * include/grub/partition.h: Likewise.
45938 * include/grub/pc_partition.h: Likewise.
45939 * include/grub/raid.h: Likewise.
45940 * include/grub/rescue.h: Likewise.
45941 * include/grub/script.h: Likewise.
45942 * include/grub/setjmp.h: Likewise.
45943 * include/grub/symbol.h: Likewise.
45944 * include/grub/term.h: Likewise.
45945 * include/grub/terminfo.h: Likewise.
45946 * include/grub/tparm.h: Likewise.
45947 * include/grub/types.h: Likewise.
45948 * include/grub/video.h: Likewise.
45949 * include/grub/efi/api.h: Likewise.
45950 * include/grub/efi/chainloader.h: Likewise.
45951 * include/grub/efi/console.h: Likewise.
45952 * include/grub/efi/console_control.h: Likewise.
45953 * include/grub/efi/disk.h: Likewise.
45954 * include/grub/efi/efi.h: Likewise.
45955 * include/grub/efi/pe32.h: Likewise.
45956 * include/grub/efi/time.h: Likewise.
45957 * include/grub/i386/linux.h: Likewise.
45958 * include/grub/i386/setjmp.h: Likewise.
45959 * include/grub/i386/types.h: Likewise.
45960 * include/grub/i386/efi/kernel.h: Likewise.
45961 * include/grub/i386/efi/loader.h: Likewise.
45962 * include/grub/i386/efi/time.h: Likewise.
45963 * include/grub/i386/pc/biosdisk.h: Likewise.
45964 * include/grub/i386/pc/boot.h: Likewise.
45965 * include/grub/i386/pc/chainloader.h: Likewise.
45966 * include/grub/i386/pc/console.h: Likewise.
45967 * include/grub/i386/pc/init.h: Likewise.
45968 * include/grub/i386/pc/kernel.h: Likewise.
45969 * include/grub/i386/pc/loader.h: Likewise.
45970 * include/grub/i386/pc/memory.h: Likewise.
45971 * include/grub/i386/pc/multiboot.h: Likewise.
45972 * include/grub/i386/pc/serial.h: Likewise.
45973 * include/grub/i386/pc/time.h: Likewise.
45974 * include/grub/i386/pc/vbe.h: Likewise.
45975 * include/grub/i386/pc/vbeblit.h: Likewise.
45976 * include/grub/i386/pc/vbefill.h: Likewise.
45977 * include/grub/i386/pc/vbeutil.h: Likewise.
45978 * include/grub/i386/pc/vga.h: Likewise.
45979 * include/grub/ieee1275/ieee1275.h: Likewise.
45980 * include/grub/ieee1275/ofdisk.h: Likewise.
45981 * include/grub/powerpc/libgcc.h: Likewise.
45982 * include/grub/powerpc/setjmp.h: Likewise.
45983 * include/grub/powerpc/types.h: Likewise.
45984 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45985 * include/grub/powerpc/ieee1275/console.h: Likewise.
45986 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45987 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45988 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45989 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45990 * include/grub/powerpc/ieee1275/time.h: Likewise.
45991 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45992 * include/grub/sparc64/libgcc.h: Likewise.
45993 * include/grub/sparc64/setjmp.h: Likewise.
45994 * include/grub/sparc64/types.h: Likewise.
45995 * include/grub/sparc64/ieee1275/console.h: Likewise.
45996 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45997 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45998 * include/grub/sparc64/ieee1275/time.h: Likewise.
45999 * include/grub/util/biosdisk.h: Likewise.
46000 * include/grub/util/getroot.h: Likewise.
46001 * include/grub/util/lvm.h: Likewise.
46002 * include/grub/util/misc.h: Likewise.
46003 * include/grub/util/raid.h: Likewise.
46004 * include/grub/util/resolve.h: Likewise.
46005 * io/gzio.c: Likewise.
46006 * kern/device.c: Likewise.
46007 * kern/disk.c: Likewise.
46008 * kern/dl.c: Likewise.
46009 * kern/elf.c: Likewise.
46010 * kern/env.c: Likewise.
46011 * kern/err.c: Likewise.
46012 * kern/file.c: Likewise.
46013 * kern/fs.c: Likewise.
46014 * kern/loader.c: Likewise.
46015 * kern/main.c: Likewise.
46016 * kern/misc.c: Likewise.
46017 * kern/mm.c: Likewise.
46018 * kern/parser.c: Likewise.
46019 * kern/partition.c: Likewise.
46020 * kern/rescue.c: Likewise.
46021 * kern/term.c: Likewise.
46022 * kern/efi/efi.c: Likewise.
46023 * kern/efi/init.c: Likewise.
46024 * kern/efi/mm.c: Likewise.
46025 * kern/i386/dl.c: Likewise.
46026 * kern/i386/efi/init.c: Likewise.
46027 * kern/i386/efi/startup.S: Likewise.
46028 * kern/i386/pc/init.c: Likewise.
46029 * kern/i386/pc/lzo1x.S: Likewise.
46030 * kern/i386/pc/startup.S: Likewise.
46031 * kern/ieee1275/ieee1275.c: Likewise.
46032 * kern/powerpc/cache.S: Likewise.
46033 * kern/powerpc/dl.c: Likewise.
46034 * kern/powerpc/ieee1275/cmain.c: Likewise.
46035 * kern/powerpc/ieee1275/crt0.S: Likewise.
46036 * kern/powerpc/ieee1275/init.c: Likewise.
46037 * kern/powerpc/ieee1275/openfw.c: Likewise.
46038 * kern/sparc64/cache.S: Likewise.
46039 * kern/sparc64/dl.c: Likewise.
46040 * kern/sparc64/ieee1275/init.c: Likewise.
46041 * kern/sparc64/ieee1275/openfw.c: Likewise.
46042 * loader/efi/chainloader.c: Likewise.
46043 * loader/efi/chainloader_normal.c: Likewise.
46044 * loader/i386/efi/linux.c: Likewise.
46045 * loader/i386/efi/linux_normal.c: Likewise.
46046 * loader/i386/pc/chainloader.c: Likewise.
46047 * loader/i386/pc/chainloader_normal.c: Likewise.
46048 * loader/i386/pc/linux.c: Likewise.
46049 * loader/i386/pc/linux_normal.c: Likewise.
46050 * loader/i386/pc/multiboot.c: Likewise.
46051 * loader/i386/pc/multiboot_normal.c: Likewise.
46052 * loader/powerpc/ieee1275/linux.c: Likewise.
46053 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46054 * normal/arg.c: Likewise.
46055 * normal/cmdline.c: Likewise.
46056 * normal/command.c: Likewise.
46057 * normal/completion.c: Likewise.
46058 * normal/execute.c: Likewise.
46059 * normal/function.c: Likewise.
46060 * normal/lexer.c: Likewise.
46061 * normal/main.c: Likewise.
46062 * normal/menu.c: Likewise.
46063 * normal/menu_entry.c: Likewise.
46064 * normal/misc.c: Likewise.
46065 * normal/parser.y: Likewise.
46066 * normal/script.c: Likewise.
46067 * normal/i386/setjmp.S: Likewise.
46068 * normal/powerpc/setjmp.S: Likewise.
46069 * normal/sparc64/setjmp.S: Likewise.
46070 * partmap/acorn.c: Likewise.
46071 * partmap/amiga.c: Likewise.
46072 * partmap/apple.c: Likewise.
46073 * partmap/gpt.c: Likewise.
46074 * partmap/pc.c: Likewise.
46075 * partmap/sun.c: Likewise.
46076 * term/gfxterm.c: Likewise.
46077 * term/terminfo.c: Likewise.
46078 * term/efi/console.c: Likewise.
46079 * term/i386/pc/console.c: Likewise.
46080 * term/i386/pc/serial.c: Likewise.
46081 * term/i386/pc/vesafb.c: Likewise.
46082 * term/i386/pc/vga.c: Likewise.
46083 * term/ieee1275/ofconsole.c: Likewise.
46084 * util/biosdisk.c: Likewise.
46085 * util/console.c: Likewise.
46086 * util/genmoddep.c: Likewise.
46087 * util/getroot.c: Likewise.
46088 * util/grub-emu.c: Likewise.
46089 * util/grub-mkdevicemap.c: Likewise.
46090 * util/grub-probe.c: Likewise.
46091 * util/lvm.c: Likewise.
46092 * util/misc.c: Likewise.
46093 * util/raid.c: Likewise.
46094 * util/resolve.c: Likewise.
46095 * util/update-grub.in: Likewise.
46096 * util/update-grub_lib.in: Likewise.
46097 * util/grub.d/00_header.in: Likewise.
46098 * util/grub.d/10_hurd.in: Likewise.
46099 * util/grub.d/10_linux.in: Likewise.
46100 * util/i386/efi/grub-install.in: Likewise.
46101 * util/i386/efi/grub-mkimage.c: Likewise.
46102 * util/i386/pc/grub-install.in: Likewise.
46103 * util/i386/pc/grub-mkimage.c: Likewise.
46104 * util/i386/pc/grub-mkrescue.in: Likewise.
46105 * util/i386/pc/grub-setup.c: Likewise.
46106 * util/i386/pc/misc.c: Likewise.
46107 * util/powerpc/ieee1275/grub-install.in: Likewise.
46108 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46109 * util/powerpc/ieee1275/misc.c: Likewise.
46110 * video/bitmap.c: Likewise.
46111 * video/video.c: Likewise.
46112 * video/i386/pc/vbe.c: Likewise.
46113 * video/i386/pc/vbeblit.c: Likewise.
46114 * video/i386/pc/vbefill.c: Likewise.
46115 * video/i386/pc/vbeutil.c: Likewise.
46116 * video/readers/tga.c: Likewise.
46117
46118 2007-07-02 Robert Millan <rmh@aybabtu.com>
46119
46120 * conf/i386-efi.rmk: Replace obsolete reference to
46121 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46122 with util/getroot.c.
46123 * conf/powerpc-ieee1275.rmk: Likewise.
46124 * conf/sparc64-ieee1275.rmk: Likewise.
46125
46126 * util/grub-emu.c (main): Fix unchecked pointer handling.
46127
46128 2007-07-02 Robert Millan <rmh@aybabtu.com>
46129
46130 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46131 invocation to fail, in order to support partition-less media.
46132
46133 * util/i386/pc/grub-install.in: Likewise.
46134
46135 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46136 which fs or partmap modules are needed (akin to its sister scripts).
46137
46138 Also use grub-probe to get rid of unportable /proc/mounts check.
46139
46140 Print the same informational message that the other scripts do, before
46141 exiting.
46142
46143 2007-06-23 Robert Millan <rmh@aybabtu.com>
46144
46145 * util/update-grub_lib.in (font_path): New function. Determine whether
46146 a font file can be found and, if so, echo the GRUB path to it.
46147
46148 * util/update-grub.in: Handle multiple terminals depending on user
46149 input, platform availability and font file presence. Propagate
46150 variables of our findings to /etc/grub.d/ children.
46151
46152 * util/grub.d/00_header.in: Handle multiple terminals, based on
46153 environment setup by update-grub.
46154
46155 2007-06-23 Robert Millan <rmh@aybabtu.com>
46156
46157 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
46158
46159 2007-06-21 Robert Millan <rmh@aybabtu.com>
46160
46161 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46162 indicate end of data section in kernel image.
46163 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46164 GRUB_KERNEL_MACHINE_DATA_END.
46165
46166 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46167 space for it.
46168 * kern/i386/efi/startup.S: Likewise.
46169
46170 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46171 during image generation. Implement --prefix option to override this
46172 patch.
46173 * util/i386/efi/grub-mkimage.c: Likewise.
46174
46175 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46176 code to make path relative to its root into a separate function.
46177
46178 * util/i386/pc/grub-install.in: Use newly provided
46179 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46180 pass the result to grub-install --prefix.
46181
46182 2007-06-13 Robert Millan <rmh@aybabtu.com>
46183
46184 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46185 DEFAULT_DEVICE_MAP.
46186 * util/grub-emu.c: Use above definitions from misc.h instead of
46187 defining them.
46188 * util/grub-mkdevicemap.c: Likewise.
46189 * util/i386/pc/grub-setup.c: Likewise.
46190 * util/grub-probe.c: Likewise.
46191 (probe): Abort with grub_util_error() when either
46192 grub_guess_root_device or grub_util_get_grub_dev fails.
46193
46194 2007-06-12 Robert Millan <rmh@aybabtu.com>
46195
46196 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46197 "pager" assignment.
46198 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46199 "pcdata".
46200 * util/grub-probe.c (probe): Likewise for "drive_name".
46201
46202 2007-06-11 Robert Millan <rmh@aybabtu.com>
46203
46204 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46205 not just the cdrom one.
46206
46207 2007-06-11 Robert Millan <rmh@aybabtu.com>
46208
46209 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46210 Add --pkglibdir=DIR option to override pkglibdir.
46211 Mention --image-type=TYPE in help output.
46212 Fix --grub-mkimage (it was a no-op).
46213 Abort gracefully when no parameter is given.
46214
46215 2007-06-11 Robert Millan <rmh@aybabtu.com>
46216
46217 * util/i386/pc/grub-mkrescue.in: New file.
46218 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46219 * Makefile.in: Handle bin_SCRIPTS.
46220
46221 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46222
46223 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46224 list of video modes.
46225
46226 2007-06-06 Robert Millan <rmh@aybabtu.com>
46227
46228 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46229 file doesn't exist, or if it is in a filesystem grub can't read.
46230
46231 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46232 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46233 header comment to fit in 80 columns when the variables are resolved.
46234
46235 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46236 could be identified by update-grub. Remove redundant check for
46237 unifont.pff existence (since convert_system_path_to_grub_path now
46238 handles that).
46239
46240 2007-06-04 Robert Millan <rmh@aybabtu.com>
46241
46242 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46243
46244 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46245
46246 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46247
46248 2007-06-04 Robert Millan <rmh@aybabtu.com>
46249
46250 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46251
46252 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46253 grub_apple_partition_map_fini.
46254
46255 * util/biosdisk.c
46256 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46257 to access >2 TiB disks).
46258
46259 Print disk->total_sectors with %llu instead of %lu, since this
46260 variable is always 64-bit (prevents wrong disk size from being displayed
46261 on either >2 TiB disk or big-endian CPU).
46262
46263 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46264 into a generic case that supports all (sane) partition maps.
46265
46266 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46267 breaks big-endian.
46268
46269 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46270 and grub_apple_partition_map_fini() after that.
46271
46272 2007-06-01 Robert Millan <rmh@aybabtu.com>
46273
46274 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46275
46276 * util/grub.d/00_header.in: Only enable gfxterm when
46277 convert_system_path_to_grub_path() succeeds.
46278
46279 2007-05-20 Robert Millan <rmh@aybabtu.com>
46280
46281 * util/update-grub_lib.in: New file.
46282 * DISTLIST: Add update-grub_lib.in.
46283 * conf/common.rmk: Generate update-grub_lib and install it in
46284 $(lib_DATA).
46285 * Makefile.in: Add install routine for $(lib_DATA).
46286
46287 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46288 function provided by update-grub_lib to support arbitrary paths of
46289 unifont.pff.
46290 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46291 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46292
46293 2007-05-19 Robert Millan <rmh@aybabtu.com>
46294
46295 * commands/i386/cpuid.c: New module.
46296 * DISTLIST: Add it.
46297 * conf/i386-efi.rmk: Enable cpuid.mod.
46298 * conf/i386-pc.rmk: Likewise.
46299
46300 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46301
46302 * kern/disk.c (grub_disk_read): Check return value of
46303 grub_realloc().
46304
46305 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46306
46307 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46308 arrays.
46309 * disk/raid.c (grub_raid_open): Likewise.
46310
46311 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46312
46313 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46314 stack instead of on the heap.
46315
46316 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46317 before doing a read on it.
46318
46319 * configure.ac: Only use -fno-stack-protector for the target
46320 environment.
46321
46322 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46323
46324 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46325 __attribute_ ((unused)) to mode_type argument.
46326
46327 * util/getroot.c (grub_guess_root_device): Fix #endif.
46328
46329 * kern/misc.c (memcmp): Fix prototype.
46330
46331 * include/grub/partition.h [GRUB_UTIL]
46332 (grub_gpt_partition_map_init): Add prototype.
46333 (grub_gpt_partition_map_fini): Likewise.
46334
46335 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46336 at the right place.
46337
46338 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46339 (grub_fat_read_data): Likewise.
46340 (grub_fat_find_dir): Likewise.
46341
46342 * font/manager.c (find_glyph): Make table a const.
46343 (grub_font_get_glyph): Remove bitmap from if statement.
46344
46345 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46346
46347 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46348 code, first search for device in /dev/mapper, then in /dev.
46349 (grub_util_get_grub_dev): New function.
46350 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46351 prototype.
46352 * util/grub-probe.c (probe): Remove check for RAID, call
46353 grub_util_get_grub_dev() instead of
46354 grub_util_biosdisk_get_grub_dev().
46355 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46356 grub_util_biosdisk_get_grub_dev().
46357 * util/i386/pc/grub-setup.c (main): Likewise.
46358
46359 2007-05-16 Robert Millan <rmh@aybabtu.com>
46360
46361 * DISTLIST: Update for the latest changes.
46362 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46363 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46364 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46365 grub/util/biosdisk.h.
46366 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46367 grub/util/biosdisk.h.
46368
46369 2007-05-16 Robert Millan <rmh@aybabtu.com>
46370
46371 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46372
46373 2007-05-16 Robert Millan <rmh@aybabtu.com>
46374
46375 * util/i386/efi/grub-install.in: New.
46376 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46377 newly added grub-install.
46378 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46379 include.
46380 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46381 grub/util/biosdisk.h.
46382 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46383 grub/util/biosdisk.h.
46384
46385 2007-05-16 Robert Millan <rmh@aybabtu.com>
46386
46387 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46388 * include/grub/util/biosdisk.h: ... here.
46389 * util/i386/pc/biosdisk.c: Moved to ...
46390 * util/biosdisk.c: ... here.
46391 * util/i386/pc/getroot.c: Moved to ...
46392 * util/getroot.c: ... here.
46393 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46394 * util/grub-mkdevicemap.c: ... here.
46395 * util/i386/pc/grub-probe.c: Moved to ...
46396 * util/grub-probe.c: ... here.
46397
46398 2007-05-15 Robert Millan <rmh@aybabtu.com>
46399
46400 * util/update-grub.in: Remove duplicated line in grub.cfg header
46401 message.
46402
46403 2007-05-13 Robert Millan <rmh@aybabtu.com>
46404
46405 * util/update-grub.in: Fix a few assumptions about the devices holding
46406 /, /boot and /boot/grub being the same.
46407 * util/grub.d/00_header.in: Likewise.
46408 * util/grub.d/10_hurd.in: Likewise.
46409 * util/grub.d/10_linux.in: Likewise.
46410
46411 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46412 patterns. Use that to define the `.old' suffix as older than `'.
46413
46414 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46415
46416 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46417 the grub.cfg header message.
46418
46419 2007-05-11 Robert Millan <rmh@aybabtu.com>
46420
46421 * util/update-grub.in: Create device.map if it doesn't already exist,
46422 before attempting to run grub-probe.
46423 Check for grub-probe and grub-mkdevicemap with the same code
46424 grub-install is using.
46425 Remove test mode.
46426
46427 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46428
46429 * Makefile.in: Add the datarootdir autoconf variable.
46430
46431 2007-05-09 Robert Millan <rmh@aybabtu.com>
46432
46433 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
46434 fail gracefully if dev->disk->partition == NULL.
46435
46436 2007-05-07 Robert Millan <rmh@aybabtu.com>
46437
46438 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46439 determine partition map module.
46440 * util/i386/pc/grub-install.in: Use this feature to decide which
46441 partition module to load, instead of hardcoding pc and gpt.
46442
46443 2007-05-07 Robert Millan <rmh@aybabtu.com>
46444
46445 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46446 source directory differs from build directory.
46447
46448 2007-05-05 Robert Millan <rmh@aybabtu.com>
46449
46450 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46451 initialisation.
46452
46453 2007-05-05 Robert Millan <rmh@aybabtu.com>
46454
46455 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46456
46457 2007-05-05 Robert Millan <rmh@aybabtu.com>
46458
46459 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46460 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46461
46462 2007-05-05 Robert Millan <rmh@aybabtu.com>
46463
46464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46465 (grub_probe_SOURCES): Likewise.
46466 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46467 GPT and initialize dos_part and bsd_part accordingly.
46468 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46469 install_bsd_part.
46470 (main): Activate gpt module for use during partition identification,
46471 and deactivate it afterwards.
46472 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46473 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46474 partition identification, and deactivate it afterwards.
46475
46476 2007-05-05 Robert Millan <rmh@aybabtu.com>
46477
46478 * term/i386/pc/console.c (grub_console_fini): Call
46479 grub_term_set_current() before grub_term_unregister().
46480
46481 2007-05-04 Robert Millan <rmh@aybabtu.com>
46482
46483 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46484 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46485 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46486 and update-grub_DATA.
46487 * conf/common.rmk: Build and install update-grub components.
46488 * conf/common.mk: Regenerate.
46489 * util/update-grub.in: New. Core of update-grub.
46490 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46491 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46492 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46493 * util/grub.d/README: New. Document grub.d directory layout.
46494
46495 2007-05-01 Robert Millan <rmh@aybabtu.com>
46496
46497 * util/grub-emu.c: Move initialization functions
46498 grub_util_biosdisk_init() and grub_init_all() before
46499 grub_util_biosdisk_get_grub_dev(), which relies on them.
46500
46501 2007-04-19 Robert Millan <rmh@aybabtu.com>
46502
46503 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46504 it is used later.
46505
46506 2007-04-18 Jerone Young <jerone@gmail.com>
46507
46508 * kernel/elf.c: Add missing parenthesis for conditional statement
46509 stanza.
46510
46511 2007-04-10 Jerone Young <jerone@gmail.com>
46512
46513 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46514 continue on and look for device node with real device name.
46515
46516 2007-04-10 Jerone Young <jerone@gmail.com>
46517
46518 * configure.ac: Add argument for autoconf to use transformation
46519 ability.
46520 * Makefile.in: Add autoconf package transformation code.
46521 * util/i386/pc/grub-install.in: Likewise.
46522 * util/powerpc/ieee1275/grub-install.in: Likewise.
46523
46524 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46525
46526 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46527 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46528 (EXT2_REVISION): Likewise.
46529 (EXT2_INODE_SIZE): Likewise.
46530 (struct grub_ext2_block_group): Added a missing member
46531 "used_dirs".
46532 (grub_ext2_read_inode): Divide by the inode size in a superblock
46533 instead of 128 to obtain INODES_PER_BLOCK.
46534 Use the macro EXT2_INODE_SIZE instead of directly using
46535 SBLOCK->INODE_SIZE.
46536
46537 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46538
46539 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46540 superblock instead of the structure size to compute an
46541 offset. This fixes the problem that GRUB could not read a
46542 filesystem when inode size is different from 128-byte.
46543
46544 2007-03-05 Marco Gerards <marco@gnu.org>
46545
46546 * normal/main.c (read_config_file): When "menu" is not set, create
46547 an initial context.
46548
46549 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46550
46551 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46552 (HEAP_LIMIT): New macro.
46553 (grub_claim_heap): Claim memory up to `heaplimit'.
46554
46555 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46556
46557 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46558 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46559 (_start): Likewise.
46560 (grub_arch_modules_addr): Return address after `_end'.
46561 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46562 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46563 (add_segments): Calculate `_end' from phdr size and location.
46564 (ALIGN_UP): Moved to ...
46565 * include/grub/misc.h: here.
46566 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46567 New macro.
46568 (GRUB_IEEE1275_MODULE_BASE): Removed.
46569
46570 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46571
46572 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46573 loop boundary.
46574
46575 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46576
46577 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46578 All users updated.
46579 (grub_elf64_load_hook_t): Likewise.
46580 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46581 debug output.
46582
46583 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46584
46585 * kern/mm.c: Update copyright.
46586 (grub_mm_debug): Correct syntax error.
46587 (grub_mm_dump_free): New function.
46588 (grub_debug_free): Call `grub_free'.
46589 * include/grub/mm.h: Update copyright.
46590 (grub_mm_dump_free): Add declaration.
46591
46592 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46593
46594 * include/grub/ieee1275/ieee1275.h: Update copyright.
46595 * kern/powerpc/ieee1275/init.c: Likewise.
46596 * kern/powerpc/ieee1275/openfw.c: Likewise.
46597
46598 * loader/powerpc/ieee1275/linux.c: Likewise.
46599 * include/grub/elfload.h: Likewise.
46600 * kern/elf.c: Likewise.
46601 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46602 callers.
46603 (grub_elf64_load): Likewise.
46604 (grub_elf32_load_segment): Move to a nested function.
46605 (grub_elf64_load_segment): Likewise.
46606
46607 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46608
46609 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46610 prototype.
46611 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46612 (grub_heap_len): Likewise.
46613 (HEAP_SIZE): New macro.
46614 (grub_claim_heap): New function.
46615 (grub_machine_init): Don't claim heap directly. Call
46616 `grub_claim_heap'.
46617 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46618 (grub_available_iterate): New function.
46619
46620 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46621
46622 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46623 * configure.ac: Use it for testing the HOST and TARGET compilers.
46624
46625 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46626
46627 * Makefile.in (enable_grub_emu): New variable.
46628 * configure.ac (--enable-grub-emu): New option.
46629 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46630 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46631 * conf/i386-pc.rmk: Likewise.
46632 * conf/powerpc-ieee1275.rmk: Likewise.
46633 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46634
46635 2006-12-12 Marco Gerards <marco@gnu.org>
46636
46637 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46638
46639 * kern/env.c (grub_env_unset): Don't free the member `value' when
46640 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46641 pointer.
46642
46643 * normal/main.c (current_menu): Removed.
46644 (free_menu): Unset the `menu' environment variable.
46645 (grub_normal_menu_addentry): Make use of the environment variable
46646 `menu', instead of using the global `current_menu'. Allocate
46647 memory for the sourcecode of this entry.
46648 (read_config_file): New argument `nested', changed all callers.
46649 Only in the case of a new context, initialize a new menu. Set the
46650 `menu' environment variable.
46651 (grub_normal_execute): Don't set and unset the environment
46652 variable `menu' here anymore. Only free the menu when leaving the
46653 context.
46654
46655 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46656 leak.
46657
46658 2006-12-11 Marco Gerards <marco@gnu.org>
46659
46660 * normal/menu_entry.c (run): Fix off by one bug so the last line
46661 is executed. Move the loader check to outside the loop.
46662
46663 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46664
46665 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46666
46667 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46668
46669 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46670 the number of sectors. Reported by Andrey Shuvikov
46671 <mr_hyro@yahoo.com>.
46672
46673 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46674
46675 * kern/disk.c (grub_disk_read): When there is a read error, always
46676 try to read only the necessary data.
46677
46678 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46679 disk/raid.c.
46680 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46681 prototype.
46682 [GRUB_UTIL] (grub_raid_fini): Likewise.
46683 [GRUB_UTIL] (grub_lvm_init): Likewise.
46684 [GRUB_UTIL] (grub_lvm_fini): Likewise.
46685 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46686 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46687 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46688 and grub_raid_fini().
46689
46690 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46691
46692 * include/grub/types.h (__unused): Rename to UNUSED.
46693 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46694 (grub_elf64_size): Likewise.
46695
46696 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46697
46698 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46699 grub_error_push and grub_error_pop in the error-handling path.
46700 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46701 length.
46702
46703 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46704
46705 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46706 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46708 (kernel_elf_SOURCES): Likewise.
46709 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46710 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46711 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46712 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46713 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46714 (elf_mod_SOURCES): New variable.
46715 (elf_mod_CFLAGS): Likewise.
46716 (elf_mod_LDFLAGS): Likewise.
46717 * include/grub/types.h (__unused): New macro.
46718 * include/grub/elfload.h: New file.
46719 * kern/elf.c: Likewise.
46720 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46721 (ELF32_LOADMASK): New macro.
46722 (ELF64_LOADMASK): Likewise.
46723 (vmlinux): Removed.
46724 (grub_linux_load32): New function.
46725 (grub_linux_load64): Likewise.
46726 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46727 Use grub_elf_t instead of grub_file_t.
46728
46729 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46730
46731 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46732 `catch_result' to struct set_color_args.
46733
46734 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46735
46736 * normal/menu.c: Include grub/script.h.
46737 * normal/menu_entry.c: Likewise.
46738 * include/grub/normal.h: Do not include grub/script.h.
46739
46740 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46741
46742 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46743
46744 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46745
46746 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46747 disk.
46748 (grub_disk_close): Print debug messages when closing a disk.
46749 (grub_disk_read): Print debug messages when disk read fails.
46750 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46751 filesystem type.
46752 * kern/partition.c: Include misc.h.
46753 (grub_partition_iterate): Print debug messages when detecting
46754 partition type.
46755
46756 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46757
46758 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46759 is negative.
46760 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46761
46762 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46763
46764 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46765 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46766
46767 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46768
46769 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46770 instead of sizeof(lv). Patch by Michael Guntsche.
46771
46772 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46773
46774 * disk/lvm.c: Rename VGS to VG_LIST.
46775 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46776 (grub_lvm_open): Likewise.
46777 Thanks to Michael Guntsche for finding this bug.
46778
46779 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46780
46781 * configure.ac (AC_INIT): Bumped to 1.95.
46782
46783 2006-10-14 Robert Millan <rmh@aybabtu.com>
46784
46785 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46786 with "/dev/.static/dev/md".
46787
46788 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46789
46790 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46791 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46792 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46793 DRIVE_NAME are always freed.
46794
46795 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46796 DOS_PART, as a DOS partition is counted from one instead of zero
46797 now. Reported by Robert Millan.
46798
46799 2006-10-14 Robert Millan <rmh@aybabtu.com>
46800
46801 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46802 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46803 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46804 string returned by grub_guess_root_device.
46805 * util/i386/pc/grub-setup.c: Likewise.
46806 * util/i386/pc/grub-probefs.c: Likewise.
46807
46808 * util/i386/pc/grub-probefs.c: Rename to ...
46809 * util/i386/pc/grub-probe.c: ... this.
46810 * DISTLIST: Remove grub-probefs, add grub-probe.
46811 * conf/i386-efi.rmk: Likewise.
46812 * conf/i386-pc.rmk: Likewise.
46813 * util/i386/pc/grub-install.in: Likewise.
46814
46815 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46816 choose which information we want to print.
46817
46818 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46819
46820 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46821 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46822 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46823 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46824 video/readers/tga.c and video/i386/pc/vbeutil.c.
46825
46826 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46827
46828 Added support for RAID and LVM.
46829
46830 * disk/lvm.c: New file.
46831 * disk/raid.c: Likewise.
46832 * include/grub/lvm.h: Likewise.
46833 * include/grub/raid.h: Likewise.
46834 * include/grub/util/lvm.h: Likewise.
46835 * include/grub/util/raid.h: Likewise.
46836 * util/lvm.c: Likewise.
46837 * util/raid.c: Likewise.
46838
46839 * include/grub/disk.h (grub_disk_dev_id): Add
46840 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46841 (grub_disk_get_size): New prototype.
46842 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46843 returns a partition.
46844 (grub_disk_get_size): New function.
46845
46846 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46847 verbatim if grub_install_dos_part is -2.
46848
46849 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46850 and LVM devices.
46851
46852 * util/i386/pc/grub-setup.c (setup): New argument
46853 MUST_EMBED. Force embedding of GRUB when the argument is
46854 true. Close FILE before returning.
46855 (main): Add support for RAID and LVM.
46856
46857 * conf/common.rmk: Add RAID and LVM modules.
46858 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46859 util/lvm.c.
46860 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46861
46862 * kern/misc.c (grub_strstr): New function.
46863 * include/grub/misc.h (grub_strstr): New prototype.
46864
46865 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46866
46867 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46868
46869 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46870
46871 * kern/misc.c (grub_strtoull): Guess the base only if not
46872 specified.
46873
46874 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46875
46876 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46877 PowerMac support.
46878
46879 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46880
46881 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46882
46883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46884 Remove `flags' argument. All callers changed.
46885 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46886 (IEEE1275_IHANDLE_INVALID): New variable.
46887 (IEEE1275_CELL_INVALID): New variable.
46888 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46889 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46890 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46891 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46892 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46893 codes from Open Firmware. All callers updated.
46894 (grub_ieee1275_next_property): Directly return Open Firmware return
46895 code.
46896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46897 Standardize error checking from `grub_ieee1275_get_property'.
46898 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46899 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46900
46901 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46902
46903 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46904 `instance_to_package_args' to `instance_to_path_args'.
46905
46906 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46907 `grub_ieee1275_chosen'.
46908
46909 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46910 `grub_ieee1275_interpret'.
46911
46912 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46913
46914 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46915
46916 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46917
46918 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46919 (__cmpdi): Likewise.
46920
46921 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46922 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46923 `grub_ssize_t'.
46924
46925 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
46926
46927 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46928 to type `grub_ssize_t'.
46929 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46930
46931 2006-09-22 Marco Gerards <marco@gnu.org>
46932
46933 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46934 newlines.
46935
46936 2006-09-22 Marco Gerards <marco@gnu.org>
46937
46938 * commands/echo.c: New file.
46939
46940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46941
46942 * conf/common.rmk (echo_mod_SOURCES): New variable.
46943 (echo_mod_CFLAGS): Likewise.
46944 (echo_mod_LDFLAGS): Likewise.
46945
46946 2006-09-22 Marco Gerards <marco@gnu.org>
46947
46948 * normal/main.c (get_line): Malloc memory instead of using
46949 preallocated memory. Removed the arguments `cmdline' and
46950 `max_len'. Updated all callers.
46951
46952 2006-09-22 Marco Gerards <marco@gnu.org>
46953
46954 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46955 (normal_mod_DEPENDENCIES): Likewise.
46956
46957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46958 (normal_mod_DEPENDENCIES): Likewise.
46959
46960 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46961
46962 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
46963
46964 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46965 programs.
46966 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46967 (normal_mod_DEPENDENCIES): Likewise.
46968 * conf/i386-pc.mk: Regenerate.
46969 * conf/i386-efi.mk: Likewise
46970 * conf/common.mk: Likewise.
46971 * conf/powerpc-ieee1275.mk: Likewise.
46972 * conf/sparc64-ieee1275.mk: Likewise.
46973
46974 2006-09-22 Robert Millan <rmh@aybabtu.com>
46975
46976 Sync with i386 version.
46977 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46978 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46979
46980 2006-09-21 Robert Millan <rmh@aybabtu.com>
46981
46982 Import from GRUB Legacy (lib/device.c):
46983 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46984 (init_device_map) [__linux__]: Add support for I2O devices.
46985
46986 2006-09-14 Marco Gerards <marco@gnu.org>
46987
46988 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46989 `-melf_i386'.
46990
46991 2006-09-14 Robert Millan <rmh@aybabtu.com>
46992
46993 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46994 /boot/grub/*.lst.
46995
46996 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
46997
46998 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46999 before adding it to device.map.
47000
47001 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
47002
47003 * genmk.rb: Let GCC generate dependencies the first time it
47004 compiles a file; using the -MD option.
47005 * conf/common.mk: Regenerate.
47006 * conf/i386-pc.mk: Likewise.
47007 * conf/i386-efi.mk: Likewise.
47008 * conf/powerpc-ieee1275.mk: Likewise.
47009 * conf/sparc64-ieee1275.mk: Likewise.
47010
47011 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47012
47013 Move the prototypes of grub_setjmp and grub_longjmp to
47014 cpu/setjmp.h, so that each architecture may specify different
47015 attributes.
47016
47017 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47018 (grub_longjmp): Likewise.
47019 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47020 (grub_longjmp): Likewise.
47021 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47022 (grub_longjmp): Likewise.
47023
47024 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47025 [!GRUB_UTIL] (grub_longjmp): Removed.
47026
47027 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47028
47029 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47030 "color!" method does not return any value.
47031
47032 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47033
47034 * include/grub/bitmap.h: New file.
47035
47036 * include/grub/i386/pc/vbeutil.h: Likewise.
47037
47038 * video/bitmap.c: Likewise.
47039
47040 * video/readers/tga.c: Likewise.
47041
47042 * video/i386/pc/vbeutil.c: Likewise.
47043
47044 * commands/videotest.c: Code cleanup and updated to reflect to new
47045 video API.
47046
47047 * term/gfxterm.c: Likewise.
47048
47049 * video/video.c: Likewise.
47050
47051 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47052 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47053 (bitmap_mod_SOURCES): New entry.
47054 (bitmap_mod_CFLAGS): Likewise.
47055 (bitmap_mod_LDFLAGS): Likewise.
47056 (tga_mod_SOURCES): Likewise.
47057 (tga_mod_CFLAGS): Likewise.
47058 (tga_mod_LDFLAGS): Likewise.
47059
47060 * include/grub/video.h (grub_video_blit_operators): New enum type.
47061 (grub_video_render_target): Changed as forward declaration and moved
47062 actual definition to be video driver specific.
47063 (grub_video_adapter.blit_bitmap): Added blitting operator.
47064 (grub_video_adapter.blit_render_target): Likewise.
47065 (grub_video_blit_bitmap): Likewise.
47066 (grub_video_blit_render_target): Likewise.
47067
47068 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47069 driver specific render target definition.
47070 (grub_video_vbe_map_rgba): Added driver internal helper.
47071 (grub_video_vbe_unmap_color): Updated to use
47072 grub_video_i386_vbeblit_info.
47073 (grub_video_vbe_get_video_ptr): Likewise.
47074
47075 * include/grub/i386/pc/vbeblit.h
47076 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47077 grub_video_i386_vbeblit_info.
47078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47079 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47080 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47081 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47082 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47083 (grub_video_i386_vbeblit_index_index): Likewise.
47084 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47085 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47086 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47087 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47088 operator.
47089 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47090 operator.
47091
47092 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47093 include/grub/i386/pc/vbeblit.h.
47094
47095 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47096 Updated to use grub_video_i386_vbeblit_info.
47097 (grub_video_i386_vbefill_R8G8B8): Likewise.
47098 (grub_video_i386_vbefill_index): Likewise.
47099 (grub_video_i386_vbefill): Added generic filler.
47100
47101 * video/i386/pc/vbefill.c: Updated to reflect changes on
47102 include/grub/i386/pc/vbefill.h.
47103
47104 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47105 grub_video_i386_vbeblit_info.
47106 (grub_video_vbe_unmap_color): Likewise.
47107 (grub_video_vbe_blit_glyph): Likewise.
47108 (grub_video_vbe_scroll): Likewise.
47109 (grub_video_vbe_draw_pixel): Removed function.
47110 (grub_video_vbe_get_pixel): Likewise.
47111 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47112 updated code to use it.
47113 (common_blitter): Added common blitter for render target and bitmap.
47114 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47115 (grub_video_vbe_blit_render_target): Likewise.
47116
47117 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
47118
47119 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47120 is in text mode if there is no console control protocol instance
47121 available.
47122
47123 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47124
47125 * include/grub/video.h: Code cleanup.
47126
47127 * include/grub/i386/pc/vbe.h: Likewise.
47128
47129 * video/i386/pc/vbe.c: Likewise.
47130
47131 * video/i386/pc/vbeblit.c: Likewise.
47132
47133 * video/i386/pc/vbefill.c: Likewise.
47134
47135 * video/video.c: Likewise. Also added more comments.
47136
47137 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47138
47139 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47140 (struct grub_biosdisk_dap): Likewise.
47141
47142 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47143 linkage settings for all functions.
47144
47145 2006-07-12 Marco Gerards <marco@gnu.org>
47146
47147 * configure.ac (--enable-mm-debug): Fix typo.
47148
47149 * genkernsyms.sh.in: Use proper quoting for `CC'.
47150
47151 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47152
47153 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47154 (normal_mod_ASFLAGS): Remove "-m32".
47155
47156 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47157
47158 * util/misc.c: Include config.h.
47159 [!HAVE_MEMALIGN]: Do not include malloc.h.
47160 (grub_memalign): Use posix_memalign, if present. Then, use
47161 memalign, if present. Otherwise, emit an error.
47162
47163 * util/grub-emu.c: Do not include malloc.h.
47164
47165 * include/grub/util/misc.h: Include unistd.h. This is required for
47166 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47167 D. Eades III <hde@foobar-qux.org>.
47168
47169 * configure.ac (AC_GNU_SOURCE): Added.
47170 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47171 type.
47172
47173 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47174
47175 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47176 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47177
47178 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47179
47180 * include/grub/types.h (grub_host_addr_t): Rename to
47181 grub_target_addr_t.
47182 (grub_host_off_t): Rename to grub_target_off_t.
47183 (grub_host_size_t): Rename to grub_target_size_t.
47184 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47185 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47186
47187 * include/grub/kernel.h (struct grub_module_header): Change type
47188 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47189 (grub_module_info): Likewise.
47190
47191 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47192
47193 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47194 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47195 Velazquez <jesus.velazquez@gmail.com>.
47196
47197 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47198
47199 Count partitions from 1 instead of 0 in the string representation
47200 of partitions. Still use 0-based internally.
47201
47202 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47203 (sun_partition_map_iterate): Use grub_partition_t instead of
47204 struct grub_partition *. Cast DESC->START_CYLINDER to
47205 grub_uint64_t after converting the endian.
47206 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47207 (sun_partition_map_get_name): Add 1 to P->INDEX.
47208
47209 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47210 PCDATA->DOS_PART.
47211 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47212
47213 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47214 zero instead of one.
47215 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47216 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47217
47218 * partmap/apple.c (apple_partition_map_iterate): Change the type
47219 of POS to unsigned.
47220 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47221 (apple_partition_map_get_name): Add 1 into P->INDEX.
47222
47223 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47224 of POS to unsigned.
47225 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47226 calculate the offset of a partition.
47227 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47228 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47229
47230 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47231 SECTOR to grub_disk_addr_t.
47232 (acorn_partition_map_iterate): Likewise.
47233 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47234 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47235 top.
47236 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47237
47238 * kern/i386/pc/init.c (make_install_device): Add 1 into
47239 GRUB_INSTALL_DOS_PART.
47240
47241 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47242 conditional.
47243
47244 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47245
47246 Clean up the code to support 64-bit addressing in disks and
47247 files. This change is not enough for filesystems yet.
47248
47249 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47250 type of "start" to grub_uint64_t.
47251 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47252 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47253 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47254 convert addresses.
47255
47256 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47257 to grub_disk_addr_t.
47258
47259 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47260 string.
47261
47262 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47263
47264 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47265 to char *.
47266
47267 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47268
47269 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47270
47271 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47272
47273 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47274 to grub_off_t, to detect an error from grub_file_seek.
47275 (grub_multiboot_load_elf32): Likewise.
47276
47277 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47278 maximum unsigned long value when an overflow is detected.
47279 (grub_strtoull): New function.
47280 (grub_divmod64): Likewise.
47281 (grub_lltoa): use grub_divmod64.
47282
47283 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47284 grub_disk_addr_t.
47285 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47286 the pointer to next character. Use grub_strtoull instead of
47287 grub_strtoul.
47288 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47289 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47290 respectively.
47291
47292 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
47293 return value is signed.
47294 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47295 test if OFFSET is less than zero, as OFFSET is unsigned now.
47296
47297 * kern/disk.c (struct grub_disk_cache): Change the type of
47298 "sector" to grub_disk_addr_t.
47299 (grub_disk_cache_get_index): Change the type of SECTOR to
47300 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47301 unsigned after shifting.
47302 (grub_disk_cache_invalidate): Change the type of SECTOR to
47303 grub_disk_addr_t.
47304 (grub_disk_cache_unlock): Likewise.
47305 (grub_disk_cache_store): Likewise.
47306 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47307 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47308 grub_disk_addr_t and grub_uint64_t, respectively.
47309 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47310 body, as the value of OFFSET is tweaked by
47311 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47312 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47313 respectively.
47314 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47315 body, as the value of OFFSET is tweaked by
47316 grub_disk_check_range. Change the types of LEN and N to
47317 grub_size_t.
47318
47319 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47320 and "saved_offset" to grub_off_t.
47321 (test_header): Cast BUF to char *.
47322 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47323 to char *.
47324 (grub_gzio_read): Change the types of OFFSET and SIZE to
47325 grub_off_t and grub_size_t, respectively.
47326
47327 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47328 Removed.
47329 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47330 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47331 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47332 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47333 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47334
47335 * include/grub/types.h (grub_off_t): Unconditionally set to
47336 grub_uint64_t.
47337 (grub_disk_addr_t): Changed to grub_uint64_t.
47338
47339 * include/grub/partition.h (struct grub_partition): Change the
47340 types of "start", "len" and "offset" to grub_disk_addr_t,
47341 grub_uint64_t and grub_disk_addr_t, respectively.
47342 (grub_partition_get_start): Return grub_disk_addr_t.
47343 (grub_partition_get_len): Return grub_uint64_t.
47344
47345 * include/grub/misc.h (grub_strtoull): New prototype.
47346 (grub_divmod64): Likewise.
47347
47348 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47349 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47350 grub_off_t, respectively.
47351 All callers and references changed.
47352
47353 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47354 grub_size_t in "read".
47355 All callers and references changed.
47356
47357 * include/grub/file.h (struct grub_file): Change the types of
47358 "offset" and "size" to grub_off_t and grub_off_t,
47359 respectively. Change the type of SECTOR to grub_disk_addr_t in
47360 "read_hook".
47361 (grub_file_read): Change the type of LEN to grub_size_t.
47362 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47363 grub_off_t.
47364 (grub_file_size): Return grub_off_t.
47365 (grub_file_tell): Likewise.
47366 All callers and references changed.
47367
47368 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47369 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47370 "write".
47371 (struct grub_disk): Change the type of "total_sectors" to
47372 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
47373 "read_hook".
47374 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47375 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47376 (grub_disk_write): Likewise.
47377 All callers and references changed.
47378
47379 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47380 char * for grub_strncmp to silence gcc.
47381 (grub_iso9660_mount): Likewise.
47382 (grub_iso9660_mount): Likewise.
47383 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47384 return statement.
47385 (grub_iso9660_iterate_dir): Likewise.
47386 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47387
47388 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47389 LEN to grub_disk_addr_t and grub_size_t, respectively.
47390
47391 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47392
47393 * fs/jfs.c (grub_jfs_read_file): Likewise.
47394
47395 * fs/minix.c (grub_jfs_read_file): Likewise.
47396
47397 * fs/sfs.c (grub_jfs_read_file): Likewise.
47398
47399 * fs/ufs.c (grub_jfs_read_file): Likewise.
47400
47401 * fs/xfs.c (grub_jfs_read_file): Likewise.
47402
47403 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47404 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47405 respectively.
47406
47407 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47408 BLKNR to -1 instead of returning GRUB_ERRNO.
47409 (grub_ext2_read_file): Change the types of SECTOR and
47410 LEN to grub_disk_addr_t and grub_size_t, respectively.
47411
47412 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47413 LEN to grub_disk_addr_t and grub_size_t, respectively.
47414
47415 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47416 grub_file_read.
47417
47418 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47419 string. Do not cast SECTOR explicitly.
47420
47421 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47422 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47423 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47424 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47425 over 2TB and LBA mode is not supported, raise an error.
47426 (get_safe_sectors): New function.
47427 (grub_biosdisk_read): Use get_safe_sectors.
47428 (grub_biosdisk_write): Likewise.
47429
47430 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47431 (grub_efidisk_write): Likewise.
47432
47433 * disk/loopback.c (delete_loopback): Cosmetic changes.
47434 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47435 correctly.
47436 (grub_loopback_open): Likewise.
47437 (grub_loopback_read): Likewise. Also, change the type of POS to
47438 grub_off_t, and fix the usage of grub_memset.
47439
47440 * commands/i386/pc/play.c: Include grub/machine/time.h.
47441
47442 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47443 print FILE->SIZE.
47444
47445 * commands/configfile.c: Include grub/env.h.
47446
47447 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47448 GRUB_ERRNO directly instead. Change the type of POS to
47449 grub_off_t. Follow the coding standard.
47450
47451 * commands/blocklist.c: Include grub/partition.h.
47452 (grub_cmd_blocklist): Return an error if the underlying device is
47453 not a disk. Take the starting sector of a partition into account,
47454 if a partition is used.
47455
47456 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47457 a length field.
47458 (lba_mode): Support 64-bit addresses.
47459 (chs_mode): Likewise.
47460 (copy_buffer): Adapted to the new offsets of a length field and a
47461 segment field.
47462 (blocklist_default_start): Allocate 64-bit space.
47463
47464 * boot/i386/pc/boot.S (force_lba): Removed.
47465 (boot_drive): Moved to under KERNEL_SECTOR.
47466 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
47467 space.
47468 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47469 is useless.
47470 (lba_mode): Refactored to support a 64-bit address. More size
47471 optimization.
47472 (setup_sectors): Likewise.
47473
47474 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47475
47476 * DISTLIST: Added include/grub/i386/linux.h. Removed
47477 include/grub/i386/pc/linux.h
47478
47479 * configure.ac (AC_INIT): Bumped to 1.94.
47480
47481 * config.guess: Updated from gnulib.
47482 * config.sub: Likewise.
47483 * install-sh: Likewise.
47484 * mkinstalldirs: Likewise.
47485
47486 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47487
47488 * conf/common.rmk (grub_modules_init.lst): Depended on
47489 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47490 MODSRCFILES.
47491
47492 * genmk.rb (PModule::rule): Reverted the previous change.
47493
47494 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47495
47496 * conf/common.rmk (grub_modules_init.lst): Depends on
47497 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47498 that the target does not exist before producing.
47499 (grub_modules_init.h): Remove the target before generating.
47500 (grub_emu_init.c): Likewise.
47501
47502 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47503
47504 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47505
47506 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47507 for the target-specific tests. Make sure that we also have the
47508 up-to-date target variables for those tests.
47509
47510 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47511
47512 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47513 (PModule::rule): Likewise.
47514
47515 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47516
47517 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47518 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47519 target-specific flags should be prefixed.
47520 (PModule::rule): Likewise.
47521
47522 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47523
47524 * configure.ac (CMP): Check if cmp is available explicitly.
47525
47526 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47527
47528 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47529 (target_cpu): New variable.
47530 (pkglibdir): Use target_cpu instead of host_cpu.
47531
47532 * util/i386/pc/grub-install.in (host_cpu): Removed.
47533 (target_cpu): New variable.
47534 (pkglibdir): Use target_cpu instead of host_cpu.
47535
47536 * util/genmoddep.c: Removed.
47537
47538 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47539 instead of GRUB_HOST_SIZEOF_VOID_P.
47540 * kern/dl.c: Likewise.
47541
47542 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47543 ...
47544 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47545 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47546 (GRUB_TARGET_SIZEOF_LONG): ... this.
47547 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47548 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47549 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47550 to ...
47551 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47552 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47553 (GRUB_TARGET_SIZEOF_LONG): ... this.
47554 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47555 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47556 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47557 to ...
47558 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47559 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47560 (GRUB_TARGET_SIZEOF_LONG): ... this.
47561 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47562 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47563
47564 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47565 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47566 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47567 instead of GRUB_HOST_SIZEOF_LONG.
47568 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47569 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47570 GRUB_CPU_WORDS_BIGENDIAN.
47571 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47572 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47573 grub_host_ssize_t.
47574
47575 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47576 (genmoddep_SOURCES): Likewise.
47577 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47578 (genmoddep_SOURCES): Likewise.
47579 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47580 (genmoddep_SOURCES): Likewise.
47581 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47582 Likewise.
47583 (genmoddep_SOURCES): Likewise.
47584
47585 * genmoddep.awk: New file.
47586
47587 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47588 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47589 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47590 (PModule::rule): Likewise.
47591 (Program::rule): Likewise.
47592 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47593 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47594 respectively.
47595
47596 * configure.ac: Rewritten intensively to use host and target
47597 instead of build and host, respectively.
47598
47599 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47600 (host_cpu): Removed.
47601 (target_cpu): New variable.
47602 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47603 (BUILD_CC): Removed.
47604 (BUILD_CFLAGS): Likewise.
47605 (BUILD_CPPFLAGS): Likewise.
47606 (TARGET_CC): New variable.
47607 (TARGET_CFLAGS): Likewise.
47608 (TARGET_CPPFLAGS): Likewise.
47609 (TARGET_LDFLAGS): Likewise.
47610 (AWK): Likewise.
47611 (include): Use target_cpu instead of host_cpu.
47612 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
47613
47614 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47615
47616 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47617
47618 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47619 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47620 field 'false' to 'exec_on_false'.
47621 (grub_script_create_cmdif): Renamed argument names to reflect above
47622 changes.
47623
47624 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47625
47626 * normal/script.c (grub_script_create_cmdif): Likewise.
47627
47628 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47629
47630 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47631 top.
47632 (grub_hfsplus_btree_recptr): Likewise.
47633 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47634 FILEBLOCK both to pass a block number and store next block
47635 number.
47636 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47637 overflow file correctly. Specify errors appropriately, because
47638 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47639 grub_hfsplus_btree_recptr to get the pointer to a found key.
47640 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47641 is found.
47642
47643 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47644 linux.mod.
47645 (_linux_mod_SOURCES): New variable.
47646 (_linux_mod_CFLAGS): Likewise.
47647 (_linux_mod_LDFLAGS): Likewise.
47648 (linux_mod_SOURCES): Likewise.
47649 (linux_mod_CFLAGS): Likewise.
47650 (linux_mod_LDFLAGS): Likewise.
47651
47652 * DISTLIST: Added loader/i386/efi/linux.c,
47653 loader/i386/efi/linux_normal.c and
47654 include/grub/i386/efi/loader.h.
47655
47656 * loader/i386/efi/linux.c: New file.
47657 * loader/i386/efi/linux_normal.c: Likewise.
47658 * include/grub/i386/efi/loader.h: Likewise.
47659
47660 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47661
47662 * commands/blocklist.c: New file.
47663
47664 * DISTLIST: Added commands/blocklist.c.
47665
47666 * term/efi/console.c (grub_console_highlight_color): Use a lighter
47667 color for the background, and a darker color for the foreground.
47668 (grub_console_checkkey): Return READ_KEY.
47669 (grub_console_cls): Set the background to
47670 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47671
47672 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47673
47674 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47675 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47676
47677 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47678 prototype.
47679
47680 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47681 BG. The spec is wrong again.
47682
47683 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47684 prototype.
47685 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47686
47687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47688 commands/blocklist.c.
47689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47690
47691 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47692 (blocklist_mod_SOURCES): New variable.
47693 (blocklist_mod_CFLAGS): Likewise.
47694 (blocklist_mod_LDFLAGS): Likewise.
47695
47696 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47697
47698 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47699 duplication.
47700 (lba_mode): Use %eax more intensively to reduce the code size.
47701
47702 2006-05-20 Marco Gerards <marco@gnu.org>
47703
47704 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47705
47706 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47707 for `menuentry'.
47708 (script): Accept leading newlines.
47709 (newlines): New rule to describe 0 or more newlines.
47710 (commands): Accept `command' with trailing newline. Fixed the
47711 order in which arguments were passed to `grub_script_add_cmd'.
47712 Accept commands separated by newlines.
47713 (function): Changed to accept newlines.
47714 (menuentry) Rewritten.
47715
47716 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47717 front of the list, instead of to the end.
47718
47719 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47720
47721 * util/i386/pc/grub-install.in (bindir): New variable.
47722 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47723 Shaver <lbgwjl@gmail.com>.
47724
47725 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47726
47727 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47728 grub/machine/linux.h
47729 * loader/i386/pc/linux.c: Likewise.
47730
47731 * include/grub/i386/pc/linux.h: Moved to ...
47732 * include/grub/i386/linux.h: ... here.
47733
47734 * include/grub/i386/linux.h (struct linux_kernel_params): New
47735 struct.
47736
47737 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47738
47739 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47740 checking.
47741 (grub_video_vbe_blit_glyph): Likewise.
47742 (grub_video_vbe_blit_bitmap): Likewise.
47743 (grub_video_vbe_blit_render_target): Likewise.
47744
47745 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47746
47747 * configure.ac (--with-platform): Properly quote the square
47748 brackets.
47749
47750 2006-05-08 Marco Gerards <marco@gnu.org>
47751
47752 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47753 this...
47754 (kernel_elf_HEADERS): ...to this. Updated all users.
47755 (grubof_symlist.c): Renamed from this...
47756 (kernel_elf_symlist.c): ...to this. Updated all users.
47757 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47758 (grubof_SOURCES): Renamed from this...
47759 (kernel_elf_SOURCES): ...to this.
47760 (grubof_HEADERS): Renamed from this...
47761 (kernel_elf_HEADERS): ...to this.
47762 (grubof_CFLAGS): Renamed from this...
47763 (kernel_elf_CFLAGS): ...to this.
47764 (grubof_ASFLAGS): Renamed from this...
47765 (kernel_elf_ASFLAGS): ...to this.
47766 (grubof_LDFLAGS): Renamed from this...
47767 (kernel_elf_LDFLAGS): ...to this.
47768
47769 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47770 this...
47771 (kernel_elf_HEADERS): ...to this. Updated all users.
47772 (grubof_symlist.c): Renamed from this...
47773 (kernel_elf_symlist.c): ...to this. Updated all users.
47774 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47775 (grubof_SOURCES): Renamed from this...
47776 (kernel_elf_SOURCES): ...to this.
47777 (grubof_HEADERS): Renamed from this...
47778 (kernel_elf_HEADERS): ...to this.
47779 (grubof_CFLAGS): Renamed from this...
47780 (kernel_elf_CFLAGS): ...to this.
47781 (grubof_ASFLAGS): Renamed from this...
47782 (kernel_elf_ASFLAGS): ...to this.
47783 (grubof_LDFLAGS): Renamed from this...
47784 (kernel_elf_LDFLAGS): ...to this.
47785
47786 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47787 `kernel.elf' instead of `grubof'.
47788
47789 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47790
47791 Add --with-platform to configure. Use pkglibdir instead of
47792 pkgdatadir. This is reported by Roger Leigh.
47793
47794 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47795 (host_vendor): Likewise.
47796 (host_os): Likewise.
47797 (pkgdatadir): Likewise.
47798 (platform): New variable.
47799 (pkglibdir): Likewise.
47800 Use PKGLIBDIR instead of PKGDATADIR.
47801
47802 * util/i386/pc/grub-install.in (datadir): Removed.
47803 (host_vendor): Likewise.
47804 (host_os): Likewise.
47805 (pkgdatadir): Likewise.
47806 (platform): New variable.
47807 (pkglibdir): Likewise.
47808 Use PKGLIBDIR instead of PKGDATADIR.
47809
47810 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47811 instead of GRUB_DATADIR.
47812 (main): Likewise.
47813 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47814 (main): Likewise.
47815 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47816 (main): Likewise.
47817
47818 * configure.ac (--with-platform): New option.
47819 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47820
47821 * Makefile.in: Include a makefile based on PLATFORM instead of
47822 HOST_VENDOR.
47823 (pkgdatadir): Not appended by the machine type.
47824 (pkglibdir): Appended by the machine type.
47825 (host_vendor): Removed.
47826 (platform): New variable.
47827 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47828 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47829 (uninstall): Likewise.
47830
47831 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47832
47833 Use the environment context in the menu. Remove the commands
47834 "default" and "timeout", and use variables instead.
47835
47836 * normal/menu.c: Include grub/env.h.
47837 (print_entry): Cast TITLE to silence gcc.
47838 (get_timeout): New function.
47839 (set_timeout): Likewise.
47840 (get_entry_number): Likewise.
47841 (run_menu): Use a default entry, a fallback entry and a timeout
47842 in the environment variables "default", "fallback" and
47843 "timeout". Also, tweak the default entry if it is not within the
47844 current menu entries.
47845 (grub_menu_run): Use a fallback entry in the environment variable
47846 "fallback".
47847
47848 * normal/main.c (read_config_file): Do not initialize
47849 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47850 NEWMENU->TIMEOUT.
47851 (grub_normal_execute): Use a data slot to store the menu.
47852
47853 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47854 fallback_entry and timeout.
47855 (struct grub_menu_list): Removed.
47856 (grub_menu_list_t): Likewise.
47857 (struct grub_context): Likewise.
47858 (grub_context_t): Likewise.
47859 (grub_context_get): Likewise.
47860 (grub_context_get_current_menu): Likewise.
47861 (grub_context_push_menu): Likewise.
47862 (grub_context_pop_menu): Likewise.
47863 (grub_default_init): Likewise.
47864 (grub_default_fini): Likewise.
47865 (grub_timeout_init): Likewise.
47866 (grub_timeout_fini): Likewise.
47867
47868 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47869 and timeout.mod.
47870 (normal_mod_SOURCES): Removed normal/context.c.
47871
47872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47873 commands/default.c, commands/timeout.c and normal/context.c.
47874 (normal_mod_SOURCES): Removed normal/context.c.
47875
47876 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47877 commands/timeout.c and normal/context.c.
47878 (normal_mod_SOURCES): Removed normal/context.c.
47879
47880 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47881 commands/default.c, commands/timeout.c and normal/context.c.
47882 (normal_mod_SOURCES): Removed normal/context.c.
47883
47884 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47885 timeout.mod.
47886 (default_mod_SOURCES): Removed.
47887 (default_mod_CFLAGS): Likewise.
47888 (default_mod_LDFLAGS): Likewise.
47889 (timeout_mod_SOURCES): Removed.
47890 (timeout_mod_CFLAGS): Likewise.
47891 (timeout_mod_LDFLAGS): Likewise.
47892
47893 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47894 normal/context.c.
47895
47896 * commands/default.c: Removed.
47897 * commands/timeout.c: Likewise.
47898 * normal/context.c: Likewise.
47899
47900 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47901
47902 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47903
47904 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47905
47906 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47907 "next" to "prev" for readability.
47908 (struct grub_env_sorted_var): New struct.
47909 (grub_env_context): Renamed to ...
47910 (initial_context): ... this.
47911 (grub_env_var_context): Renamed to ...
47912 (current_context): ... this.
47913 (grub_env_find): Look only at CURRENT_CONTEXT.
47914 (grub_env_context_open): Rewritten to copy exported variables from
47915 previous context.
47916 (grub_env_context_close): Rewritten according to the new
47917 scheme. Also, add an assertion to prevent the initial context from
47918 removed.
47919 (grub_env_insert): Removed the code for the sorted list.
47920 (grub_env_remove): Likewise.
47921 (grub_env_export): Simply mark the variable with
47922 GRUB_ENV_VAR_GLOBAL.
47923 (grub_env_set): A cosmetic change for naming consistency.
47924 (grub_env_get): Likewise.
47925 (grub_env_unset): Likewise.
47926 (grub_env_iterate): Rewritten to sort variables within this
47927 function.
47928 (grub_register_variable_hook): Fixed for naming consistency. Call
47929 grub_env_find again, only if NAME is not found at the first time.
47930 (mangle_data_slot_name): New function.
47931 (grub_env_set_data_slot): Likewise.
47932 (grub_env_get_data_slot): Likewise.
47933 (grub_env_unset_data_slot): Likewise.
47934
47935 * include/grub/env.h (grub_env_var_type): New enum.
47936 (GRUB_ENV_VAR_LOCAL): New constant.
47937 (GRUB_ENV_VAR_GLOBAL): Likewise.
47938 (GRUB_ENV_VAR_DATA): Likewise.
47939 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47940 "type".
47941 (grub_env_set): Replace VAR with NAME for consistency.
47942 (grub_register_variable_hook): Likewise.
47943 (grub_env_export): Specify the name of the argument.
47944 (grub_env_set_data_slot): New prototype.
47945 (grub_env_get_data_slot): Likewise.
47946 (grub_env_unset_data_slot): Likewise.
47947
47948 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47949
47950 Extend the loader so that GRUB can accept a loader which comes
47951 back to GRUB when a loaded image exits. Also, this change adds
47952 support for a chainloader on EFI.
47953
47954 * term/efi/console.c: Include grub/misc.h.
47955 (grub_console_checkkey): Display a scan code on the top for
47956 debugging. This will be removed once the EFI port gets stable.
47957 Correct the scan code mapping.
47958
47959 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47960 allocate memory from larger regions, in order to reduce the number
47961 of allocated regions. Otherwise, the MacOSX loader panics.
47962 (filter_memory_map): Avoid less than 1MB for compatibility with
47963 other loaders.
47964 (add_memory_regions): Allocate from the tail of a region, if
47965 possible, to avoid allocating a region near to 1MB, for the MacOSX
47966 loader.
47967
47968 * kern/efi/init.c (grub_efi_set_prefix): Specify
47969 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47970
47971 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47972 argument IMAGE_HANDLE and specify it to get a loaded image.
47973 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47974 grub_efi_get_loaded_image.
47975 (grub_efi_get_filename): Divide the length by the size of
47976 grub_efi_char16_t.
47977 (grub_efi_get_device_path): New function.
47978 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47979 the length by the size of grub_efi_char16_t for a file path device
47980 path node.
47981
47982 * kern/loader.c (grub_loader_noreturn): New variable.
47983 (grub_loader_set): Accept a new argument NORETURN. Set
47984 GRUB_LOADER_NORETURN to NORETURN.
47985 All callers changed.
47986 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47987 grub_machine_fini.
47988
47989 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47990 prototype.
47991 (grub_efi_get_loaded_image): Take an argument to specify an image
47992 handle.
47993
47994 * include/grub/loader.h (grub_loader_set): Added one more argument
47995 NORETURN.
47996
47997 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47998 instead of grub_efi_open_protocol.
47999 (grub_efidisk_get_device_name): Likewise.
48000 (grub_efidisk_close): Print a newline.
48001 (grub_efidisk_get_device_handle): Fixed to use
48002 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48003 GRUB_EFI_DEVICE_PATH_TYPE.
48004
48005 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48006 * kern/efi/efi.c (device_path_guid): ... here.
48007
48008 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48009 chain.mod.
48010 (kernel_mod_HEADERS): Added efi/disk.h.
48011 (_chain_mod_SOURCES): New variable.
48012 (_chain_mod_CFLAGS): Likewise.
48013 (_chain_mod_LDFLAGS): Likewise.
48014 (chain_mod_SOURCES): Likewise.
48015 (chain_mod_CFLAGS): Likewise.
48016 (chain_mod_LDFLAGS): Likewise.
48017
48018 * DISTLIST: Added include/grub/efi/chainloader.h,
48019 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48020
48021 * include/grub/efi/chainloader.h: New file.
48022 * loader/efi/chainloader.c: Likewise.
48023 * loader/efi/chainloader_normal.c: Likewise.
48024
48025 2006-04-30 Marco Gerards <marco@gnu.org>
48026
48027 * commands/configfile.c (grub_cmd_source): New function.
48028 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48029 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48030
48031 2006-04-30 Marco Gerards <marco@gnu.org>
48032
48033 * normal/execute.c (grub_script_execute_cmd): Change the return
48034 type to `grub_err_t'. Correctly return the error.
48035 (grub_script_execute_cmdline): In case a command line is not a
48036 command or a function, try to interpret it as an assignment.
48037
48038 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48039
48040 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48041 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48042 skip a node whose name is obviously invalid as UTF-16,
48043 i.e. contains a NUL character. Stop the iteration when the last
48044 directory entry is found. Instead of using the return value of
48045 grub_hfsplus_btree_iterate_node, store the value in RET and use
48046 it, because the iterator can be stopped by the last directory
48047 entry.
48048
48049 2006-04-30 Marco Gerards <marco@gnu.org>
48050
48051 * include/grub/env.h (grub_env_export): New prototype. Reported
48052 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48053
48054 2006-04-30 Marco Gerards <marco@gnu.org>
48055
48056 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48057 size of the extents in a catalog file record.
48058
48059 2006-04-29 Marco Gerards <marco@gnu.org>
48060
48061 * commands/configfile.c (grub_cmd_configfile): Execute the
48062 configfile within its own context.
48063
48064 * include/grub/env.h (grub_env_context_open): New prototype.
48065 (grub_env_context_close): Likewise.
48066
48067 * kern/env.c (grub_env): Removed.
48068 (grub_env_sorted): Likewise.
48069 (grub_env_context): New variable.
48070 (grub_env_var_context): Likewise.
48071 (grub_env_find): Search both the active context and the global
48072 context.
48073 (grub_env_context_open): New function.
48074 (grub_env_context_close): Likewise.
48075 (grub_env_insert): Likewise.
48076 (grub_env_remove): Likewise.
48077 (grub_env_export): Likewise.
48078 (grub_env_set): Changed to use helper functions to avoid code
48079 duplication.
48080 (grub_env_iterate): Rewritten so both the current context and the
48081 global context are being used.
48082
48083 * normal/command.c (export_command): New function.
48084 (grub_command_init): Register the `export' function.
48085
48086 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48087
48088 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48089 explicitly to suppress gcc's warnings.
48090 * fs/fat.c (grub_fat_find_dir): Likewise.
48091 (grub_fat_label): Likewise.
48092 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48093 (grub_xfs_mount): Likewise.
48094 (grub_xfs_label): Likewise.
48095 * fs/affs.c (grub_affs_mount): Likewise.
48096 (grub_affs_label): Likewise.
48097 (grub_affs_iterate_dir): Likewise.
48098 * fs/sfs.c (grub_sfs_mount): Likewise.
48099 (grub_sfs_iterate_dir): Likewise.
48100 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48101 * fs/hfs.c (grub_hfs_mount): Likewise.
48102 (grub_hfs_cmp_catkeys): Likewise.
48103 (grub_hfs_find_dir): Likewise.
48104 (grub_hfs_dir): Likewise.
48105 (grub_hfs_label): Likewise.
48106 * fs/jfs.c (grub_jfs_mount): Likewise.
48107 (grub_jfs_opendir): Likewise.
48108 (grub_jfs_getent): Likewise.
48109 (grub_jfs_lookup_symlink): Likewise.
48110 (grub_jfs_label): Likewise.
48111 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48112 (grub_hfsplus_iterate_dir): Likewise.
48113 (grub_hfsplus_btree_iterate_node): Made static.
48114
48115 * util/grub-emu.c (prefix): New variable.
48116 (grub_machine_set_prefix): New function.
48117 (main): Do not set the environment variable "prefix" here. Only
48118 set PREFIX, which is used later by grub_machine_set_prefix.
48119
48120 * include/grub/video.h: Do not include grub/symbol.h.
48121 (grub_video_register): Not exported. This symbol is not defined in
48122 the kernel.
48123 (grub_video_unregister): Likewise.
48124 (grub_video_iterate): Likewise.
48125 (grub_video_setup): Likewise.
48126 (grub_video_restore): Likewise.
48127 (grub_video_get_info): Likewise.
48128 (grub_video_get_blit_format): Likewise.
48129 (grub_video_set_palette): Likewise.
48130 (grub_video_get_palette): Likewise.
48131 (grub_video_set_viewport): Likewise.
48132 (grub_video_get_viewport): Likewise.
48133 (grub_video_map_color): Likewise.
48134 (grub_video_map_rgb): Likewise.
48135 (grub_video_map_rgba): Likewise.
48136 (grub_video_fill_rect): Likewise.
48137 (grub_video_blit_glyph): Likewise.
48138 (grub_video_blit_bitmap): Likewise.
48139 (grub_video_blit_render_target): Likewise.
48140 (grub_video_scroll): Likewise.
48141 (grub_video_swap_buffers): Likewise.
48142 (grub_video_create_render_target): Likewise.
48143 (grub_video_delete_render_target): Likewise.
48144 (grub_video_set_active_render_target): Likewise.
48145
48146 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48147 Undefined.
48148 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48149
48150 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48151 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48152 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48153 instead of $(srcdir)/genkernsyms.sh.
48154
48155 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48156 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48157 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48158 instead of $(srcdir)/genkernsyms.sh.
48159
48160 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48161 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48162 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48163 instead of $(srcdir)/genkernsyms.sh.
48164
48165 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48166 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48167 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48168 instead of $(srcdir)/genkernsyms.sh.
48169
48170 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48171 genkernsyms.sh.
48172
48173 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48174 genkernsyms.sh.
48175 (gensymlist.sh): New target.
48176 (genkernsyms.sh): Likewise.
48177
48178 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48179 genkernsyms.sh.in and gensymlist.sh.in.
48180
48181 * genkernsyms.sh: Removed.
48182 * gensymlist.sh: Likewise.
48183
48184 * genkernsyms.sh.in: New file.
48185 * gensymlist.sh.in: Likewise.
48186
48187 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48188
48189 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48190 clobber "prefix", since we may have already set it manually.
48191
48192 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48193
48194 * kern/misc.c (abort): New alias for grub_abort.
48195
48196 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48197
48198 A new machine-specific function "grub_machine_set_prefix" is
48199 defined. This is called after loading modules, so that a prefix
48200 initialization can use modules. Also, this change adds an
48201 intensive debugging feature for the memory manager via the
48202 configure option "--enable-mm-debug".
48203
48204 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48205 PART.LEN.
48206
48207 * kern/sparc64/ieee1275/init.c (abort): Removed.
48208 (grub_stop): Likewise.
48209 (grub_exit): New function.
48210 (grub_set_prefix): Renamed to ...
48211 (grub_machine_set_prefix): ... this.
48212 (grub_machine_init): Do not call grub_set_prefix.
48213
48214 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48215 (grub_machine_set_prefix): ... this.
48216 (grub_machine_init): Do not call grub_set_prefix.
48217
48218 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48219 (grub_machine_init): Do not set the prefix here.
48220
48221 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48222
48223 * kern/efi/init.c: Include grub/mm.h.
48224 (grub_efi_set_prefix): New function.
48225
48226 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48227 (grub_efi_get_filename): New function.
48228 (grub_print_device_path): Renamed to ...
48229 (grub_efi_print_device_path): ... this.
48230
48231 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48232 [MM_DEBUG] (grub_realloc): Likewise.
48233 [MM_DEBUG] (grub_free): Likewise.
48234 [MM_DEBUG] (grub_memalign): Likewise.
48235 [MM_DEBUG] (grub_mm_debug): New variable.
48236 [MM_DEBUG] (grub_debug_malloc): New function.
48237 [MM_DEBUG] (grub_debug_free): New function.
48238 [MM_DEBUG] (grub_debug_realloc): New function.
48239 [MM_DEBUG] (grub_debug_memalign): New function.
48240
48241 * kern/misc.c (grub_abort): Print a newline to distinguish
48242 the message.
48243
48244 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48245 grub_set_root_dev after loading modules. This is necessary when
48246 setting a prefix depends on modules.
48247
48248 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48249 (grub_efi_print_device_path): ... this.
48250 (grub_efi_get_filename): New prototype.
48251 (grub_efi_set_prefix): Likewise.
48252
48253 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48254 and grub/disk.h.
48255 (grub_efidisk_get_device_handle): New prototype.
48256 (grub_efidisk_get_device_name): Likewise.
48257
48258 * include/grub/mm.h: Include config.h.
48259 (MM_DEBUG): Removed.
48260 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48261 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48262 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48263 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48264 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48265 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48266 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48267 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48268 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48269
48270 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48271
48272 * disk/efi/efidisk.c: Include grub/partition.h.
48273 (iterate_child_devices): New function.
48274 (add_device): First, compare only last device path nodes, so that
48275 devices are sorted by the types.
48276 (grub_efidisk_get_device_handle): New function.
48277 (grub_efidisk_get_device_name): Likewise.
48278
48279 * configure.ac (--enable-mm-debug): New option to enable the
48280 memory manager debugging feature. This makes the binary much
48281 bigger, so is disabled by default.
48282
48283 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48284
48285 Use grub_abort instead of grub_stop, and grub_exit must be
48286 define in each architecture now. Also, this change adds support
48287 for EFI disks.
48288
48289 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48290 (grub_getkey): New function.
48291 (grub_term_get_current): Likewise.
48292
48293 * util/i386/pc/grub-setup.c: Include grub/term.h.
48294 (grub_getkey): New function.
48295 (grub_term_get_current): Likewise.
48296
48297 * util/misc.c (grub_stop): Renamed to ...
48298 (grub_exit): ... this.
48299
48300 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48301 (grub_exit): ... this.
48302 (grub_machine_init): Use grub_abort instead of abort.
48303 (grub_stop): Removed.
48304
48305 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48306 abort.
48307
48308 * kern/i386/pc/startup.S (grub_exit): New function.
48309 (cold_reboot): New label.
48310
48311 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48312 (grub_efi_init): Call grub_efidisk_init.
48313 (grub_efi_fini): Call grub_efidisk_fini.
48314
48315 * kern/efi/efi.c: Include grub/mm.h.
48316 (grub_efi_console_control_guid): Renamed to ...
48317 (console_control_guid): ... this.
48318 (grub_efi_loaded_image_guid): Renamed to ...
48319 (loaded_image_guid): ... this.
48320 (grub_efi_locate_handle): New function.
48321 (grub_efi_open_protocol): Likewise.
48322 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48323 GRUB_EFI_CONSOLE_CONTROL_GUID.
48324 (grub_efi_exit): Removed.
48325 (grub_stop): Likewise.
48326 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48327 (grub_exit): New function.
48328 (grub_print_device_path): Likewise.
48329
48330 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48331 (grub_enter_rescue_mode): Register "exit".
48332
48333 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48334 (grub_abort): New function.
48335
48336 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48337
48338 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48339
48340 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48341
48342 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48343 (grub_print_device_path): New prototype.
48344 (grub_efi_locate_handle): Likewise.
48345 (grub_efi_open_protocol): Likewise.
48346
48347 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48348 * disk/efi/efidisk.c: Likewise.
48349
48350 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48351
48352 * include/grub/efi/console_control.h
48353 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48354
48355 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48356 last 8 bytes as an array.
48357 (GRUB_EFI_DISK_IO_GUID): New macro.
48358 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48359 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48360 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48361 grub_uint8_t.
48362 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48363 (struct grub_efi_device_path): Rename the member "sub_type" to
48364 "subtype".
48365 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48366 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48367 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48368 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48369 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48370 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48371 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48372 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48373 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48374 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48375 (struct grub_efi_pci_device_path): New structure.
48376 (grub_efi_pci_device_path_t): New type.
48377 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48378 (struct grub_efi_pccard_device_path): New structure.
48379 (grub_efi_pccard_device_path_t): New type.
48380 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48381 (struct grub_efi_memory_mapped_device_path): New structure.
48382 (grub_efi_memory_mapped_device_path_t): New type.
48383 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48384 (struct grub_efi_vendor_device_path): New structure.
48385 (grub_efi_vendor_device_path_t): New type.
48386 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48387 (struct grub_efi_controller_device_path): New structure.
48388 (grub_efi_controller_device_path_t): New type.
48389 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48390 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48391 (struct grub_efi_acpi_device_path): New structure.
48392 (grub_efi_acpi_device_path_t): New type.
48393 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48394 (struct grub_efi_expanded_acpi_device_path): New structure.
48395 (grub_efi_expanded_acpi_device_path_t): New type.
48396 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48397 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48398 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48399 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48400 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48401 (struct grub_efi_atapi_device_path): New structure.
48402 (grub_efi_atapi_device_path_t): New type.
48403 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48404 (struct grub_efi_fibre_channel_device_path): New structure.
48405 (grub_efi_fibre_channel_device_path_t): New type.
48406 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48407 (struct grub_efi_1394_device_path): New structure.
48408 (grub_efi_1394_device_path_t): New type.
48409 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48410 (struct grub_efi_usb_device_path): New structure.
48411 (grub_efi_usb_device_path_t): New type.
48412 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48413 (struct grub_efi_usb_class_device_path): New structure.
48414 (grub_efi_usb_class_device_path_t): New type.
48415 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48416 (struct grub_efi_i2o_device_path): New structure.
48417 (grub_efi_i2o_device_path_t): New type.
48418 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48419 (struct grub_efi_mac_address_device_path): New structure.
48420 (grub_efi_mac_address_device_path_t): New type.
48421 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48422 (struct grub_efi_ipv4_device_path): New structure.
48423 (grub_efi_ipv4_device_path_t): New type.
48424 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48425 (struct grub_efi_ipv6_device_path): New structure.
48426 (grub_efi_ipv6_device_path_t): New type.
48427 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48428 (struct grub_efi_infiniband_device_path): New structure.
48429 (grub_efi_infiniband_device_path_t): New type.
48430 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48431 (struct grub_efi_uart_device_path): New structure.
48432 (grub_efi_uart_device_path_t): New type.
48433 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48434 (struct grub_efi_vendor_messaging_device_path): New structure.
48435 (grub_efi_vendor_messaging_device_path_t): New type.
48436 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48437 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48438 (struct grub_efi_hard_drive_device_path): New structure.
48439 (grub_efi_hard_drive_device_path_t): New type.
48440 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48441 (struct grub_efi_cdrom_device_path): New structure.
48442 (grub_efi_cdrom_device_path_t): New type.
48443 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48444 (struct grub_efi_vendor_media_device_path): New structure.
48445 (grub_efi_vendor_media_device_path_t): New type.
48446 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48447 (struct grub_efi_file_path_device_path): New structure.
48448 (grub_efi_file_path_device_path_t): New type.
48449 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48450 (struct grub_efi_protocol_device_path): New structure.
48451 (grub_efi_protocol_device_path_t): New type.
48452 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48453 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48454 (struct grub_efi_bios_device_path): New structure.
48455 (grub_efi_bios_device_path_t): New type.
48456 (struct grub_efi_disk_io): New structure.
48457 (grub_efi_disk_io_t): New type.
48458 (struct grub_efi_block_io_media): New structure.
48459 (grub_efi_block_io_media_t): New type.
48460 (struct grub_efi_block_io): New structure.
48461 (grub_efi_block_io_t): New type.
48462
48463 * include/grub/misc.h (grub_stop): Removed.
48464 (grub_exit): New prototype.
48465 (grub_abort): Likewise.
48466
48467 * include/grub/disk.h (enum grub_disk_dev_id): Added
48468 GRUB_DISK_DEVICE_EFIDISK_ID.
48469
48470 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48471 disk/efi/efidisk.c.
48472 (kernel_syms.lst): Remove the target if an error occurs.
48473
48474 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48475
48476 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48477 as it was simply too buggy.
48478
48479 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48480
48481 * kern/misc.c (grub_lltoa): New function.
48482 (grub_vsprintf): Added support for the long long suffix,
48483 i.e. "ll".
48484
48485 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48486
48487 * Makefile.in (LDFLAGS): Add variable.
48488 (LD): Remove variable.
48489 * configure.ac: Add -m32 to LDFLAGS.
48490 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48491 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48492 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48493 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48494 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48495 variables.
48496 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48497 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48498 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48499
48500 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48501
48502 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48503 length for unknown glyph.
48504
48505 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48506
48507 Add support for pre-loaded modules into the EFI port.
48508
48509 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48510 completely. Accept one more argument DIR. The caller has changed.
48511
48512 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48513
48514 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48515 (grub_efi_loaded_image_guid): New variable.
48516 (grub_efi_get_loaded_image): New function.
48517 (grub_arch_modules_addr): Likewise.
48518
48519 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48520 prototype.
48521
48522 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48523 (struct grub_efi_loaded_image): New structure.
48524 (grub_efi_loaded_image_t): New type.
48525
48526 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48527
48528 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48529 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48530 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48531
48532 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48533
48534 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48535
48536 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48537
48538 * DISTLIST: Added include/grub/efi/console.h,
48539 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48540 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48541
48542 * include/grub/efi/console.h: New file.
48543 * include/grub/efi/time.h: Likewise.
48544 * include/grub/i386/efi/kernel.h: Likewise.
48545 * kern/efi/init.c: Likewise.
48546 * kern/efi/mm.c: Likewise.
48547 * term/efi/console.c: Likewise.
48548
48549 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48550 (grub_stop): Removed.
48551 (grub_get_rtc): Likewise.
48552 (grub_machine_init): Simply call grub_efi_init.
48553 (grub_machine_fini): Call grub_efi_fini.
48554
48555 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48556 (grub_efi_output_string): Removed.
48557 (grub_efi_stall): New function.
48558 (grub_stop): Likewise.
48559 (grub_get_rtc): Likewise.
48560
48561 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48562 (grub_efi_stall): New prototype.
48563 (grub_efi_allocate_pages): Likewise.
48564 (grub_efi_free_pages): Likewise.
48565 (grub_efi_get_memory_map): Likewise.
48566 (grub_efi_mm_init): Likewise.
48567 (grub_efi_mm_fini): Likewise.
48568 (grub_efi_init): Likewise.
48569 (grub_efi_fini): Likewise.
48570
48571 * include/grub/i386/efi/time.h: Do not include
48572 grub/symbol.h. Include grub/efi/time.h.
48573 (GRUB_TICKS_PER_SECOND): Removed.
48574 (grub_get_rtc): Likewise.
48575
48576 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48577 Added padding. The EFI spec is buggy.
48578 (GRUB_EFI_BLACK): New macro.
48579 (GRUB_EFI_BLUE): Likewise.
48580 (GRUB_EFI_GREEN): Likewise.
48581 (GRUB_EFI_CYAN): Likewise.
48582 (GRUB_EFI_RED): Likewise.
48583 (GRUB_EFI_MAGENTA): Likewise.
48584 (GRUB_EFI_BROWN): Likewise.
48585 (GRUB_EFI_LIGHTGRAY): Likewise.
48586 (GRUB_EFI_BRIGHT): Likewise.
48587 (GRUB_EFI_DARKGRAY): Likewise.
48588 (GRUB_EFI_LIGHTBLUE): Likewise.
48589 (GRUB_EFI_LIGHTGREEN): Likewise.
48590 (GRUB_EFI_LIGHTCYAN): Likewise.
48591 (GRUB_EFI_LIGHTRED): Likewise.
48592 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48593 (GRUB_EFI_YELLOW): Likewise.
48594 (GRUB_EFI_WHITE): Likewise.
48595 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48596 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48597 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48598 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48599 (GRUB_EFI_BACKGROUND_RED): Likewise.
48600 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48601 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48602 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48603 (GRUB_EFI_TEXT_ATTR): Likewise.
48604
48605 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48606 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48607 (kernel_mod_HEADERS): Added efi/time.h.
48608
48609 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48610
48611 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48612 include/grub/efi/api.h, include/grub/efi/console_control.h,
48613 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48614 include/grub/i386/efi/time.h, kern/efi/efi.c,
48615 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48616 and util/i386/efi/grub-mkimage.c.
48617
48618 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48619
48620 * genmk.rb (PModule#rule): Do not export symbols if
48621 #{prefix}_EXPORTS is set to "no".
48622
48623 * conf/i386-efi.mk: New file.
48624 * conf/i386-efi.rmk: Likewise.
48625 * include/grub/efi/api.h: Likewise.
48626 * include/grub/efi/console_control.h: Likewise.
48627 * include/grub/efi/efi.h: Likewise.
48628 * include/grub/efi/pe32.h: Likewise.
48629 * include/grub/i386/efi/time.h: Likewise.
48630 * kern/efi/efi.c: Likewise.
48631 * kern/i386/efi/init.c: Likewise.
48632 * kern/i386/efi/startup.S: Likewise.
48633 * util/i386/efi/grub-mkimage.c: Likewise.
48634
48635 2006-04-17 Marco Gerards <marco@gnu.org>
48636
48637 * include/grub/script.h: Include <grub/parser.h> and
48638 "grub_script.tab.h".
48639 (struct grub_lexer_param): New struct.
48640 (struct grub_parser_param): Likewise.
48641 (grub_script_create_arglist): Pass the state in an argument.
48642 (grub_script_add_arglist): Likewise.
48643 (grub_script_create_cmdline): Likewise.
48644 (grub_script_create_cmdblock): Likewise.
48645 (grub_script_create_cmdif): Likewise.
48646 (grub_script_create_cmdmenu): Likewise.
48647 (grub_script_add_cmd): Likewise.
48648 (grub_script_arg_add): Likewise.
48649 (grub_script_lexer_ref): Likewise.
48650 (grub_script_lexer_deref): Likewise.
48651 (grub_script_lexer_record_start): Likewise.
48652 (grub_script_lexer_record_stop): Likewise.
48653 (grub_script_mem_record): Likewise.
48654 (grub_script_mem_record_stop): Likewise.
48655 (grub_script_malloc): Likewise.
48656 (grub_script_yylex): Likewise.
48657 (grub_script_yyparse): Likewise.
48658 (grub_script_yyerror): Likewise.
48659 (grub_script_yylex): Likewise.
48660 (grub_script_lexer_init): Return the state.
48661
48662 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48663 (grub_script_lexer_done): Likewise.
48664 (grub_script_lexer_getline): Likewise.
48665 (grub_script_lexer_refs): Likewise.
48666 (script): Likewise.
48667 (newscript): Likewise.
48668 (record): Likewise.
48669 (recording): Likewise.
48670 (recordpos): Likewise.
48671 (recordlen): Likewise.
48672 (grub_script_lexer_init): Return the state instead of setting
48673 global variables.
48674 (grub_script_lexer_ref): Use the newly added argument for state
48675 instead of globals.
48676 (grub_script_lexer_deref): Likewise.
48677 (grub_script_lexer_record_start): Likewise.
48678 (grub_script_lexer_record_stop): Likewise.
48679 (recordchar): Likewise.
48680 (nextchar): Likewise.
48681 (grub_script_yylex2): Likewise.
48682 (grub_script_yylex): Likewise.
48683 (grub_script_yyerror): Likewise.
48684
48685 * normal/parser.y (func_mem): Removed variable.
48686 (menu_entry): Likewise.
48687 (err): Likewise.
48688 (%lex-param): New parser option.
48689 (%parse-param): Likewise.
48690 (script): Always return the AST.
48691 (argument): Pass the state around.
48692 (arguments): Likewise.
48693 (grubcmd): Likewise.
48694 (commands): Likewise.
48695 (function): Likewise.
48696 (menuentry): Likewise.
48697 (if_statement): Likewise.
48698 (if): Likewise.
48699
48700 * normal/script.c (grub_script_memused): Removed variable.
48701 (grub_script_parsed): Likewise.
48702 (grub_script_malloc): Added a state argument. Use that instead of
48703 global variables.
48704 (grub_script_mem_record): Likewise.
48705 (grub_script_mem_record_stop): Likewise.
48706 (grub_script_arg_add): Likewise.
48707 (grub_script_add_arglist): Likewise.
48708 (grub_script_create_cmdline): Likewise.
48709 (grub_script_create_cmdif): Likewise.
48710 (grub_script_create_cmdmenu): Likewise.
48711 (grub_script_add_cmd): Likewise.
48712 (grub_script_parse): Setup the state before calling the parser.
48713
48714 2006-04-16 Marco Gerards <marco@gnu.org>
48715
48716 * normal/command.c (grub_command_init): Remove the title command.
48717
48718 * normal/lexer.c (grub_script_yylex): Renamed from this...
48719 (grub_script_yylex2): ... to this.
48720 (grub_script_yylex): New function. Temporary
48721 introduced to filter some tokens.
48722 (grub_script_yyerror): Print a newline.
48723
48724 * normal/main.c (read_config_file): Output information about the
48725 lines that contain errors. Wait for a key after all lines have
48726 been processed. Don't return an empty menu.
48727
48728 * normal/parser.y (func_mem): Don't initialize.
48729 (menu_entry): Likewise.
48730 (err): New variable.
48731 (script): Don't return anything when an error was encountered.
48732 (ws, returns): Removed rules.
48733 (argument): Disabled concatenated variable support.
48734 (arguments): Remove explicit separators.
48735 (grubcmd): Likewise.
48736 (function): Likewise.
48737 (menuentry): Likewise.
48738 (if): Likewise.
48739 (commands): Likewise. Add error handling.
48740
48741 * normal/script.c (grub_script_create_cmdline): If
48742 `grub_script_parsed' is 0, assume the parser encountered an error.
48743
48744 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48745
48746 * configure.ac: Add support for EFI. Fix the typo
48747 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48748
48749 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48750
48751 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48752 foreign multibyte characters should be shown correctly.
48753
48754 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48755
48756 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48757 calculation.
48758 (read_config_file): Made it to close file before returning.
48759
48760 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48761
48762 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48763 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48764 video/i386/pc/vbefill.c.
48765
48766 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48767 video/i386/pc/vbefill.c.
48768
48769 * include/grub/video.h (grub_video_blit_format): New enum.
48770 (grub_video_mode_info): Added new member blit_format.
48771 (grub_video_get_blit_format): New function prototype.
48772
48773 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48774 function prototype.
48775 (grub_video_vbe_map_rgb): Likewise.
48776 (grub_video_vbe_unmap_color): Likewise.
48777
48778 * include/grub/i386/pc/vbeblit.h: New file.
48779
48780 * include/grub/i386/pc/vbefill.h: New file.
48781
48782 * video/video.c (grub_video_get_blit_format): New function.
48783 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48784 (grub_video_vbe_map_rgb): Likewise.
48785 (grub_video_vbe_unmap_color): Likewise.
48786
48787 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48788 optimized fills.
48789 (grub_video_vbe_blit_render_target): Changed to use more optimized
48790 blits.
48791 (grub_video_vbe_setup): Added detection for optimized settings.
48792 (grub_video_vbe_create_render_target): Likewise.
48793
48794 * video/i386/pc/vbeblit.c: New file.
48795
48796 * video/i386/pc/vbefill.c: New file.
48797
48798 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48799
48800 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48801 here...
48802
48803 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48804 parsing to support both hex and dec ranges. If filename was missing
48805 show usage information.
48806
48807 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48808
48809 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48810 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48811
48812 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48813 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48814 (video_mod_SOURCES): Added.
48815 (video_mod_CFLAGS): Likewise.
48816 (video_mod_LDFLAGS): Likewise.
48817 (gfxterm_mod_SOURCES): Likewise.
48818 (gfxterm_mod_CFLAGS): Likewise.
48819 (gfxterm_mod_LDFLAGS): Likewise.
48820 (videotest_mod_SOURCES): Likewise.
48821 (videotest_mod_CFLAGS): Likewise.
48822 (videotest_mod_LDFLAGS): Likewise.
48823 (vesafb_mod_SOURCES): Removed.
48824 (vesafb_mod_CFLAGS): Likewise.
48825 (vesafb_mod_LDFLAGS): Likewise.
48826 (vga_mod_SOURCES): Likewise.
48827 (vga_mod_CFLAGS): Likewise.
48828 (vga_mod_LDFLAGS): Likewise.
48829
48830 * commands/videotest.c: New file.
48831
48832 * font/manager.c (fill_with_default_glyph): Modified to use
48833 grub_font_glyph.
48834 (grub_font_get_glyph): Likewise.
48835 (fontmanager): Renamed from this...
48836 (font_manager): ... to this.
48837
48838 * include/grub/font.h (grub_font_glyph): Added new structure.
48839 (grub_font_get_glyph): Modified to use grub_font_glyph.
48840
48841 * include/grub/misc.h (grub_abs): Added as inline function.
48842
48843 * include/grub/video.h: New file.
48844
48845 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48846 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48847 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48848 (grub_vbe_get_controller_info): Renamed from this...
48849 (grub_vbe_bios_get_controller_info): ... to this.
48850 (grub_vbe_get_mode_info): Renamed from this...
48851 (grub_vbe_bios_get_mode_info): ... to this.
48852 (grub_vbe_set_mode): Renamed from this...
48853 (grub_vbe_bios_set_mode): ... to this.
48854 (grub_vbe_get_mode): Renamed from this...
48855 (grub_vbe_bios_get_mode): ... to this.
48856 (grub_vbe_set_memory_window): Renamed from this...
48857 (grub_vbe_bios_set_memory_window): ... to this.
48858 (grub_vbe_get_memory_window): Renamed from this...
48859 (grub_vbe_bios_get_memory_window): ... to this.
48860 (grub_vbe_set_scanline_length): Renamed from this...
48861 (grub_vbe_set_scanline_length): ... to this.
48862 (grub_vbe_get_scanline_length): Renamed from this...
48863 (grub_vbe_bios_get_scanline_length): ... to this.
48864 (grub_vbe_set_display_start): Renamed from this...
48865 (grub_vbe_bios_set_display_start): ... to this.
48866 (grub_vbe_get_display_start): Renamed from this...
48867 (grub_vbe_bios_get_display_start): ... to this.
48868 (grub_vbe_set_palette_data): Renamed from this...
48869 (grub_vbe_bios_set_palette_data): ... to this.
48870 (grub_vbe_set_pixel_rgb): Removed.
48871 (grub_vbe_set_pixel_index): Likewise.
48872
48873 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48874 from this...
48875 (grub_vbe_bios_get_controller_info): ... to this.
48876 (grub_vbe_get_mode_info): Renamed from this...
48877 (grub_vbe_bios_get_mode_info): ... to this.
48878 (grub_vbe_set_mode): Renamed from this...
48879 (grub_vbe_bios_set_mode): ... to this.
48880 (grub_vbe_get_mode): Renamed from this...
48881 (grub_vbe_bios_get_mode): ... to this.
48882 (grub_vbe_set_memory_window): Renamed from this...
48883 (grub_vbe_bios_set_memory_window): ... to this.
48884 (grub_vbe_get_memory_window): Renamed from this...
48885 (grub_vbe_bios_get_memory_window): ... to this.
48886 (grub_vbe_set_scanline_length): Renamed from this...
48887 (grub_vbe_set_scanline_length): ... to this.
48888 (grub_vbe_get_scanline_length): Renamed from this...
48889 (grub_vbe_bios_get_scanline_length): ... to this.
48890 (grub_vbe_set_display_start): Renamed from this...
48891 (grub_vbe_bios_set_display_start): ... to this.
48892 (grub_vbe_get_display_start): Renamed from this...
48893 (grub_vbe_bios_get_display_start): ... to this.
48894 (grub_vbe_set_palette_data): Renamed from this...
48895 (grub_vbe_bios_set_palette_data): ... to this.
48896 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48897 getting corrupted after calling it. Added more pushes and pops.
48898 (grub_vbe_bios_set_mode): Likewise.
48899 (grub_vbe_bios_get_mode): Likewise.
48900 (grub_vbe_bios_get_memory_window): Likewise.
48901 (grub_vbe_bios_set_scanline_length): Likewise.
48902 (grub_vbe_bios_get_scanline_length): Likewise.
48903 (grub_vbe_bios_get_display_start): Likewise.
48904 (grub_vbe_bios_set_palette_data): Likewise.
48905
48906 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48907 (cl_insert): Likewise.
48908 (cl_delete): Likewise.
48909
48910 * term/gfxterm.c: New file.
48911
48912 * term/i386/pc/vesafb.c: Removed file.
48913
48914 * video/video.c: New file.
48915
48916 * video/i386/pc/vbe.c (real2pm): Added new function.
48917 (grub_video_vbe_draw_pixel): Likewise.
48918 (grub_video_vbe_get_video_ptr): Likewise.
48919 (grub_video_vbe_get_pixel): Likewise
48920 (grub_video_vbe_init): Likewise.
48921 (grub_video_vbe_fini): Likewise.
48922 (grub_video_vbe_setup): Likewise.
48923 (grub_video_vbe_get_info): Likewise.
48924 (grub_video_vbe_set_palette): Likewise.
48925 (grub_video_vbe_get_palette): Likewise.
48926 (grub_video_vbe_set_viewport): Likewise.
48927 (grub_video_vbe_get_viewport): Likewise.
48928 (grub_video_vbe_map_color): Likewise.
48929 (grub_video_vbe_map_rgb): Likewise.
48930 (grub_video_vbe_map_rgba): Likewise.
48931 (grub_video_vbe_unmap_color): Likewise.
48932 (grub_video_vbe_fill_rect): Likewise.
48933 (grub_video_vbe_blit_glyph): Likewise.
48934 (grub_video_vbe_blit_bitmap): Likewise.
48935 (grub_video_vbe_blit_render_target): Likewise.
48936 (grub_video_vbe_scroll): Likewise.
48937 (grub_video_vbe_swap_buffers): Likewise.
48938 (grub_video_vbe_create_render_target): Likewise.
48939 (grub_video_vbe_delete_render_target): Likewise.
48940 (grub_video_vbe_set_active_render_target): Likewise.
48941 (grub_vbe_set_pixel_rgb): Remove function.
48942 (grub_vbe_set_pixel_index): Likewise.
48943 (index_color_mode): Remove static variable.
48944 (active_mode): Likewise.
48945 (framebuffer): Likewise.
48946 (bytes_per_scan_line): Likewise.
48947 (grub_video_vbe_adapter): Added new static variable.
48948 (framebuffer): Likewise.
48949 (render_target): Likewise.
48950 (initial_mode): Likewise.
48951 (mode_in_use): Likewise.
48952 (mode_list): Likewise.
48953
48954 2006-03-10 Marco Gerards <marco@gnu.org>
48955
48956 * configure.ac (AC_INIT): Bumped to 1.93.
48957
48958 * DISTLIST: Added `include/grub/hfs.h'.
48959
48960 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48961
48962 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48963 18H, which might help the BIOS falling back to next boot media.
48964
48965 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48966
48967 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48968 Poe Chen <poe.poechen@gmail.com>.
48969
48970 2006-01-17 Marco Gerards <marco@gnu.org>
48971
48972 * include/grub/normal.h: Include <grub/script.h>.
48973 (grub_command_list): Removed struct.
48974 (grub_command_list_t): Removed type.
48975 (grub_menu_entry): Remove members `num' and `command_list'. Add
48976 members `commands' and `sourcecode'.
48977 * include/grub/script.h: Add inclusion guards.
48978 (grub_script_cmd_menuentry): New struct.
48979 (grub_script_execute_menuentry): New prototype.
48980 (grub_script_lexer_record_start): Likewise.
48981 (grub_script_lexer_record_stop): Likewise.
48982 * normal/execute.c (grub_script_execute_menuentry): New function.
48983 * normal/lexer.c (record, recording, recordpos, recordlen): New
48984 variables.
48985 (grub_script_lexer_record_start): New function.
48986 (grub_script_lexer_record_stop): Likewise.
48987 (recordchar): Likewise.
48988 (nextchar): Likewise.
48989 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48990 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48991 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48992 (current_menu): New variable.
48993 (free_menu): Mainly rewritten.
48994 (grub_normal_menu_addentry): New function.
48995 (read_config_file): Rewritten.
48996 * normal/menu.c (run_menu_entry): Mainly rewritten.
48997 * normal/menu_entry.c (make_screen): Rewritten the code to insert
48998 the menu entry.
48999 (run): Mainly rewritten.
49000 * normal/parser.y (menu_entry): New variable.
49001 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49002 (menuentry): New rule.
49003 (command): Add `menuentry'.
49004 (if_statement): Allow additional returns before `fi'.
49005 * normal/script.c (grub_script_create_cmdmenu): New function.
49006
49007 2006-01-03 Marco Gerards <marco@gnu.org>
49008
49009 * INSTALL: GNU Bison is required.
49010 * configure.ac: Rewritten the test to detect Bison.
49011 * Makefile.in (YACC): New variable. Reported by Xun Sun
49012 <xun.sun.cn@gmail.com>.
49013
49014 2006-01-03 Marco Gerards <marco@gnu.org>
49015
49016 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49017 the HFS+ filesystem to filesystem blocks.
49018 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49019 GCC warning is silenced.
49020
49021 2006-01-03 Marco Gerards <marco@gnu.org>
49022
49023 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49024 read from disk from big endian to host byte order.
49025
49026 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49027
49028 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49029 documentation.
49030 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49031 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49032 embedded HFS+ filesystem.
49033 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49034 (grub_hfs_sblock): Move from here...
49035 * include/grub/hfs.h: To here... New file.
49036 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49037 documentation.
49038 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49039 New macros.
49040 (grub_hfsplus_volheader): Change type of member `magic' to
49041 `grub_uint16_t'.
49042 (grub_hfsplus_data): Add new member `embedded_offset'.
49043 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49044 returned block.
49045 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49046 Calculate the offset.
49047
49048 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49049
49050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49051 Removed.
49052 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49053
49054 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49055
49056 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49057 ENV->NAME is NULL after allocating ENV->VALUE.
49058
49059 2005-12-25 Marco Gerards <marco@gnu.org>
49060
49061 * kern/env.c (grub_env_set): Rewritten the error handling code.
49062
49063 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49064
49065 * geninit.sh: Made more robust, and more portable.
49066
49067 2005-12-25 Marco Gerards <marco@gnu.org>
49068
49069 Add support for Apple HFS+ filesystems.
49070
49071 * fs/hfsplus.c: New file.
49072
49073 * DISTLIST: Added `fs/hfsplus.c'.
49074
49075 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49076 (hfsplus_mod_SOURCES): New variable.
49077 (hfsplus_mod_CFLAGS): Likewise.
49078 (hfsplus_mod_LDFLAGS): Likewise.
49079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49080 (grub_setup_SOURCES): Likewise.
49081 (grub_mkdevicemap_SOURCES): Likewise.
49082 (grub_emu_SOURCES): Likewise.
49083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49084
49085 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49086
49087 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49088
49089 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49090
49091 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49092 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49093 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49094 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49095 normal/lexer.c, normal/parser.y, normal/script.c, and
49096 partmap/gpt.c.
49097 Removed kern/sparc64/cache.c.
49098
49099 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49100 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49101 grub_emu_init.c.
49102
49103 * configure.ac (AC_INIT): Bumped to 1.92.
49104
49105 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49106
49107 * kern/err.c (grub_error_push): Added new function to support error
49108 stacks.
49109 (grub_error_pop): Likewise.
49110 (grub_error_stack_items): New local variable to support error stacks.
49111 (grub_error_stack_pos): Likewise.
49112 (grub_error_stack_assert): Likewise.
49113 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49114 stack depth.
49115 (grub_print_error): Added support to print errors from error stack.
49116
49117 * include/grub/err.h (grub_error_push): Added function prototype.
49118 (grub_error_pop): Likewise.
49119
49120 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49121
49122 * configure.ac: Accept `powerpc64' as host_cpu.
49123 (amd64): Rename to `biarch32'.
49124
49125 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49126 non-cacheline-aligned addresses.
49127
49128 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49129 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49130 if `size' is non-zero.
49131
49132 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
49133
49134 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49135 and `cd' to make sure the filename is not prefixed with a
49136 directory name.
49137 (pkgdata_MODULES): Add `gpt.mod'.
49138 (gpt_mod_SOURCES): New variable.
49139 (gpt_mod_CFLAGS): Likewise.
49140 (gpt_mod_LDFLAGS): Likewise.
49141
49142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49143
49144 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49145 New macro.
49146
49147 * partmap/gpt.c: New file.
49148
49149 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49150 GPT partition map is detected.
49151
49152 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49153
49154 * commands/i386/pc/play.c: New file.
49155 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49156 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49157 macros.
49158
49159 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
49160
49161 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49162 ((unused))' to silence gcc warning.
49163
49164 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49165
49166 * configure.ac: Correct `AC_PROG_YACC' test.
49167
49168 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49169
49170 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49171 check before installing files.
49172
49173 2005-11-22 Mike Small <smallm@panix.com>
49174
49175 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49176 number regex so multidigit numbers are recognized correctly.
49177
49178 2005-11-22 Mike Small <smallm@panix.com>
49179
49180 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49181 debugging message before attempting to claim memory.
49182 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49183 multiple addresses in case of failure.
49184
49185 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49186
49187 * term/tparm.c (get_space): Remove empty `if' statement.
49188
49189 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49190
49191 * kern/parser.c (check_varstate): Rename `state' to 's'.
49192
49193 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49194
49195 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49196 variable definitions to the beginning of each function. Sort stack
49197 variables by size.
49198 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49199 `buf' argument to `char *'.
49200
49201 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49202
49203 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49204 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49205 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49206 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49207 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49208 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49209 configfile.mod, search.mod, gzio.mod and test.mod.
49210 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49211 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49212 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49213 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49214 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49215 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49216 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49217 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49218 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49219 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49220 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49221 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49222 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49223 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49224 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49225 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49226 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49227 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49228 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49229 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49230 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49231 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49232 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49233
49234 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49235 `grep --include'.
49236 (pkgdata_MODULES): Add test.mod.
49237
49238 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49239
49240 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49241 appending to variables with "+=".
49242 (PModule): Use full pathname to generate *.lst filenames.
49243
49244 * Makefile.in: Fixed list rules moved from genmk.rb.
49245 (.DELETE_ON_ERROR): New special target.
49246 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49247
49248 * conf/i386-pc.rmk: Include conf/common.mk.
49249 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49250 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49251 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49252 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49253 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49254 configfile.mod, search.mod, gzio.mod and test.mod.
49255 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49257 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49258 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49259 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49260 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49261 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49262 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49263 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49264 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49265 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49266 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49267 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49268 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49269 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49270 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49271 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49272 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49273 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49274 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49275 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49276 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49277 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49278 here...
49279 * conf/common.rmk: ... to here. New file.
49280
49281 * conf/common.mk: New file.
49282
49283 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49284
49285 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49286 (grub_script.tab.c): ... here.
49287
49288 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49289 (grub_script.tab.c): ... here.
49290
49291 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49292 (grub_script.tab.c): ... here.
49293
49294 * normal/command.c (grub_command_find): Fixed a memory leak of
49295 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49296
49297 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49298
49299 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49300 "@" which marks the start of a comment on ARM.
49301 (VARIABLE): Likewise.
49302
49303 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49304
49305 Add support for Linux/ADFS partition tables.
49306
49307 * partmap/acorn.c: New file.
49308
49309 * include/grub/acorn_filecore.h: Likewise.
49310
49311 * DISTLIST: Added `partmap/acorn.c' and
49312 `include/grub/acorn_filecore.h'.
49313
49314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49315 `partmap/acorn.c'.
49316 (pkgdata_MODULES): Add `acorn.mod'.
49317 (acorn_mod_SOURCES): New variable.
49318 (acorn_mod_CFLAGS): Likewise.
49319
49320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49321 `partmap/acorn.c'.
49322 (pkgdata_MODULES): Add `acorn.mod'.
49323 (acorn_mod_SOURCES): New variable.
49324 (acorn_mod_CFLAGS): Likewise.
49325
49326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49327 (pkgdata_MODULES): Add `acorn.mod'.
49328 (acorn_mod_SOURCES): New variable.
49329 (acorn_mod_CFLAGS): Likewise.
49330 (acorn_mod_LDFLAGS): Likewise.
49331
49332 * include/types.h (grub_disk_addr_t): New typedef.
49333
49334 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
49335
49336 * geninit.sh: New file.
49337
49338 * geninitheader.sh: Likewise.
49339
49340 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49341 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49342 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49343 * commands/configfile.c (grub_configfile_init)
49344 (grub_configfile_fini): Likewise.
49345 * commands/default.c (grub_default_init, grub_default_fini):
49346 Likewise.
49347 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49348 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49349 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49350 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49351 Likewise.
49352 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49353 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49354 Likewise.
49355 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
49356 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
49357 Likewise.
49358 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49359 Likewise.
49360 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
49361 Likewise.
49362 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49363 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49364 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49365 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49366 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49367 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49368 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49369 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49370 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49371 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49372 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49373 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49374 * partmap/amiga.c (grub_amiga_partition_map_init)
49375 (grub_amiga_partition_map_fini): Likewise.
49376 * partmap/apple.c (grub_apple_partition_map_init)
49377 (grub_apple_partition_map_fini): Likewise.
49378 * partmap/pc.c (grub_pc_partition_map_init)
49379 (grub_pc_partition_map_fini): Likewise.
49380 * partmap/sun.c (grub_sun_partition_map_init,
49381 grub_sun_partition_map_fini): Likewise.
49382 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49383 Likewise.
49384
49385 * util/grub-emu.c: Include <grub_modules_init.h>.
49386 (main): Don't initialize and de-initialize any modules directly,
49387 use `grub_init_all' and `grub_fini_all' instead.
49388
49389 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49390 `grub_vesafb_mod_init'.
49391 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49392 all users.
49393 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49394 `grub_vga_mod_init'. Updated all users.
49395 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
49396
49397 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49398 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49399 rules.
49400
49401 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49402 Generate a function to initialize the module in utilities.
49403 Updated all callers.
49404 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49405 initialize the module in utilities. Updated all callers.
49406
49407 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49408
49409 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49410 escape sequence and a literal ^L to clear the screen.
49411
49412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49413 when returning from Open Firmware.
49414
49415 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49416
49417 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49418 (grub_ofconsole_height): Likewise.
49419 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49420 manually insert a '\n'.
49421 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49422 `grub_ofconsole_height'. Return early if these are already set.
49423
49424 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49425
49426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49427 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49428 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49429 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49430 and `normal/script.c'.
49431 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49432 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49433 (test_mod_SOURCES): New variable.
49434 (test_mod_CFLAGS): Likewise.
49435 (test_mod_LDFLAGS): Likewise.
49436 (pkgdata_MODULES): Add `test.mod'.
49437 (grub_script.tab.c): New rule.
49438 (grub_script.tab.h): Likewise.
49439
49440 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
49441
49442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49443 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49444 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49445 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49446 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49447 (test_mod_SOURCES): New variable.
49448 (test_mod_CFLAGS): Likewise.
49449 (pkgdata_MODULES): Add `test.mod'.
49450 (grub_script.tab.c): New rule.
49451 (grub_script.tab.h): Likewise.
49452
49453 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
49454
49455 Add initial scripting support.
49456
49457 * commands/test.c: New file.
49458 * include/grub/script.h: Likewise.
49459 * normal/execute.c: Likewise.
49460 * normal/function.c: Likewise.
49461 * normal/lexer.c: Likewise.
49462 * normal/parser.y: Likewise.
49463 * normal/script.c: Likewise.
49464
49465 * configure.ac: Add `AC_PROG_YACC' test.
49466
49467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49468 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49469 `normal/function.c' and `normal/script.c'.
49470 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49471 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49472 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49473 variables.
49474 (pkgdata_MODULES): Add `test.mod'.
49475 (grub_script.tab.c): New rule.
49476 (grub_script.tab.h): Likewise.
49477
49478 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49479
49480 * include/grub/normal.h (grub_test_init): New prototype.
49481 (grub_test_fini): Likewise.
49482
49483 * normal/command.c: Include <grub/script.h>.
49484 (grub_command_execute): Rewritten.
49485
49486 * util/grub-emu.c (main): Call `grub_test_init' and
49487 `grub_test_fini'.
49488
49489 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49490
49491 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49492 to 0.
49493 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49494 there are no pending characters.
49495
49496 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49497
49498 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49499 `grub_strndup' to drop device arguments. Replace unnecessary
49500 `grub_strndup' with `grub_strdup'.
49501
49502 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49503
49504 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49505 `debug' environment variable has been set.
49506
49507 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
49508
49509 * Makefile.in (install-local): Use $(DATA).
49510 (uninstall): Likewise.
49511 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49512 (sbin_UTILITIES): ... to here.
49513 (sbin_SCRIPTS): New variable.
49514 (grub_install_SOURCES): New variable.
49515 * util/powerpc/ieee1275/grub-install.in: New file.
49516 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49517 variable.
49518 (add_segments): Call `grub_util_get_path'.
49519
49520 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49521
49522 From Timothy Baldwin:
49523 * commands/ls.c (grub_ls_list_files): Close FILE with
49524 grub_file_close.
49525 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49526
49527 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
49528
49529 * include/grub/parser.h: New file.
49530
49531 * kern/parser.c: Likewise.
49532
49533 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49534 (grub_setup_SOURCES): Likewise.
49535 (grub_probefs_SOURCES): Likewise.
49536 (grub_emu_SOURCES): Likewise.
49537 (kernel_img_HEADERS): Add `parser.h'.
49538
49539 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49540 (grub_emu_SOURCES): Add `kern/parser.c'.
49541 (grubof_SOURCES): Likewise.
49542
49543 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49544 (grubof_SOURCES): Add `kern/parser.c'.
49545
49546 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49547
49548 * kern/misc.c (grub_split_cmdline): Removed function.
49549
49550 * kern/rescue.c: Include <grub/parser.h>.
49551 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49552 of `grub_split_cmdline'.
49553
49554 * normal/command.c: Include <grub/parser.h>.
49555 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49556 of `grub_split_cmdline'.
49557
49558 * normal/completion.c: Include <grub/parser.h>.
49559 (cmdline_state): New variable.
49560 (iterate_dir): End the filename with a quote depending on the
49561 command line state.
49562 (get_state): new function.
49563 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49564 split the arguments and determine the current argument. When the
49565 argument string is not quoted, escape all spaces.
49566
49567 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49568
49569 * normal/sparc64/setjmp.S: New file.
49570
49571 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49572
49573 * include/grub/sparc64/libgcc.h: New file.
49574 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49575 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49576 normal/sparc64/setjmp.c.
49577
49578 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49579
49580 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49581 * kern/sparc64/cache.S: New file.
49582 * kern/sparc64/cache.c: Removed.
49583 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49584 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49585 -mtune=ultrasparc.
49586 (COMMON_LDFLAGS): Add -melf64_sparc.
49587 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49588 (grubof_SOURCES): Use cache.S instead of cache.c.
49589 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49590 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49591 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49592 commented though.
49593 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49594 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49595 (linux_mod_CFLAGS): Commented out.
49596 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49597 out because module isn't built.
49598 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49599 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49600 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49601 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49602 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49603 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49604 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49605 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49606 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49607 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49608 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49609 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49610 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49611 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49612
49613 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49614
49615 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49616 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49617 longer, because HFS should not be used on PC.
49618
49619 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49620
49621 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49622 consistently within the loop.
49623
49624 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
49625
49626 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49627 directory can not be read.
49628
49629 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49630
49631 * configure.ac (AC_INIT): Increase the version number to 1.91.
49632
49633 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49634 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49635 term/i386/pc/serial.c.
49636
49637 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49638
49639 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49640 file size must be permitted.
49641
49642 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49643 between %ah and %al.
49644
49645 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49646
49647 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49648 grub_uint64_t.
49649 Call the hook with a NUL-terminated filename.
49650 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49651 grub_cpu_to_be32.
49652
49653 * kern/term.c (cursor_state): New variable.
49654 (grub_term_set_current): Reset the cursor state on a new
49655 terminal.
49656 (grub_setcursor): Rewritten to use CURSOR_STATE.
49657 (grub_getcursor): New function.
49658
49659 * include/grub/term.h (grub_getcursor): New prototype.
49660
49661 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49662 integers on ARM. Reported by Timothy Baldwin
49663 <T.E.Baldwin99@members.leeds.ac.uk>.
49664
49665 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
49666
49667 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49668 allocated.
49669 (grub_sfs_dir): Likewise.
49670
49671 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
49672
49673 Add support for the SFS filesystem.
49674
49675 * fs/sfs.c: New file.
49676
49677 * DISTLIST: Added `fs/sfs.c'.
49678
49679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49680 (grub_probefs_SOURCES): Likewise.
49681 (grub_emu_SOURCES): Likewise.
49682 (pkgdata_MODULES): Add `sfs.mod'.
49683 (sfs_mod_SOURCES): New variable.
49684 (sfs_mod_CFLAGS): Likewise.
49685 (sfs_mod_LDFLAGS): Likewise.
49686
49687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49688 (pkgdata_MODULES): Add `sfs.mod'.
49689 (sfs_mod_SOURCES): New variable.
49690 (sfs_mod_CFLAGS): Likewise.
49691
49692 * util/grub-emu.c (main): Call `grub_sfs_init' and
49693 `grub_sfs_fini'.
49694
49695 * include/grub/fs.h (grub_sfs_init): New prototype.
49696 (grub_sfs_fini): Likewise.
49697
49698 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
49699
49700 Add support for the AFFS filesystem.
49701
49702 * fs/affs.c: New file.
49703
49704 * DISTLIST: Added `fs/affs.c'.
49705
49706 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49707 (grub_probefs_SOURCES): Likewise.
49708 (grub_emu_SOURCES): Likewise.
49709 (pkgdata_MODULES): Add `affs.mod'.
49710 (affs_mod_SOURCES): New variable.
49711 (affs_mod_CFLAGS): Likewise.
49712 (affs_mod_LDFLAGS): Likewise.
49713
49714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49715 (pkgdata_MODULES): Add `affs.mod'.
49716 (affs_mod_SOURCES): New variable.
49717 (affs_mod_CFLAGS): Likewise.
49718
49719 * util/grub-emu.c (main): Call `grub_affs_init' and
49720 `grub_affs_fini'.
49721
49722 * include/grub/fs.h (grub_affs_init): New prototype.
49723 (grub_affs_fini): Likewise.
49724
49725 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49726
49727 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49728
49729 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49730
49731 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49732 `-m32' to CFLAGS.
49733
49734 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49735 linking.
49736
49737 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49738 (COMMON_LDFLAGS): New variable.
49739 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49740 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49741 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49742 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49743 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49744 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49745 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49746 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49747 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49748 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49749 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49750 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49751 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49752 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49753 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49754 variables.
49755 (normal_mod_ASFLAGS): Add `-m32'.
49756
49757 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49758 (grub_host_size_t, grub_host_ssize_t): New types.
49759 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
49760 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
49761 `GRUB_HOST_SIZEOF_VOID_P'.
49762
49763 * include/grub/kernel.h (struct grub_module_header): Type of
49764 member offset changed to `grub_host_off_t'. Type of member size
49765 changed to `grub_host_size_t'.
49766 (struct grub_module_info): Type of member offset changed to
49767 `grub_host_off_t'. Type of member size changed to
49768 `grub_host_size_t'.
49769
49770 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49771
49772 Make GRUB's kernel compliant to Multiboot Specification.
49773
49774 * kern/i386/pc/startup.S (multiboot_header): New label.
49775 (multiboot_entry): Likewise.
49776 (multiboot_trampoline): Likewise.
49777
49778 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49779 Increased to 0x4A0.
49780
49781 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49782 put parentheses after a question mark.
49783 [!GRUB_UTIL] (my_mod): New variable.
49784
49785 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49786
49787 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
49788
49789 Adds support for the XFS filesystem. Btrees are not supported
49790 yet.
49791
49792 * fs/xfs.c: New file.
49793
49794 * DISTLIST: Added `fs/xfs.c'.
49795
49796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49797 (grub_probefs_SOURCES): Likewise.
49798 (grub_emu_SOURCES): Likewise.
49799 (pkgdata_MODULES): Add `xfs.mod'.
49800 (xfs_mod_SOURCES): New variable.
49801 (xfs_mod_CFLAGS): Likewise.
49802
49803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49804 (pkgdata_MODULES): Add `xfs.mod'.
49805 (xfs_mod_SOURCES): New variable.
49806 (xfs_mod_CFLAGS): Likewise.
49807
49808 * util/grub-emu.c (main): Call `grub_xfs_init' and
49809 `grub_xfs_fini'.
49810
49811 * include/grub/fs.h (grub_xfs_init): New prototype.
49812 (grub_xfs_fini): Likewise.
49813
49814
49815 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49816
49817 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49818 color modes, allow greater than 16 colors to be configured as
49819 a default palette.
49820
49821 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49822
49823 * normal/completion.c (complete_arguments): Add the qualifier
49824 const into OPTIONS.
49825
49826 From Omniflux <omniflux+lists@omniflux.com>:
49827 * include/grub/terminfo.h: New file.
49828 * include/grub/tparm.h: Likewise.
49829 * include/grub/i386/pc/serial.h: Likewise.
49830 * term/terminfo.c: Likewise.
49831 * term/tparm.c: Likewise.
49832 * term/i386/pc/serial.c: Likewise.
49833 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49834 serial.mod.
49835 (terminfo_mod_SOURCES): New variable.
49836 (terminfo_mod_CFLAGS): Likewise.
49837 (serial_mod_SOURCES): Likewise.
49838 (serial_mod_CFLAGS): Likewise.
49839
49840 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49841
49842 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49843 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49844 and kern/powerpc/ieee1275/cmain.c, respectively.
49845
49846 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49847 * kern/powerpc/ieee1275/crt0.S: ... here.
49848
49849 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49850 * kern/powerpc/ieee1275/cmain.c: ... here.
49851
49852 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49853 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49854 instead of boot/powerpc/ieee1275/crt0.S and
49855 boot/powerpc/ieee1275/cmain.c, respectively.
49856
49857 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49858 sectors. It was not used anyway.
49859
49860 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49861
49862 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49863 `unused parameter' warning.
49864
49865 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49866
49867 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49868 function.
49869 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49870 getcharwidth.
49871
49872 2005-08-28 Marco Gerards <metgerards@student.han.nl>
49873
49874 * include/grub/normal.h (enum grub_completion_type): Added
49875 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49876
49877 * normal/cmdline.c (print_completion): Handle
49878 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49879 * normal/menu_entry.c (store_completion): Likewise.
49880
49881 * normal/completion.c (complete_arguments): New function.
49882 (grub_normal_do_completion): Call `complete_arguments' when the
49883 current words start with a dash.
49884
49885 2005-08-27 Marco Gerards <metgerards@student.han.nl>
49886
49887 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49888 `gzio.mod' instead of `io.mod').
49889
49890 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49891
49892 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49893 (DISTDIRS): Added io and video.
49894 Rewrite the search routine to make an output consistently.
49895
49896 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49897 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49898 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49899 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49900 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49901 util/powerpc/ieee1275/misc.c.
49902
49903 * include/grub/gzio.h: New file.
49904 * io/gzio.c: Likewise.
49905
49906 * kern/file.c (grub_file_close): Call grub_device_close only if
49907 FILE->DEVICE is not NULL.
49908
49909 * include/grub/mm.h [!NULL] (NULL): New macro.
49910
49911 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49912
49913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49914 (pkgdata_MODULES): Added gzio.mod.
49915 (gzio_mod_SOURCES): New variable.
49916 (gzio_mod_CFLAGS): Likewise.
49917
49918 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49919 (pkgdata_MODULES): Added gzio.mod.
49920 (gzio_mod_SOURCES): New variable.
49921 (gzio_mod_CFLAGS): Likewise.
49922
49923 * commands/cat.c: Include grub/gzio.h.
49924 (grub_cmd_cat): Use grub_gzfile_open instead of
49925 grub_file_open.
49926
49927 * commands/cmp.c: Include grub/gzio.h.
49928 (grub_cmd_cmp): Use grub_gzfile_open instead of
49929 grub_file_open.
49930
49931 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49932 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49933 grub_file_open.
49934 (grub_rescue_cmd_module): Likewise.
49935
49936 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49937
49938 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49939 kern/sparc64/ieee1275/init.c because it contains _start.
49940 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49941
49942 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49943
49944 * configure.ac: Add support for sparc64 host with ieee1275
49945 firmware.
49946 * configure: Generated from configure.ac.
49947 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49948 instead of int.
49949 (grub_ofdisk_read): Likewise.
49950 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49951 pointers as (void *) to remove a warning.
49952 (grub_ofdisk_close): Likewise.
49953 (grub_ofdisk_read): Likewise.
49954 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49955 returns, so make it return void to remove a warning.
49956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49957 Corresponding prototype change.
49958 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49959 values, and cast the pointers as (void *) to remove a warning.
49960 (grub_mm_dump): Likewise.
49961 * conf/sparc64-ieee1275.mk: New file.
49962 * conf/sparc64-ieee1275.rmk: Likewise.
49963 * include/grub/sparc64/setjmp.h: Likewise.
49964 * include/grub/sparc64/types.h: Likewise.
49965 * include/grub/sparc64/ieee1275/console.h: Likewise.
49966 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49967 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49968 * include/grub/sparc64/ieee1275/time.h: Likewise.
49969 * kern/sparc64/cache.c: Likewise.
49970 * kern/sparc64/dl.c: Likewise.
49971 * kern/sparc64/ieee1275/init.c: Likewise.
49972 * kern/sparc64/ieee1275/openfw.c: Likewise.
49973
49974 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49975
49976 * util/console.c (grub_ncurses_putchar): If C is greater than
49977 0x7f, set C to a question mark.
49978 (grub_ncurses_getcharwidth): New function.
49979 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49980 getcharwidth.
49981
49982 * normal/menu.c (print_entry): Made aware of Unicode. First,
49983 convert TITLE to UCS-4, and predict the cursor position by
49984 grub_getcharwidth.
49985
49986 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49987 const to SRC.
49988 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49989
49990 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49991
49992 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49993 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49994 grub_strcat.
49995
49996 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49997 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49998 grub_strcpy and grub_strlen. Take it into account that a space
49999 character is inserted as a delimiter.
50000
50001 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50002
50003 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
50004 invalid magic in the error.
50005
50006 * commands/search.c: New file.
50007
50008 * util/grub-emu.c (main): Call grub_search_init and
50009 grub_search_fini.
50010
50011 * kern/rescue.c (grub_rescue_print_disks): Removed.
50012 (grub_rescue_print_devices): New function.
50013 (grub_rescue_cmd_ls): Use grub_device_iterate with
50014 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50015 grub_rescue_print_disks.
50016
50017 * kern/partition.c (grub_partition_iterate): Return the result of
50018 PARTMAP->ITERATE instead of GRUB_ERRNO.
50019
50020 * kern/device.c: Include grub/partition.h.
50021 (grub_device_iterate): New function.
50022
50023 * include/grub/partition.h (grub_partition_iterate): Return int
50024 instead of grub_err_t.
50025
50026 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50027 prototype.
50028 [GRUB_UTIL] (grub_search_fini): Likewise.
50029
50030 * include/grub/device.h (grub_device_iterate): New prototype.
50031
50032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50033 commands/search.c.
50034 (pkgdata_MODULES): Added search.mod.
50035 (search_mod_SOURCES): New variable.
50036 (search_mod_CFLAGS): Likewise.
50037
50038 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50039 (pkgdata_MODULES): Added search.mod.
50040 (search_mod_SOURCES): New variable.
50041 (search_mod_CFLAGS): Likewise.
50042
50043 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50044 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50045 All callers changed.
50046
50047 * DISTLIST: Added commands/search.c.
50048
50049 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50050
50051 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50052 conversion.
50053 (grub_getcharwidth): New function.
50054
50055 * kern/misc.c (grub_utf8_to_ucs4): New function.
50056
50057 * include/grub/term.h (struct grub_term): Added a new member
50058 "getcharwidth".
50059 (grub_getcharwidth): New prototype.
50060
50061 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50062
50063 * term/i386/pc/console.c (map_char): New function. Segregated from
50064 grub_console_putchar.
50065 (grub_console_putchar): Use map_char.
50066 (grub_console_getcharwidth): New function.
50067 (grub_console_term): Specified grub_console_getcharwidth as
50068 getcharwidth.
50069
50070 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50071 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50072
50073 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50074 GRUB_ERRNO.
50075 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50076 on grub_strtoul completely.
50077 (write_char): Declare local variables in the beginning of the
50078 function.
50079 (grub_vesafb_getcharwidth): New function.
50080 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50081 getcharwidth.
50082
50083 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50084
50085 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50086 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50087 commands/i386/pc/vbetest.c.
50088
50089 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50090 call grub_vbe_get_controller_info again, because the returned
50091 information is volatile.
50092 (grub_vbe_set_video_mode): Mostly rewritten.
50093 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50094 grub_vbe_status_t correctly.
50095 (grub_vbe_get_video_mode_info): Likewise.
50096 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50097 several if statements.
50098
50099 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50100 * commands/i386/pc/vbeinfo.c: ... this.
50101
50102 * commands/i386/pc/vbe_test.c: Renamed to ...
50103 * commands/i386/pc/vbetest.c: ... this.
50104
50105 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50106 ...
50107 (grub_cmd_vbeinfo): ... this. Save video modes before
50108 iterating. Skip a video mode, if it is not available, not enough
50109 information is given or it is monochrome. Show the memory
50110 model. Leave the interpretation of MODEVAR to grub_strtoul
50111 completely.
50112 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50113 (GRUB_MOD_FINI): Likewise.
50114
50115 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50116 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50117 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50118 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50119 grub_strtoul completely.
50120 (real2pm): Removed.
50121 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50122 (GRUB_MOD_FINI): Likewise.
50123
50124 * normal/misc.c: Include grub/mm.h.
50125
50126 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50127 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50128 (vbe_list_modes_mod_SOURCES): Removed.
50129 (vbe_list_modes_mod_CFLAGS): Likewise.
50130 (vbe_test_mod_SOURCES): Likewise.
50131 (vbe_test_mod_CFLAGS): Likewise.
50132 (vbeinfo_mod_SOURCES): New variable.
50133 (vbeinfo_mod_CFLAGS): Likewise.
50134 (vbetest_mod_SOURCES): Likewise.
50135 (vbetest_mod_CFLAGS): Likewise.
50136
50137 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50138
50139 * normal/misc.c: New file.
50140
50141 * DISTLIST: Added normal/misc.c.
50142
50143 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50144 DISK to HOOK. Call HOOK with DISK.
50145 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50146 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50147 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50148
50149 * normal/menu_entry.c (struct screen): Added a new member
50150 "completion_shown".
50151 (completion_buffer): New global variable.
50152 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50153 (store_completion): New function.
50154 (complete): Likewise.
50155 (clear_completions): Likewise.
50156 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50157 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50158 a tab, call complete.
50159
50160 * normal/completion.c (disk_dev): Removed.
50161 (print_simple_completion): Likewise.
50162 (print_partition_completion): Likewise.
50163 (print_func): New global variable.
50164 (add_completion): Do not take the arguments WHAT or PRINT any
50165 longer. Added a new argument TYPE. Instead of printing directly,
50166 call PRINT_FUNC if not NULL.
50167 All callers changed.
50168 (complete_device): Use a local variable DEV instead of
50169 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50170 (grub_normal_do_completion): Take a new argument HOOK. Do not
50171 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50172 empty string, return NULL instead.
50173 All callers changed.
50174
50175 * normal/cmdline.c (print_completion): New function.
50176
50177 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50178 to HOOK.
50179 All callers changed.
50180
50181 * kern/disk.c (grub_print_partinfo): Removed.
50182
50183 * include/grub/partition.h (struct grub_partition_map): Add a new
50184 argument DISK into HOOK of ITERATE.
50185 (grub_partition_iterate): Add a new argument DISK to HOOK.
50186
50187 * include/grub/normal.h (enum grub_completion_type): New enum.
50188 (grub_completion_type_t): New type.
50189 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50190 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50191 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50192 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50193 (grub_normal_do_completion): Added a new argument HOOK.
50194 (grub_normal_print_device_info): New prototype.
50195
50196 * include/grub/disk.h (grub_print_partinfo): Removed.
50197
50198 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50199 (normal_mod_SOURCES): Likewise.
50200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50201 (normal_mod_SOURCES): Likewise.
50202
50203 * commands/ls.c (grub_ls_list_disks): Use
50204 grub_normal_print_device_info instead of grub_print_partinfo. Free
50205 PNAME.
50206 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50207 duplicating the code.
50208
50209 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50210
50211 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
50212 follow GCS more precisely.
50213 * commands/i386/pc/vbe_test.c: Likewise.
50214 * include/grub/i386/pc/vbe.h: Likewise.
50215 * term/i386/pc/vesafb.c: Likewise.
50216 * video/i386/pc/vbe.c: Likewise.
50217
50218 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50219
50220 * DISTLIST: Added term/i386/pc/vesafb.c
50221 DISTLIST: Added video/i386/pc/vbe.c
50222 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50223 DISTLIST: Added commands/i386/pc/vbe_test.c.
50224 * commands/i386/pc/vbe_list_modes.c: New file.
50225 * commands/i386/pc/vbe_test.c: Likewise.
50226 * term/i386/pc/vesafb.c: Likewise.
50227 * video/i386/pc/vbe.c: Likewise.
50228 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50229 (grub_vbe_probe) Added prototype.
50230 (grub_vbe_set_video_mode) Likewise.
50231 (grub_vbe_get_video_mode) Likewise.
50232 (grub_vbe_get_video_mode_info) Likewise.
50233 (grub_vbe_set_pixel_rgb) Likewise.
50234 (grub_vbe_set_pixel_index) Likewise.
50235 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50236 (pkgdata_MODULES): Added vesafb.mod.
50237 (pkgdata_MODULES): Added vbe_list_modes.mod.
50238 (pkgdata_MODULES): Added vbe_test.mod.
50239 (vbe_mod_SOURCES): Added.
50240 (vbe_mod_CFLAGS): Likewise.
50241 (vesafb_mod_SOURCES): Likewise.
50242 (vesafb_mod_CFLAGS): Likewise.
50243 (vbe_list_modes_mod_SOURCES): Likewise.
50244 (vbe_list_modes_mod_CFLAGS): Likewise.
50245 (vbe_test_mod_SOURCES): Likewise.
50246 (vbe_test_mod_CFLAGS): Likewise.
50247
50248 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50249
50250 * normal/command.c (grub_command_execute): If INTERACTIVE is
50251 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50252 CMDLINE. Disable the pager if INTERACTIVE is true.
50253 All callers are changed.
50254
50255 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50256 before reading a config file.
50257 * normal/main.c (read_config_file): Even if a command is not
50258 found, register it if it is within an entry.
50259
50260 * util/grub-emu.c: Include sys/types.h and unistd.h.
50261 (options): Added --hold.
50262 (struct arguments): Added a new member "hold".
50263 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50264 missing.
50265 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50266 cleared by a debugger, if it is not zero.
50267
50268 * include/grub/normal.h (grub_command_execute): Add an argument
50269 INTERACTIVE.
50270
50271 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50272
50273 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50274
50275 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50276
50277 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50278 program with another one, because the old one didn't detect a bug
50279 in gcc-3.4. Always use regparm 2, because the new test is still
50280 not enough for gcc-4.0. Someone must investigate a simple test
50281 case which detects a bug in gcc-4.0.
50282
50283 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50284
50285 * DISTLIST: Added normal/completion.c.
50286
50287 * normal/completion.c: New file.
50288
50289 * term/i386/pc/console.c (grub_console_getwh): New function.
50290 (grub_console_term): Assign grub_console_getwh to getwh.
50291
50292 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50293 function is defined in normal/completion.c as
50294 grub_normal_do_completion.
50295 (grub_cmdline_get): Use grub_normal_do_completion instead of
50296 grub_tab_complete.
50297
50298 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50299 returns non-zero, otherwise return 0.
50300 (grub_partition_iterate): First, probe the partition map. Then,
50301 call ITERATE only for this partition map.
50302
50303 * kern/misc.c (grub_strncmp): Rewritten.
50304
50305 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50306 returns non-zero. Otherwise return 0.
50307
50308 * include/grub/partition.h (grub_partition_map_iterate): Return
50309 int instead of void.
50310
50311 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50312
50313 * include/grub/misc.h (grub_strncmp): Change the type of N to
50314 grub_size_t.
50315
50316 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50317 of void.
50318
50319 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
50320 unsigned explicitly before comparing it with I.
50321
50322 * kern/main.c (grub_env_write_root): Add the attribute unused into
50323 VAR.
50324
50325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50326 normal/completion.c.
50327 (normal_mod_SOURCES): Likewise.
50328 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50329 (normal_mod_SOURCES): Likewise.
50330
50331 * normal/command.c (grub_iterate_commands): If ITERATE returns
50332 non-zero, return one immediately.
50333
50334 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50335
50336 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50337 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50338 descriptions.
50339 (grub_vbe_get_controller_info): New function.
50340 (grub_vbe_get_mode_info): Likewise.
50341 (grub_vbe_set_mode): Likewise.
50342 (grub_vbe_get_mode): Likewise.
50343 (grub_vbe_set_memory_window): Likewise.
50344 (grub_vbe_get_memory_window): Likewise.
50345 (grub_vbe_set_scanline_length): Likewise.
50346 (grub_vbe_get_scanline_length): Likewise.
50347 (grub_vbe_set_display_start): Likewise.
50348 (grub_vbe_get_display_start): Likewise.
50349 (grub_vbe_set_palette_data): Likewise.
50350 * include/grub/i386/pc/vbe.h: New file.
50351
50352 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50353
50354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50355 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50356 * DISTLIST: Likewise.
50357 * kern/ieee1275/of.c: Moved to ...
50358 * kern/ieee1275/ieee1275.c: ... here.
50359
50360 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50361
50362 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50363 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50364 Pass 0 as `end' parameter to grub_strtoul().
50365
50366 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50367
50368 * include/grub/powerpc/ieee1275/console.h: Do not include
50369 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50370 ifdef.
50371 (grub_console_cur_color): Remove i386-specific prototype.
50372 (grub_console_real_putchar): Likewise.
50373 (grub_console_checkkey): Likewise.
50374 (grub_console_getkey): Likewise.
50375 (grub_console_getxy): Likewise.
50376 (grub_console_gotoxy): Likewise.
50377 (grub_console_cls): Likewise.
50378 (grub_console_setcursor): Likewise.
50379 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50380 Include <grub/machine/console.h>.
50381 * term/ieee1275/ofconsole.c: Likewise.
50382
50383 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50384
50385 * Makefile.in (LIBLZO): New variable.
50386
50387 * configure.ac: Check for LZO version 2.
50388
50389 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50390 lzo/lzo1x.h instead of lzo1x.h.
50391
50392 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50393 of -llzo.
50394
50395 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50396 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50397
50398 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50399 copying the data from PARTITION to P.
50400
50401 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50402
50403 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50404 negative, unload the module.
50405
50406 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50407 map is "pc_partition_map" but not "pc".
50408 (usage): Fix the description. The options are --boot-image and
50409 --core-image but not --boot-file or --core-file.
50410 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50411 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50412 DEFAULT_DIRECTORY.
50413
50414 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50415 --core-file. Specify INSTALL_DEVICE as an argument.
50416
50417 * util/console.c: Include config.h.
50418 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50419 [HAVE_NCURSES_H]: Include ncurses.h.
50420 [HAVE_CURSES_H]: Include curses.h.
50421 [!A_NORMAL] (A_NORMAL): Defined as zero.
50422 [!A_STANDOUT] (A_STANDOUT): Likewise.
50423
50424 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50425 -lncurses.
50426 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50427
50428 * configure.ac: Check for curses libraries and headers.
50429
50430 * Makefile.in (LIBCURSES): New variable.
50431
50432 * genmk.rb (Script::rule): Set the executable bits.
50433
50434 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50435 name of the PC partition map is "pc_partition_map" but not "pc".
50436
50437 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50438
50439 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50440 (modules): Likewise.
50441 (usage): Added descriptions for --modules and --grub-probefs.
50442 Handle --modules and --grub-probefs. Save the arguments in MODULES
50443 and GRUB_PROBEFS, respectively.
50444 Auto-detect a filesystem module against GRUBDIR. If the result is
50445 empty and modules are not specified explicitly, abort the
50446 installation. Add the result to MODULES.
50447
50448 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50449 disk/powerpc/ieee1275/ofdisk.c,
50450 include/grub/powerpc/ieee1275/init.h and
50451 term/powerpc/ieee1275/ofconsole.c.
50452 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50453 term/ieee1275/ofconsole.c.
50454
50455 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50456
50457 * COPYING: Upgraded to the latest version. Only the address of the
50458 FSF office has changed.
50459
50460 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50461
50462 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50463 kern/ieee1275.c with kern/ieee1275/of.c.
50464
50465 * kern/ieee1275.c: Moved to ...
50466 * kern/ieee1275/of.c: ... here.
50467
50468 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50469
50470 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
50471 readability.
50472
50473 * config.guess: Updated to the latest version from gnulib.
50474 * config.sub: Likewise.
50475 * install.sh: Likewise.
50476 * mkinstalldirs: Likewise.
50477
50478 * include/grub/console.h: Removed. This file is arch-specific. Do
50479 not put this in include/grub.
50480
50481 * include/grub/i386/pc/console.h: Resurrected.
50482
50483 * util/console.c: Include grub/machine/console.h instead of
50484 grub/console.h.
50485 * util/grub-emu.c: Likewise.
50486
50487 2005-08-04 Marco Gerards <metgerards@student.han.nl>
50488
50489 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50490 hardcoded value.
50491
50492 From Vincent Pelletier <subdino2004@yahoo.fr>
50493 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50494 Redefined to use grub_getwh.
50495 (grub_term): New member named getwh.
50496 (grub_getwh): New prototype.
50497 * kern/term.c (grub_getwh): New function.
50498 * term/i386/pc/console.c (grub_console_getwh): New function.
50499 (grub_console_term): New member `getwh'.
50500 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50501 (grub_vga_term): New member `getwh'.
50502 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
50503 grub_ssize_t.
50504 (grub_ofconsole_getw): New function.
50505 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50506 (grub_ofconsole_term): New field named getwh and new initial
50507 value.
50508
50509 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50510
50511 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50512 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50513 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50514 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50515 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50516 of <grub/machine/ieee1275.h>.
50517 * commands/ieee1275/reboot.c: Likewise.
50518 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50519 * kern/ieee1275.c: ... to here. All users updated. Change all
50520 parameter structs to use new type `grub_ieee1275_cell_t'.
50521 * term/powerpc/ieee1275/ofconsole.c: Move ...
50522 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50523 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50524 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50525 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50526 to return int.
50527 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50528 Remove unused prototypes. All users updated.
50529 * include/grub/powerpc/ieee1275/console.h: Removed.
50530 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50531 `grub_ieee1275_cell_t'.
50532 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50533 Cast comparisons with -1 to the correct type.
50534 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50535 type to match `grub_ieee1275_entry_fn'.
50536
50537 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50538
50539 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50540
50541 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50542 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50543 partmap/sun.c.
50544 (grub_probefs_SOURCES): New variable.
50545
50546 * util/i386/pc/grub-probefs.c: New file.
50547
50548 * util/i386/pc/grub-setup.c (main): Call
50549 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50550 grub_hfs_init and grub_jfs_init to initialize the system. Call
50551 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50552 grub_pc_partition_map_fini to finish the system.
50553
50554 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50555
50556 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50557 function.
50558 (grub_multiboot_load_elf32): Likewise.
50559 (grub_multiboot_is_elf64): Likewise.
50560 (grub_multiboot_load_elf64): Likewise.
50561 (grub_multiboot_load_elf): Likewise.
50562 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50563 an ELF32 or ELF64 file.
50564 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50565
50566 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50567 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50568 NULL before calling FS->LABEL.
50569 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50570 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50571 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50572 before calling FS->LABEL.
50573
50574 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50575
50576 * util/i386/pc/grub-install.in (datadir): New variable.
50577 (libdir): Removed.
50578 (pkgdatadir): New variable.
50579 (pkglibdir): Removed.
50580
50581 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50582
50583 * DISTLIST: Added util/i386/pc/grub-install.in.
50584
50585 * util/i386/pc/grub-install.in: New file.
50586
50587 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50588 (grub_install_SOURCES): Likewise.
50589
50590 * genmk.rb: Added support for scripts.
50591 (Script): New class.
50592 (scripts): New variable.
50593
50594 * Makefile.in (install-local): Install sbin_SCRIPTS by
50595 INSTALL_SCRIPT.
50596 (uninstall): Remove sbin_SCRIPTS.
50597
50598 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50599 device, try to get a GRUB device by
50600 grub_util_biosdisk_get_grub_dev.
50601 Free DEST_DEV.
50602
50603 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50604 description for --device-map.
50605
50606 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50607
50608 Change the semantics of variable hooks. They now return strings
50609 instead of error values.
50610
50611 * util/i386/pc/grub-setup.c: Include grub/env.h.
50612 (setup): Use grub_device_set_root instead of grub_env_set.
50613
50614 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50615 grub_env_get instead of grub_device_set_root and
50616 grub_device_get_root, respectively.
50617
50618 * kern/main.c (grub_env_write_root): New function.
50619 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50620 grub_env_set instead of grub_device_set_root.
50621
50622 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50623 many variables.
50624 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50625 rather than calling ENV->WRITE_HOOK afterwards.
50626 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50627 passing a pointer of a pointer.
50628 (grub_register_variable_hook): Change the types of "read_hook" and
50629 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50630 respectively.
50631 Allocate the default empty string on the heap, because this string
50632 may be freed later.
50633
50634 * kern/device.c: Include grub/env.h.
50635 (grub_device_set_root): Removed.
50636 (grub_device_get_root): Likewise.
50637 (grub_device_open): Use grub_env_get instead of
50638 grub_device_get_root.
50639
50640 * include/grub/env.h (grub_env_read_hook_t): New type.
50641 (grub_env_write_hook_t): Likewise.
50642 (grub_env_var): Change the types of "read_hook" and "write_hook"
50643 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50644 (grub_register_variable_hook): Likewise.
50645
50646 * include/grub/device.h (grub_device_set_root): Removed.
50647 (grub_device_set_root): Likewise.
50648
50649 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50650 make sure that DIRNAME terminates with '/', so that
50651 grub_fat_find_dir will fail if PATH is not a directory.
50652
50653 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50654 from DIRNAME.
50655 Use the qualifier auto for print_files and print_files_long.
50656 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50657 as a regular file.
50658 Put a newline only if there is no error.
50659 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50660 used.
50661
50662 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50663
50664 * kern/partition.c (grub_partition_probe): Initialize PART to
50665 NULL. Otherwise, when no partition map is registered, this returns
50666 a garbage.
50667
50668 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50669
50670 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50671 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50672 valid.
50673
50674 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50675
50676 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50677 information on each device, if it does not have partitions. Print
50678 "Device" instead of "Disk", because this function is not specific
50679 to disk devices.
50680
50681 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50682 static to ensure that it is put on the memory rather than a
50683 register.
50684
50685 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50686
50687 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50688 (grub_cat_init): Likewise.
50689 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50690 (options): Likewise.
50691 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50692 (grub_configfile_init): Likewise.
50693 * font/manager.c (GRUB_MOD_INIT): Likewise.
50694 * commands/help.c (GRUB_MOD_INIT): Likewise.
50695 (grub_help_init): Likewise.
50696 * normal/command.c (grub_command_init): Likewise.
50697 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50698 * disk/loopback.c (grub_loop_init): Likewise.
50699 (GRUB_MOD_INIT): Likewise.
50700 * commands/ls.c (grub_ls_init): Likewise.
50701 (GRUB_MOD_INIT): Likewise.
50702 (options): Likewise.
50703 * commands/boot.c (grub_boot_init): Likewise.
50704 (GRUB_MOD_INIT): Likewise.
50705 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50706 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50707 (GRUB_MOD_INIT): Likewise.
50708 * commands/cmp.c (grub_cmp_init): Likewise.
50709 (GRUB_MOD_INIT): Likewise.
50710
50711 * normal/arg.c: Use <> instead of "" to include header files.
50712 (SHORT_ARG_HELP): New macro.
50713 (SHORT_ARG_USAGE): Likewise.
50714 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50715 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50716 descriptions.
50717 (find_short): Check if C is 'h' or 'u' explicitly.
50718 (grub_arg_show_help): Use space characters instead of tabs. Treat
50719 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50720 are shown with --help and --usage only if they are not used for
50721 the command itself.
50722 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50723 'h' and 'u'.
50724
50725 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50726 const into "longarg". Change the type of "shortarg" to int.
50727
50728 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50729
50730 * boot/i386/pc/boot.S (boot_drive_check): New label.
50731
50732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50733 macro.
50734
50735 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50736 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50737
50738 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50739
50740 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50741 When turning off Gate A20, skip the check and return immediately,
50742 because this is not fatal usually.
50743
50744 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50745
50746 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50747 be 0x7C00 instead of 0x8000.
50748
50749 * boot/i386/pc/pxeboot.S: Rewritten.
50750
50751 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50752 EXT_C.
50753 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50754 result.
50755
50756 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50757
50758 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50759 robustness. This routine now supports a BIOS call and System
50760 Control Port A to modify the gate A20.
50761
50762 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50763 Increased to 0x440.
50764
50765 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50766
50767 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50768 device path and resulting ihandle.
50769 (grub_ofdisk_close): dprintf the ihandle being closed.
50770 (grub_ofdisk_read): dprintf function parameters.
50771 * kern/mm.c (grub_mm_init_region): Likewise.
50772 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50773 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50774 size, and boot arguments.
50775 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50776 before loading into memory.
50777 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50778 before loading into memory.
50779
50780 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50781
50782 * kern/mm.c: Added much documentation.
50783 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50784 8, set to 5 instead of 8.
50785
50786 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50787
50788 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50789
50790 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50791 (grub_mkdevicemap_SOURCES): New variable.
50792
50793 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50794 lib/device.c of GRUB Legacy.
50795
50796 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50797
50798 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50799 instead of PATH is NULL.
50800
50801 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50802
50803 * commands/cmp.c (BUFFER_SIZE): New macro.
50804 (grub_cmd_cmp): Close the right file at the right time. Compare
50805 only data just read. Don't report files of different size as
50806 identical. Dynamically allocate buffers. Move variable
50807 declarations at the beginning of function.
50808
50809 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
50810
50811 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50812 reverse.
50813
50814 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50815
50816 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50817 when backspace is pressed at beginning of line.
50818
50819 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
50820
50821 * DISTLIST: Added genfslist.sh.
50822
50823 * normal/main.c (fs_module_list): New variable.
50824 (autoload_fs_module): New function.
50825 (read_fs_list): Likewise.
50826 (grub_normal_execute): Call read_fs_list.
50827
50828 * kern/fs.c (grub_fs_autoload_hook): New variable.
50829 (grub_fs_probe): Added support for auto-loading.
50830
50831 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50832 (grub_fs_module_list_t): New type.
50833
50834 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50835 (grub_fs_autoload_hook): New prototype.
50836
50837 * genfslist.sh: New file.
50838
50839 * genmk.rb: Added a rule to generate a filesystem list.
50840
50841 2005-06-30 Marco Gerards <metgerards@student.han.nl>
50842
50843 * configure.ac: Fix the test for cross-compiling.
50844
50845 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50846 define GRUB_UTIL anymore.
50847
50848 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50849 so this function works on other systems than just big endian.
50850 (load_modules): Likewise.
50851 (add_segments): Likewise.
50852
50853 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50854
50855 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50856 contains `l' modifier, get a long from va_arg().
50857
50858 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50859
50860 * kern/mm.c (grub_free): If the next free block which is being
50861 merged is the first free block, set the first block to the block
50862 being freed.
50863 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50864
50865 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50866
50867 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50868 `grub_ieee1275_chosen'.
50869
50870 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50871
50872 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50873 (grub_ieee1275_chosen): New variable.
50874 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50875 `chosen'.
50876 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50877 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50878 Rename first argument to `phandle' for consistency.
50879 (grub_ieee1275_get_property_length): Likewise.
50880 (grub_ieee1275_next_property): Likewise. Change type of first argument
50881 to grub_ieee1275_phandle_t.
50882 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50883 Move export next to declaration.
50884 (grub_ieee1275_chosen): New variable.
50885 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50886 Correct cosmetic typo.
50887 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50888 `grub_ieee1275_chosen'.
50889 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50890 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50891 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50892 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50893 `grub_ieee1275_chosen'.
50894
50895 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50896
50897 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50898 /chosen/bootargs.
50899 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50900 /chosen/bootargs as "variable=value" pairs.
50901
50902 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50903
50904 * include/grub/misc.h (grub_dprintf): New macro.
50905 (grub_real_dprintf): New prototype.
50906 (grub_strword): Likewise.
50907 (grub_iswordseparator): Likewise.
50908 * kern/misc.c (grub_real_dprintf): New function.
50909 (grub_strword): Likewise.
50910 (grub_iswordseparator): Likewise.
50911
50912 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50913
50914 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50915 (roundup): Remove macro.
50916 (grub_ieee1275_flags): Make static.
50917 (grub_ieee1275_realmode): Remove.
50918 (grub_ieee1275_test_flag): New function.
50919 (grub_ieee1275_set_flag): Likewise.
50920 (find_options): Rename to `grub_ieee1275_find_options'; update
50921 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50922 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50923 (cmain): New prototype.
50924 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50925 `grub_ieee1275_flags' directly.
50926 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50927 machine/biosdisk.h.
50928 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50929 Don't include grub/machine/init.h.
50930 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50931 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50932 Remove prototype.
50933 (grub_ieee1275_realmode): Likewise.
50934 (grub_ieee1275_flag): New enum.
50935 (grub_ieee1275_test_flag): New prototype.
50936 (grub_ieee1275_set_flag): New prototype.
50937 * include/grub/powerpc/ieee1275/init.h: Remove file.
50938 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50939 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50940 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50941 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50942 comment.
50943 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50944 `grub_ieee1275_test_flag'.
50945 (grub_ieee1275_encode_devname): Likewise.
50946
50947 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50948
50949 * include/grub/powerpc/ieee1275/ieee1275.h
50950 (grub_ieee1275_encode_devname): New prototype.
50951 (grub_ieee1275_get_filename): Likewise.
50952 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50953 function.
50954 (grub_set_prefix): Likewise.
50955 (grub_machine_init): Call grub_set_prefix.
50956 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50957 (grub_parse_type): New enum.
50958 (grub_ieee1275_get_devargs): New function.
50959 (grub_ieee1275_get_devname): Likewise.
50960 (grub_ieee1275_parse_args): Likewise.
50961 (grub_ieee1275_get_filename): Likewise.
50962 (grub_ieee1275_encode_devname): Likewise.
50963
50964 2005-03-30 Marco Gerards <metgerards@student.han.nl>
50965
50966 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50967 `grub_loader_unset'.
50968
50969 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50970
50971 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50972 instead of grub_ieee1275_interpret.
50973 (grub_halt_init): New function.
50974 (grub_halt_fini): Likewise.
50975 (GRUB_MOD_INIT): Correct message grammar.
50976 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50977 instead of grub_ieee1275_interpret.
50978 (grub_reboot_init): New function.
50979 (grub_reboot_fini): Likewise.
50980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50981 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50982 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50983 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50984 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50985 function.
50986 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50987 Add prototype.
50988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50989 prototype.
50990 (grub_halt): Likewise.
50991 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50992 (cmain): Remove __attribute__((unused)).
50993 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50994 (grub_heap_len): Likewise.
50995 (grub_machine_fini): New function.
50996 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50997 (grub_halt): Likewise.
50998 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50999 function.
51000 * util/powerpc/ieee1275/misc.c: New file.
51001
51002 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51003
51004 * DISTLIST: New file.
51005 * gendistlist.sh: Likewise.
51006
51007 * Makefile.in (COMMON_DISTFILES): Removed.
51008 (BOOT_DISTFILES): Likewise.
51009 (CONF_DISTFILES): Likewise.
51010 (DISK_DISTFILES): Likewise.
51011 (FS_DISTFILES): Likewise.
51012 (INCLUDE_DISTFILES): Likewise.
51013 (KERN_DISTFILES): Likewise.
51014 (LOADER_DISTFILES): Likewise.
51015 (TERM_DISTFILES): Likewise.
51016 (UTIL_DISTFILES): Likewise.
51017 (DISTFILES): Likewise.
51018 (uninstall): Uninstall files in $(pkgdata_DATA).
51019 (DISTLIST): New target.
51020 (distdir): Use the contents of the file DISTLIST to get a list of
51021 distributed files.
51022
51023 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51024
51025 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51026 descriptor. This is ported from GRUB Legacy.
51027
51028 * gencmdlist.sh: Added an extra semicolon to make it work with
51029 old sed versions. Reported by Robert Bihlmeyer
51030 <robbe@orcus.priv.at>.
51031
51032 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
51033
51034 Automatic loading of commands is supported.
51035
51036 * normal/main.c (read_command_list): New function.
51037 (grub_normal_execute): Call read_command_list.
51038
51039 * normal/command.c (grub_register_command): Return zero or CMD.
51040 Allocate CMD->NAME from the heap.
51041 Initialize CMD->MODULE_NAME to zero.
51042 Find the same name as well. If the same command is found and it is
51043 a dummy command, overwrite members. If it is not a dummy command,
51044 return zero.
51045 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51046 (grub_command_find): If a dummy command is found, load a module
51047 and retry to find a command only once.
51048
51049 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51050 make sure that each command is loaded.
51051
51052 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51053 macro.
51054 (struct grub_command): Remove const from the member `name'.
51055 Add a new member `module_name'.
51056 (grub_register_command): Return grub_command_t.
51057
51058 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51059 sure that each command is loaded.
51060
51061 * genmk.rb (PModule::rule): Specify a module name without the
51062 suffix ".mod" to gencmdlist.sh.
51063
51064 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51065
51066 * gencmdlist.sh: New file.
51067
51068 * genmk.rb (PModule::rule): Generate a rule for a command list.
51069 Clean command.lst.
51070 Generate command.lst from $(COMMANDFILES).
51071
51072 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51073 (DATA): Added $(pkgdata_DATA).
51074 (install-local): Install files in $(pkgdata_DATA).
51075
51076 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51077
51078 * term/i386/pc/vga.c (debug_command): Removed.
51079 (GRUB_MOD_INIT): Do not register the command "debug".
51080
51081 From Hollis Blanchard:
51082 * commands/configfile.c: New file.
51083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51084 commands/configfile.c.
51085 (pkgdata_MODULES): Added configfile.mod.
51086 (configfile_mod_SOURCES): New variable.
51087 (configfile_mod_CFLAGS): Likewise.
51088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51089 commands/configfile.c.
51090 (pkgdata_MODULES): Added configfile.mod.
51091 (configfile_mod_SOURCES): New variable.
51092 (configfile_mod_CFLAGS): Likewise.
51093 * util/grub-emu.c (main): Call grub_configfile_init and
51094 grub_configfile_fini.
51095 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51096 prototype.
51097 [GRUB_UTIL] (grub_configfile_fini): Likewise.
51098
51099 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51100
51101 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51102 address.
51103
51104 * commands/help.c (grub_cmd_help): Do not print newlines after
51105 the last command in print_command_help.
51106
51107 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51108
51109 * commands/default.h: New file.
51110 * commands/timeout.h: Likewise.
51111 * normal/context.c: Likewise.
51112
51113 * util/misc.c: Do not include sys/times.h.
51114 Include sys/time.h and grub/machine/time.h.
51115 (grub_get_rtc): Rewritten with gettimeofday.
51116
51117 * util/grub-emu.c (main): Call grub_default_init and
51118 grub_timeout_init before grub_normal_init, and call
51119 grub_timeout_fini and grub_default_fini after grub_main.
51120
51121 * util/console.c (grub_ncurses_checkkey): Return the read
51122 character or -1.
51123
51124 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51125 timeouts.
51126
51127 * normal/main.c (read_config_file): Push MENU. If this fails,
51128 print an error and wait for a user input.
51129 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51130 If a menu is empty or an error occurs, pop MENU.
51131 (grub_normal_execute): Pop and free MENU after grub_menu_run
51132 returns.
51133
51134 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51135
51136 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51137 include time.h.
51138 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51139 without GRUB_UTIL.
51140 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51141 time.h.
51142 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51143 without GRUB_UTIL.
51144
51145 * include/grub/normal.h (struct grub_menu_list): New struct.
51146 (grub_menu_list_t): New type.
51147 (struct grub_context): New struct.
51148 (grub_context_t): New type.
51149 (grub_register_command): Got rid of EXPORT_FUNC.
51150 (grub_unregister_command): Likewise.
51151 (grub_context_get): New prototype.
51152 (grub_context_get_current_menu): Likewise.
51153 (grub_context_push_menu): Likewise.
51154 (grub_context_pop_menu): Likewise.
51155 [GRUB_UTIL] (grub_default_init): Likewise.
51156 [GRUB_UTIL] (grub_default_fini): Likewise.
51157 [GRUB_UTIL] (grub_timeout_init): Likewise.
51158 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51159
51160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51161 commands/timeout.c and normal/context.c.
51162 (pkgdata_MODULES): Added default.mod and timeout.mod.
51163 (normal_mod_SOURCES): Added normal/context.c.
51164 (default_mod_SOURCES): New variable.
51165 (default_mod_CFLAGS): Likewise.
51166 (timeout_mod_SOURCES): Likewise.
51167 (timeout_mod_CFLAGS): Likewise.
51168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51169 conf/i386-pc.rmk.
51170 (pkgdata_MODULES): Added default.mod and timeout.mod.
51171 (normal_mod_SOURCES): Added normal/context.c.
51172 (default_mod_SOURCES): New variable.
51173 (default_mod_CFLAGS): Likewise.
51174 (timeout_mod_SOURCES): Likewise.
51175 (timeout_mod_CFLAGS): Likewise.
51176
51177 * Makefile.in (all-local): Added $(MKFILES).
51178
51179 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51180
51181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51182 (grub_emu_SOURCES): Likewise.
51183 (pkgdata_MODULES): Add `sun.mod'.
51184 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51186 `partmap/sun.c'.
51187 (pkgdata_MODULES): Add `sun.mod'.
51188 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51189 * include/grub/partition.h (grub_sun_partition_map_init): New
51190 prototype.
51191 (grub_sun_partition_map_fini): Likewise.
51192 * partmap/sun.c: New file.
51193 * util/grub-emu.c (main): Initialize and de-initialize the sun
51194 partitionmap support.
51195
51196 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51197
51198 This implements an Emacs-like menu entry editor.
51199
51200 * normal/menu_entry.c: New file.
51201
51202 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51203 characters to ASCII.
51204 (saved_char): New variable.
51205 (grub_ncurses_checkkey): Rewritten completely.
51206 (grub_ncurses_getkey): Likewise.
51207 (grub_ncurses_init): Call raw instead of cbreak.
51208
51209 * normal/menu.c (print_entry): Do not put a space.
51210 (init_page): Renamed to ...
51211 (grub_menu_init_page): ... this. All callers changed.
51212 (edit_menu_entry): Removed.
51213 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51214
51215 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51216
51217 * kern/misc.c (grub_vprintf): Call grub_refresh.
51218
51219 * normal/menu.c (DISP_LEFT): Renamed to ...
51220 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51221 * normal/menu.c (DISP_UP): Renamed to ...
51222 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51223 * normal/menu.c (DISP_RIGHT): Renamed to ...
51224 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51225 * normal/menu.c (DISP_DOWN): Renamed to ...
51226 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51227 * normal/menu.c (DISP_HLINE): Renamed to ...
51228 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51229 * normal/menu.c (DISP_VLINE): Renamed to ...
51230 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51231 * normal/menu.c (DISP_UL): Renamed to ...
51232 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51233 * normal/menu.c (DISP_UR): Renamed to ...
51234 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51235 * normal/menu.c (DISP_LL): Renamed to ...
51236 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51237 * normal/menu.c (DISP_LR): Renamed to ...
51238 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51239 * normal/menu.c (TERM_WIDTH): Renamed to ...
51240 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51241 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51242 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51243 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51244 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51245 * normal/menu.c (TERM_MARGIN): Renamed to ...
51246 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51247 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51248 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51249 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51250 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51251 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51252 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51253 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51254 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51255 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51256 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51257 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51258 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51259 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51260 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51261 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51262 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51263 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51264 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51265 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51266 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51267 All callers changed.
51268
51269 * include/grub/normal.h: New prototype.
51270
51271 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51272 normal/menu_entry.c.
51273 (normal_mod_SOURCES): Likewise.
51274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51275 (normal_mod_SOURCES): Likewise.
51276
51277 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51278
51279 * include/grub/normal.h (grub_halt_init): New prototype.
51280 (grub_halt_fini): Likewise.
51281 (grub_reboot_init): Likewise.
51282 (grub_reboot_fini): Likewise.
51283
51284 * util/grub-emu.c: Include signal.h.
51285 (main_env): New global variable.
51286 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51287 catch C-c.
51288 (grub_machine_fini): New function.
51289 (main): Call grub_halt_init and grub_reboot_init before
51290 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51291 Call setjmp with MAIN_ENV to go back afterwards.
51292 Call grub_machine_fini right before return.
51293
51294 * include/grub/util/misc.h: Include setjmp.h.
51295 (main_env): New prototype.
51296
51297 * include/grub/kernel.h (grub_machine_fini): New prototype.
51298 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51299 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51300
51301 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51302 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51303 * term/i386/pc/console.c (grub_console_fini): Likewise.
51304
51305 * util/i386/pc/misc.c: New file.
51306
51307 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51308 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51309 commands/i386/pc/reboot.c.
51310
51311 2005-02-14 Guillem Jover <guillem@hadrons.org>
51312
51313 * include/grub/dl.h (grub_dl_check_header): New prototype.
51314 (grub_arch_dl_check_header): Change return type to grub_err_t,
51315 remove size parameter and export function. Update all callers.
51316 * kern/dl.c (grub_dl_check_header): New function.
51317 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51318 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51319 are inside the core.
51320 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51321 independent ELF header checks.
51322 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51323 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51324 `grub_dl_check_header' instead of explicit checks. Check for the
51325 ELF type.
51326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51327 `grub_dl_check_header' instead of explicit checks. Remove arch
51328 specific ELF header checks.
51329
51330 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51331 argument SIZE.
51332
51333 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51334
51335 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51336 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51337
51338 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51339
51340 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
51341 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
51342 (part_map_iterate): Clear `grub_errno' and return 0 if
51343 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
51344 * partmap/amiga.c (amiga_partition_map_iterate): Return
51345 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51346 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51347
51348 2005-02-01 Guillem Jover <guillem@hadrons.org>
51349
51350 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51351 help info.
51352
51353 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51354
51355 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51356 Removed prototype.
51357 (grub_rescue_cmd_linux): New prototype.
51358 (grub_rescue_cmd_initrd): Likewise.
51359 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51360 `bi_rec'.
51361 (grub_linux_release_mem): Release the memory for the initrd.
51362 (grub_load_linux): Renamed from this...
51363 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51364 Changed `entry' not to be static. Loop over memory regions to
51365 find another one when the default fails.
51366 (grub_rescue_cmd_initrd): New function.
51367 (grub_linux_init): Remove function.
51368 (grub_linux_fini): Likewise.
51369 (GRUB_MOD_INIT): Register `initrd'.
51370 (GRUB_MOD_FINI): Unregister `initrd'.
51371 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51372 Function removed.
51373 (grub_linux_normal_fini): Likewise.
51374 (GRUB_MOD_INIT): Register `initrd'.
51375 (GRUB_MOD_FINI): Unregister `initrd'.
51376
51377 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51378
51379 * commands/help.c: New file.
51380 * normal/arg.c (show_help): Renamed to...
51381 (grub_arg_show_help): ... this.
51382 * commands/i386/pc/halt.c: New file.
51383 * commands/i386/pc/reboot.c: Likewise.
51384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51385 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51386 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51387 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51388 variables.
51389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51390 `commands/help.c'.
51391 (pkgdata_MODULES): Add `help.mod'.
51392 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51393 * grub/i386/pc/init.h (grub_reboot): New prototype.
51394 (grub_halt): Likewise.
51395 * include/grub/normal.h (grub_arg_show_help): New prototype.
51396 (grub_help_init): Likewise.
51397 (grub_help_fini): Likewise.
51398 * util/grub-emu.c (main): Initialize and deinitialize the help
51399 command.
51400
51401 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51402
51403 * normal/command.c (grub_command_init): Fixed the description of
51404 the `set' and `unset' commands.
51405
51406 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51407
51408 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51409 function.
51410 * commands/ieee1275/halt.c: New file.
51411 * commands/ieee1275/reboot.c: Likewise.
51412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51413 `__attribute__ ((unused))'. Some GCS related fixed.
51414 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51415 (grub_suspend_fini): Likewise.
51416 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51417 and `halt.mod'.
51418 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51419 (halt_mod_CFLAGS): New variables.
51420 * include/grub/powerpc/ieee1275/ieee1275.h
51421 (grub_ieee1275_interpret): New prototype.
51422
51423 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51424
51425 * include/grub/misc.h (memmove): New prototype.
51426 (memcpy): Likewise.
51427
51428 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51429
51430 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51431 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51432
51433 2005-01-22 Marco Gerards <metgerards@student.han.nl>
51434
51435 * kern/misc.c (grub_strndup): Function rewritten.
51436
51437 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51438
51439 * normal/menu.c (TERM_WIDTH): Macro redefined.
51440 (TERM_TOP_BORDER_Y): Likewise.
51441 (draw_border): Replaced while-loop by a for-loop. Make the number
51442 of lines consistent with the number of lines displayed in
51443 print_entries. Added a margin below the rectangle.
51444 (print_entry): Make the entry fit in the rectangle.
51445 (print_entries): Display the scroll arrows next to the right
51446 border.
51447
51448 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51449
51450 * fs/minix.c (grub_minix_find_file): Reserve more space for
51451 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51452 `grub_strncpy' to copy `path' into it.
51453
51454 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51455
51456 Add the loopback device, a device via which files can be accessed
51457 as devices.
51458
51459 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51460 (pkgdata_MODULES): Add loopback.mod.
51461 (loopback_mod_SOURCES): New variable.
51462 (loopback_mod_CFLAGS): Likewise.
51463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51464 `disk/loopback.c'.
51465 (pkgdata_MODULES): Add loopback.mod.
51466 (loopback_mod_SOURCES): New variable.
51467 (loopback_mod_CFLAGS): Likewise.
51468 * disk/loopback.c: new file.
51469 * include/grub/normal.h (grub_loop_init): New prototype.
51470 (grub_loop_fini): New prototype.
51471 * util/grub-emu.c (main): Initialize and de-initialize loopback
51472 support.
51473 * include/grub/disk.h (grub_disk_dev_id): Add
51474 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51475
51476 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51477
51478 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51479 function.
51480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51481 (suspend_mod_SOURCES): New variable.
51482 (suspend_mod_CFLAGS): Likewise.
51483 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51484 New prototype.
51485 * commands/ieee1275/suspend.c: New file.
51486
51487 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51488
51489 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
51490 ((unused))' to `__attribute__ ((used))'.
51491 (GRUB_MOD_FINI): Likewise.
51492 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51493 * genmk.rb (PModule): Assign space to common symbols when linking
51494 modules.
51495
51496 2005-01-20 Marco Gerards <metgerards@student.han.nl>
51497
51498 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51499 `unsigned' arguments to `grub_size_t'.
51500 (grub_malloc): Likewise.
51501 (grub_realloc): Likewise.
51502 (grub_memalign): Likewise.
51503 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51504 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51505 * util/misc.c (grub_malloc): Likewise.
51506 (grub_realloc): Likewise.
51507 * kern/mm.c (get_header_from_pointer): Change the casts to
51508 `unsigned' into a cast to `grub_size_t'.
51509
51510 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51511 point to `currnode' when `currnode' is changed.
51512
51513 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51514 Schottelius <nico-linux@schottelius.org>.
51515
51516 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51517
51518 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51519 (note_path): Remove variable.
51520 (GRUB_IEEE1275_NOTE_NAME): New macro.
51521 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51522 (grub_ieee1275_note_hdr): New structure.
51523 (grub_ieee1275_note_desc): Likewise.
51524 (grub_ieee1275_note): Likewise.
51525 (load_note): Remove `dir' argument. All callers updated. Remove
51526 `note_img' and `path'. Do not load a file from `note_path'.
51527 Initialize a struct grub_ieee1275_note and write that to `out'.
51528 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51529
51530 2005-01-05 Marco Gerards <metgerards@student.han.nl>
51531
51532 * util/misc.c (grub_util_read_image): Revert last change. It
51533 called `grub_util_read_at', which seeks from the beginning of the
51534 file.
51535
51536 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51537
51538 * TODO: Add note about endianness in grub-mkimage.
51539 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51540 section.
51541 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51542 (grub_mkimage_SOURCES): New target.
51543 * include/grub/kernel.h (grub_start_addr): Remove variable.
51544 (grub_end_addr): Likewise.
51545 (grub_total_module_size): Likewise.
51546 (grub_kernel_image_size): Likewise.
51547 (GRUB_MODULE_MAGIC): New constant.
51548 (grub_module_info): New structure.
51549 (grub_arch_modules_addr): New prototype.
51550 (grub_get_end_addr): Remove prototype.
51551 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51552 * include/grub/powerpc/ieee1275/kernel.h: New file.
51553 * include/grub/util/misc.h (grub_util_get_fp_size): New
51554 prototype.
51555 (grub_util_read_at): Likewise.
51556 (grub_util_write_image_at): Likewise.
51557 * kern/main.c (grub_get_end_addr): Remove function.
51558 (grub_load_modules): Call grub_arch_modules_addr instead of using
51559 grub_end_addr. Look for a grub_module_info struct in memory. Use
51560 the grub_module_info fields instead of calling grub_get_end_addr
51561 as loop conditions. Move grub_add_unused_region code here.
51562 (grub_add_unused_region): Remove function.
51563 * kern/i386/pc/init.c: Include grub/cache.h.
51564 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51565 one call to add_mem_region.
51566 (grub_arch_modules_addr): New function.
51567 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51568 (grub_total_module_size): Likewise.
51569 Include grub/machine/kernel.h.
51570 (grub_arch_modules_addr): New function.
51571 * util/grub-emu.c (grub_end_addr): Remove variable.
51572 (grub_total_module_size): Likewise.
51573 (grub_arch_modules_addr): New function.
51574 * util/misc.c: Include unistd.h.
51575 (grub_util_get_fp_size): New function.
51576 (grub_util_read_at): Likewise.
51577 (grub_util_write_image_at): Likewise.
51578 (grub_util_read_image): Call grub_util_read_at.
51579 (grub_util_write_image): Call grub_util_write_image_at.
51580 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51581 additional memory in kernel_img for a struct grub_module_info.
51582 Fill in that grub_module_info.
51583 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51584
51585 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51586
51587 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51588 New function.
51589 * include/grub/powerpc/ieee1275/ieee1275.h
51590 (grub_ieee1275_milliseconds): New prototype.
51591 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51592 Change to 1000.
51593 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51594 grub_ieee1275_milliseconds.
51595
51596 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51597
51598 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51599 variable.
51600 (find_options): New function.
51601 (cmain): Call find_options.
51602 * include/grub/powerpc/ieee1275/ieee1275.h
51603 (grub_ieee1275_realmode): New extern variable.
51604 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51605 grub_map if grub_ieee1275_realmode is false.
51606
51607 2004-12-29 Marco Gerards <metgerards@student.han.nl>
51608
51609 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51610 lines are inserted and make it work like readline. Reported by
51611 Vincent Pelletier <subdino2004@yahoo.fr>.
51612
51613 2004-12-28 Marco Gerards <metgerards@student.han.nl>
51614
51615 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51616
51617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51618 `kern/powerpc/cache.S'.
51619
51620 2004-12-27 Marco Gerards <metgerards@student.han.nl>
51621
51622 * genmk.rb: Handle the `Program' class in the main loop. Written
51623 by Johan Rydberg <jrydberg@gnu.org>.
51624 (Program): New class.
51625 (programs): New variable.
51626 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51627 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51628 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51629 (help_arch): Function removed.
51630 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51631 `powerpc/libgcc.h' and `loader.h'.
51632 (pkgdata_PROGRAMS): New variable.
51633 (sbin_UTILITIES): Variable removed.
51634 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51635 (grubof_SOURCES): Variable re-defined so it only includes the
51636 core functionality.
51637 (grubof_CFLAGS): Remove `-DGRUBOF'.
51638 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51639 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51640 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51641 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51642 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51643 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51644 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51645 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51646 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51647 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51648 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51649 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51650 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51651 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51652 (pc_mod_CFLAGS): New variables.
51653 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51654 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51655 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51656 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51657 Moved from here...
51658 * include/grub/i386/pc/init.h (grub_os_area_addr)
51659 (rub_os_area_size): ... to here.
51660 * include/grub/powerpc/ieee1275/ieee1275.h
51661 (grub_ieee1275_entry_fn): Export symbol.
51662 * include/grub/powerpc/ieee1275/init.h: New file.
51663 * include/grub/powerpc/libgcc.h: Likewise.
51664 * include/grub/cache.h: Likewise.
51665 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51666 <hollis@penguinppc.org>.
51667 * kern/dl.c: Include <grub/cache.h>.
51668 (grub_dl_flush_cache): New function.
51669 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51670 for this module.
51671 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51672 (grub_console_init): Removed prototypes.
51673 (grub_machine_init): Don't initialize the modules anymore.
51674 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51675 static.
51676 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51677 Macro undef removed.
51678 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51679 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51680 relocation `R_PPC_REL32'. Return an error when the relocation is
51681 unknown.
51682 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51683 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51684 * util/misc.c (grub_arch_sync_caches): Likewise.
51685
51686 2004-12-19 Marco Gerards <metgerards@student.han.nl>
51687
51688 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51689 `symlist.c', add `grubof_symlist.c'.
51690 (symlist.c): Variable removed.
51691 (grubof_HEADERS): Variable added.
51692 (grubof_symlist.c): New target.
51693 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51694 `kernel_img_HEADERS'.
51695 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51696 * kern/powerpc/dl.c: New file.
51697 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51698 Function removed.
51699 (grub_arch_dl_relocate_symbols): Likewise.
51700 (grub_register_exported_symbols): Likewise.
51701
51702 2004-12-13 Marco Gerards <metgerards@student.han.nl>
51703
51704 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51705 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51706 to fail instead. Reported by Vincent Pelletier
51707 <subdino2004@yahoo.fr>.
51708
51709 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51710 it is not allocated. Reported by Vincent Pelletier
51711 <subdino2004@yahoo.fr>.
51712
51713 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51714 output so the output looks better.
51715
51716 2004-12-04 Marco Gerards <metgerards@student.han.nl>
51717
51718 Modulize the partition map support and add support for the amiga
51719 partition map.
51720
51721 * commands/ls.c: Include <grub/partition.h> instead of
51722 <grub/machine/partition.h>.
51723 * kern/disk.c: Likewise.
51724 * kern/rescue.c: Likewise.
51725 * loader/i386/pc/chainloader.c: Likewise.
51726 * normal/cmdline.c: Likewise.
51727 * kern/powerpc/ieee1275/init.c: Likewise.
51728 (grub_machine_init): Call `grub_pc_partition_map_init',
51729 `grub_amiga_partition_map_init' and
51730 `grub_apple_partition_map_init'.
51731 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51732 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51733 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51734 `partition.h' and `pc_partition.h'.
51735 (grub_setup_SOURCES): Remove
51736 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51737 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51738 (grub_emu_SOURCES): Likewise.
51739 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51740 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51741 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51743 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51744 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51745 (grubof_SOURCES): Likewise.
51746 * disk/i386/pc/partition.c: File removed.
51747 * disk/powerpc/ieee1275/partition.c: Likewise.
51748 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51749 * include/grub/i386/pc/partition.h: Likewise.
51750 * kern/partition.c: New file.
51751 * partmap/amiga.c: Likewise.
51752 * partmap/apple.c: Likewise.
51753 * partmap/pc.c: Likewise.
51754 * include/grub/partition.h: Likewise..
51755 * include/grub/pc_partition.h: Likewise.
51756 * util/grub-emu.c: Include <grub/partition.h> instead of
51757 <grub/machine/partition.h>.
51758 (main): Call `grub_pc_partition_map_init',
51759 `grub_amiga_partition_map_init' and
51760 `grub_apple_partition_map_init' and deinitialize afterwards.
51761 * util/i386/pc/biosdisk.c: Include `#include
51762 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51763 `<grub/machine/partition.h>'.
51764 * util/i386/pc/grub-setup.c: Likewise.
51765 * util/i386/pc/biosdisk.c: Likewise.
51766 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51767 partition information in case of a PC partition.
51768 * util/i386/pc/grub-setup.c: Include `#include
51769 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51770 `<grub/machine/partition.h>'.
51771 (setup): Only access the PC specific partition information in case
51772 of a PC partition.
51773
51774 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
51775
51776 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51777 (grub_longjmp): Likewise.
51778 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51779 20.
51780 * normal/powerpc/setjmp.S: New file.
51781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51782 `normal/powerpc/setjmp.S'.
51783 (grubof_CFLAGS): Add `-DGRUBOF'.
51784 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51785 [GRUB_UTIL && !GRUBOF].
51786
51787 2004-11-16 Marco Gerards <metgerards@student.han.nl>
51788
51789 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51790 property named `name'. Correctly handle the error returned by
51791 `grub_ieee1275_finddevice' if a device can not be opened.
51792
51793 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51794
51795 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51796 `actual' for negativity.
51797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51798 kern/fshelp.c.
51799
51800 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51801
51802 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51803 (PAGE_OFFSET): New macro.
51804 (CRTC_ADDR_PORT): Likewise.
51805 (CRTC_DATA_PORT): Likewise.
51806 (START_ADDR_HIGH_REGISTER): Likewise.
51807 (START_ADDR_LOW_REGISTER): Likewise.
51808 (GRAPHICS_ADDR_PORT): Likewise.
51809 (GRAPHICS_DATA_PORT): Likewise.
51810 (READ_MAP_REGISTER): Likewise.
51811 (INPUT_STATUS1_REGISTER): Likewise.
51812 (INPUT_STATUS1_VERTR_BIT): Likewise.
51813 (page): New variable.
51814 (wait_vretrace): New function.
51815 (set_read_map): Likewise.
51816 (set_start_address): Likewise.
51817 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51818 the right page.
51819 (check_vga_mem): Take the page into account.
51820 (write_char): Likewise.
51821 (write_cursor): Likewise.
51822 (scroll_up): Likewise. Copy the page to the page that is not
51823 shown and switch between both pages.
51824 (grub_vga_putchar): Fix off by one error.
51825 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51826 account.
51827
51828 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51829
51830 Add support for iso9660 (including rockridge).
51831
51832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51833 (iso9660_mod_SOURCES): New variable.
51834 (iso9660_mod_CFLAGS): Likewise.
51835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51836 * include/grub/fs.h (grub_iso9660_init): New prototype.
51837 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51838 * fs/iso9660.c: New file.
51839
51840 * include/grub/misc.h (grub_strncat): New prototype.
51841 * kern/misc.c (grub_strncat): New function.
51842
51843 * fs/hfs.c (grub_hfs_mount): Translate the error
51844 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51845 * fs/jfs.c (grub_jfs_mount): Likewise.
51846 * fs/ufs.c (grub_ufs_mount): Likewise.
51847
51848 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51849
51850 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51851 which initialized BAT registers.
51852 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51853 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51854 Move from here...
51855 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51856 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51857 ... to here.
51858 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51859 (grub_mapclaim): Likewise.
51860 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51861 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51862 hand.
51863
51864 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51865
51866 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51867 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51868 -ffreestanding and -msoft-float.
51869
51870 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51871
51872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51873 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51874 set in grub_ieee1275_flags.
51875
51876 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51877
51878 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51879 prototype.
51880 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51881 grub_console_init first.
51882 Change the memory range used for grub_ieee1275_claim and
51883 grub_mm_init_region.
51884 Print an error message if the claim fails.
51885 Include <grub/misc.h>.
51886
51887 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51888
51889 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51890 Call grub_children_iterate for device nodes of type `scsi',
51891 `ide', or `ata'.
51892 (grub_ofdisk_open): Remove manual device alias resolution.
51893 Fix memory leak when device cannot be opened.
51894 * include/grub/powerpc/ieee1275/ieee1275.h
51895 (grub_children_iterate): New prototype.
51896 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51897 New function.
51898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51899 Return -1 if args.size was -1.
51900
51901 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51902
51903 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51904 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51905 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51906 Open Firmware's memory for it; claim memory from _start to _end.
51907 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51908 (_end): New extern.
51909 (_start): Zero BSS from __bss_start to _end.
51910 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51911 New extern.
51912 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51913
51914 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51915
51916 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51917 -1 if args.base was -1.
51918
51919 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51920
51921 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51922 escape sequence instead of a literal ^L. Also call
51923 grub_ofconsole_gotoxy.
51924
51925 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51926
51927 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51928 void * arguments to grub_addr_t. All callers updated. Also make
51929 the `result' argument optional.
51930 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51931 All callers updated.
51932
51933 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51934
51935 * commands/ls.c (grub_ls_list_files): Use the string following the
51936 initial ')', if present, as the filesystem path.
51937 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51938
51939 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51940
51941 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51942
51943 Make the source code of the menu interface more readable.
51944
51945 * normal/menu.c: Include grub/mm.h.
51946 (TERM_WIDTH): New macro.
51947 (TERM_HEIGHT): Likewise.
51948 (TERM_INFO_HEIGHT): Likewise.
51949 (TERM_MARGIN): Likewise.
51950 (TERM_SCROLL_WIDTH): Likewise.
51951 (TERM_TOP_BORDER_Y): Likewise.
51952 (TERM_LEFT_BORDER_X): Likewise.
51953 (TERM_BORDER_WIDTH): Likewise.
51954 (TERM_MESSAGE_HEIGHT): Likewise.
51955 (TERM_BORDER_HEIGHT): Likewise.
51956 (TERM_NUM_ENTRIES): Likewise.
51957 (TERM_FIRST_ENTRY_Y): Likewise.
51958 (TERM_ENTRY_WIDTH): Likewise.
51959 (TERM_CURSOR_X): Likewise.
51960 (draw_border): Use macros instead of magic numbers.
51961 (print_entry): Likewise.
51962 (print_entries): Likewise.
51963 (run_menu): Likewise. Also, handle the key 'e'.
51964 (run_menu_entry): Ignore empty command lines.
51965 (print_message): Added a new argument EDIT. If EDIT is true,
51966 print a different message.
51967 (init_page): Likewise.
51968 (edit_menu_entry): New function. Not implemented yet.
51969
51970 2004-09-17 Marco Gerards <metgerards@student.han.nl>
51971
51972 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51973 can be loaded from normal mode.
51974
51975 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51976 `multiboot.mod'.
51977 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51978 (multiboot_mod_CFLAGS): New variables.
51979 * loader/i386/pc/linux_normal.c: New file.
51980 * loader/i386/pc/multiboot_normal.c: Likewise.
51981
51982 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51983 attribute `unused'.
51984
51985 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51986 `fdiro' to read the mode information from instead of `diro'.
51987
51988 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51989 looking up a symlink.
51990
51991 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51992 macro.
51993 * normal/command.c (grub_command_execute): Don't parse the
51994 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51995 flags of the command.
51996
51997 * normal/menu.c (grub_menu_run): Fix typo.
51998
51999 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52000
52001 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52002
52003 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52004 `y + 1' instead of `y - 1'.
52005
52006 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
52007
52008 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52009
52010 From Hollis Blanchard <hollis@penguinppc.org>:
52011 * kern/misc.c (memmove): New alias for grub_memmove.
52012 (memcmp): New alias for grub_memcmp.
52013 (memset): New alias for grub_memset.
52014 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52015 Change "int handle" to "grub_ieee1275_phandle_t handle".
52016 * include/grub/powerpc/ieee1275/ieee1275.h
52017 (grub_ieee1275_get_property): Likewise.
52018
52019 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52020
52021 Added normal mode command `chainloader' as module chain.mod, which
52022 depends on normal.mod and _chain.mod.
52023
52024 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52025 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52026 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52027 Deleted prototype.
52028 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52029 but arguments parsing moved to ...
52030 (grub_chainloader_cmd): ... here. New function.
52031 * include/grub/i386/pc/chainloader.h: New file.
52032 * loader/i386/pc/chainloader_normal.c: Likewise.
52033
52034 2004-09-11 Marco Gerards <metgerards@student.han.nl>
52035
52036 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52037 (grub_mkimage_LDFLAGS): Likewise.
52038 (grub_emu_SOURCES): Likewise.
52039 (kernel_img_HEADERS): Added fshelp.h.
52040 * fs/ext2.c: Include <grub/fshelp.h>.
52041 (FILETYPE_REG): New macro.
52042 (FILETYPE_INO_REG): Likewise.
52043 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52044 Changed all users.
52045 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52046 all users.
52047 (grub_fshelp_node): New struct.
52048 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52049 to a pointer.
52050 (grub_ext2_get_file_block): Removed function.
52051 (grub_ext2_read_block): New function.
52052 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52053 This function was written.
52054 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52055 (grub_ext2_find_file): Removed function.
52056 (grub_ext2_read_symlink): New function.
52057 (grub_ext2_iterate_dir): Likewise.
52058 (grub_ext2_open): Rewritten.
52059 (grub_ext2_dir): Rewritten.
52060 * include/grub/fshelp.h: New file.
52061 * fs/fshelp.c: Likewise.
52062
52063 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52064
52065 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52066 (print_message): Add a missing newline.
52067 (run_menu): Added timeout support.
52068 (run_menu_entry): New local function.
52069 (grub_menu_run): Added support for booting.
52070
52071 * kern/loader.c (grub_loader_is_loaded): New function.
52072
52073 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52074 (grub_get_rtc): Exported.
52075
52076 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52077 (grub_get_rtc): Exported.
52078
52079 * include/grub/normal.h (struct grub_command_list): Remove
52080 constant from the member `command'.
52081
52082 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52083
52084 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52085
52086 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52087
52088 2004-08-28 Marco Gerards <metgerards@student.han.nl>
52089
52090 Add support for the JFS filesystem.
52091
52092 * fs/jfs.c: New file.
52093 * include/grub/fs.h (grub_jfs_init): New prototype.
52094 (grub_jfs_fini): New prototype.
52095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52096 (grub_emu_SOURCES): Likewise.
52097 (pkgdata_MODULES): Add jfs.mod.
52098 (jfs_mod_SOURCES): New variable.
52099 (jfs_mod_CFLAGS): Likewise.
52100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52101 (grubof_SOURCES): Likewise.
52102 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52103
52104 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52105 endian to the host endian.
52106 (grub_fat_utf16_to_utf8): Move function from there...
52107 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
52108 the endianness of the source string anymore.
52109 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52110
52111 2004-08-24 Marco Gerards <metgerards@student.han.nl>
52112
52113 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52114 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52115 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52116 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
52117
52118 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52119 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52120 for `node_found' and `it_dir'.
52121 (grub_hfs_dir): Add prototype for `dir_hook'.
52122
52123 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52124 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52125 and `indir32' to silence a gcc warning.
52126
52127 * include/grub/fs.h (grub_hfs_init): New prototype.
52128 (grub_hfs_fini): Likewise.
52129
52130
52131 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52132
52133 Each disk device has its own id now. This is useful to make use
52134 of multiple disk devices.
52135
52136 * include/grub/disk.h (grub_disk_dev_id): New enum.
52137 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52138 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52139
52140 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52141 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52142
52143 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52144 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52145
52146 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52147 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52148
52149 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52150 "id" which is used by the cache manager.
52151
52152 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52153 of just "GRUB".
52154
52155 2004-08-18 Marco Gerards <metgerards@student.han.nl>
52156
52157 * fs/hfs.c: New file.
52158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52159 (grub_emu_SOURCES): Likewise.
52160 (pkgdata_MODULES): Add hfs.mod.
52161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52162 (grubof_SOURCES): Likewise.
52163 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52164
52165 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52166 * kern/misc.c (grub_strncasecmp): Add function.
52167
52168 2004-08-14 Marco Gerards <metgerards@student.han.nl>
52169
52170 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52171 with parentheses.
52172
52173 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52174 (grub_ext2_dir): In case the directory entry type is unknown, read
52175 it from the inode.
52176
52177 2004-08-02 Peter Bruin <pjbruin@dds.nl>
52178
52179 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52180 grub_load_linux instead of grub_rescue_cmd_linux as second
52181 argument of grub_rescue_register_command.
52182
52183 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52184
52185 2004-07-27 Marco Gerards <metgerards@student.han.nl>
52186
52187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52188 function.
52189 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52191 `loader/powerpc/ieee1275/linux.c',
52192 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52193 * include/grub/powerpc/ieee1275/ieee1275.h
52194 (grub_ieee1275_release): New prototype.
52195 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52196 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52197 normal, boot, linux and linux_normal.
52198 * loader/powerpc/ieee1275/linux.c: New file.
52199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52200
52201 2004-07-12 Marco Gerards <metgerards@student.han.nl>
52202
52203 * normal/arg.c (grub_arg_parse): Correct error handling after
52204 reallocating the argumentlist (check if `argl' is not null instead
52205 of checking if `args' is not null).
52206 * kern/mm.c (grub_realloc): Return the same pointer when using the
52207 same region, instead of returning the header address.
52208
52209 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52210
52211 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52212 one block instead of two when looking for the initial partition.
52213 (grub_partition_probe): Initialize the local variable `p' with 0.
52214 Use base 10 for the grub_strtoul call.
52215 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52216 need for one local variable.
52217 (grub_strtoul): Don't add the new value to `num', instead of that
52218 just assign it.
52219
52220 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52221
52222 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52223 (pxeboot_img_SOURCES): New variable.
52224 (pxeboot_img_ASFLAGS): Likewise.
52225 (pxeboot_img_LDFLAGS): Likewise.
52226 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52227 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52228 <lode_leroy@hotmail.com>.
52229
52230 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52231
52232 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52233 there was no input.
52234
52235 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52236
52237 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52238 the history buffer logic.
52239
52240 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52241
52242 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52243 (FILETYPE_INO_SYMLINK): New macros.
52244 (grub_ext2_find_file): Check if the node is a directory using the
52245 inode stat information instead of using the filetype in the
52246 dirent. Exclude the first character of an absolute symlink.
52247 (grub_ext2_dir): Mask out the filetype part of the mode member of
52248 the inode.
52249
52250 2004-05-24 Marco Gerards <metgerards@student.han.nl>
52251
52252 Add support for UFS version 1 and 2. Add support for the minix
52253 filesystem version 1 and 2, both the variants with 14 and 30 long
52254 filenames.
52255
52256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52257 fs/minix.c.
52258 (grub_emu_SOURCES): Likewise.
52259 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52260 (ufs_mod_SOURCES): New variable.
52261 (ufs_mod_CFLAGS): Likewise.
52262 (minix_mod_SOURCES): Likewise.
52263 (minix_mod_CFLAGS): Likewise.
52264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52265 fs/minix.c.
52266 (grubof_SOURCES): Likewise.
52267 * fs/ufs.c: New file.
52268 * fs/minix.c: New file.
52269 * include/grub/fs.h (grub_ufs_init): New prototype.
52270 (grub_ufs_fini): Likewise.
52271 (grub_minix_init): Likewise.
52272 (grub_minix_fini): Likewise.
52273 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52274 minix fs.
52275
52276 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52277
52278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52279 commands/ls.c, commands/terminal.c, commands/boot.c,
52280 commands/cmp.c and commands/cat.c.
52281 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52282
52283 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52284 "env.h"
52285
52286 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52287
52288 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52289 and grub_, respectively. Because the conversion is trivial and
52290 mechanical, I omit the details here. Please refer to the CVS
52291 if you need more information.
52292
52293 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52294
52295 * include/pupa: Renamed to ...
52296 * include/grub: ... this.
52297 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52298 * util/i386/pc/grub-mkimage.c: ... this.
52299 * util/i386/pc/pupa-setup.c: Renamed to ...
52300 * util/i386/pc/grub-setup.c: ... this.
52301 * util/pupa-emu.c: Renamed to ...
52302 * util/grub-emu.c: ... this.
52303
52304 2004-03-29 Marco Gerards <metgerards@student.han.nl>
52305
52306 Add support for the newworld apple macintosh (PPC). This has been
52307 tested on the powerbook 2000 only. It only adds support for
52308 generic ieee1275 functions, console and disk support. This should
52309 be easy to port to other architectures with support for Open
52310 Firmware.
52311
52312 * configure.ac: Accept the powerpc as host_cpu. In the case of
52313 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52314 specific tests are only executed while building for the i386.
52315 Inverse test for crosscompile.
52316 * genmk.rb (Utility): Allow assembler files.
52317 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52318 * conf/powerpc-ieee1275.rmk: New file.
52319 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52320 * disk/powerpc/ieee1275/partition.c: Likewise.
52321 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52322 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52323 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52324 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52325 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52326 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52327 * include/pupa/powerpc/ieee1275/loader.h
52328 * include/pupa/powerpc/setjmp.h: Likewise.
52329 * include/pupa/powerpc/types.h: Likewise.
52330 * kern/powerpc/ieee1275/init.c: Likewise.
52331 * kern/powerpc/ieee1275/openfw.c: Likewise.
52332 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52333
52334 These files were written by Johan Rydberg
52335 (jrydberg@night.trouble.net) and I only modified them slightly.
52336
52337 * boot/powerpc/ieee1275/cmain.c: New file.
52338 * boot/powerpc/ieee1275/crt0.S: Likewise.
52339 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52340 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52341
52342 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52343
52344 * Makefile.in: Update copyright.
52345 * genmodsrc.sh: Likewise.
52346 * gensymlist.sh: Likewise.
52347 * term/i386/pc/vga.c: Indent correctly.
52348
52349 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52350 bugreporting address.
52351 * util/i386/pc/pupa-setup.c (usage): Likewise,
52352 (main): Call pupa_ext2_init and pupa_ext2_fini.
52353
52354 * fs/fat.c (log2): Renamed to ...
52355 (fat_log2): ... this.
52356 All callers changed.
52357 * kern/misc.c (memcpy): Alias to pupa_memmove.
52358 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52359 lvalue cast.
52360 * util/console.c (pupa_ncurses_fini): Return 0.
52361
52362 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52363 Move fail label here.
52364 [__GNU__]: Don't warn when using stat.
52365 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52366 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52367 long int. Use strtol instead of strtoul.
52368
52369 2004-03-14 Marco Gerards <metgerards@student.han.nl>
52370
52371 * commands/boot.c: New file.
52372 * commands/cat.c: Likewise.
52373 * commands/cmp.c: Likewise.
52374 * commands/ls.c: Likewise.
52375 * commands/terminal.c: Likewise.
52376 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52377 (pupa_register_command): Changed interface to match the new
52378 argument parser.
52379 (pupa_command_execute): Changed (almost rewritten) so it uses
52380 pupa_split_command. Added support for setting variables using the
52381 syntax `foo=bar'.
52382 (rescue_command): Changed to work with the new argument parser.
52383 (terminal_command): Moved from here to commands/terminal.c.
52384 (set_command): New function.
52385 (unset_command): New function.
52386 (insmod_command): New function.
52387 (rmmod_command): New function.
52388 (lsmod_command): New function.
52389 (pupa_command_init): Don't initialize the command terminal
52390 anymore. Initialize the commands set, unset, insmod, rmmod and
52391 lsmod.
52392 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52393 (kernel_img_HEADERS): Add arg.h and env.h.
52394 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52395 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52396 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52397 normal/arg.c.
52398 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52399 terminal.mod.
52400 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52401 (boot_mod_SOURCES): New variable.
52402 (terminal_mod_SOURCES): Likewise.
52403 (ls_mod_SOURCES): Likewise.
52404 (cmp_mod_SOURCES): Likewise.
52405 (cat_mod_SOURCES): Likewise.
52406
52407 * normal/arg.c: New file.
52408 * kern/env.c: Likewise.
52409 * include/pupa/arg.h: Likewise.
52410 * include/pupa/env.h: Likewise.
52411 * font/manager.c (font_command): Changed to match argument parsing
52412 interface changes.
52413 (PUPA_MOD_INIT): Likewise.
52414 * hello/hello.c (pupa_cmd_hello): Likewise.
52415 (PUPA_MOD_INIT): Likewise.
52416 * include/pupa/disk.h: Include <pupa/device.h>.
52417 (pupa_print_partinfo): New prototype.
52418 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52419 (pupa_dl_get_prefix): Likewise.
52420 * include/pupa/misc.h: Include <pupa/err.h>.
52421 (pupa_isgraph): New prototype.
52422 (pupa_isdigit): Likewise.
52423 (pupa_split_cmdline): Likewise.
52424 * include/pupa/normal.h: Include <pupa/arg.h>.
52425 (pupa_command): Changed the prototype of the member `func' to
52426 match the argument parsing interface. Added member `options'.
52427 (pupa_register_command): Updated to match function.
52428 (pupa_arg_parse): New prototype.
52429 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52430 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52431 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52432 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52433 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52434 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52435 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52436 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52437 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52438 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52439 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52440 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52441 * kern/disk.c: Include <pupa/file.h>.
52442 (pupa_print_partinfo): New function.
52443 * kern/dl.c: Include <pupa/env.h>.
52444 (pupa_dl_dir): Variable removed.
52445 (pupa_dl_load): Use the environment variable `prefix' instead of
52446 the variable pupa_dl_dir.
52447 (pupa_dl_set_prefix): Function removed.
52448 (pupa_dl_get_prefix): Likewise.
52449 * kern/i386/pc/init.c: Include <pupa/env.h>.
52450 (pupa_machine_init): Use the environment variable `prefix' instead of
52451 using pupa_dl_set_prefix to set the prefix.
52452 * kern/main.c: Include <pupa/env.h>.
52453 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52454 using pupa_dl_get_prefix to get the prefix.
52455 * kern/misc.c: Include <pupa/env.h>.
52456 (pupa_isdigit): New function.
52457 (pupa_isgraph): Likewise.
52458 (pupa_ftoa): Likewise.
52459 (pupa_vsprintf): Added support for printing values of the type
52460 `double'. Make it possible to format variable output when using
52461 formatting like `%1.2%f'.
52462 (pupa_split_cmdline): New function.
52463 * kern/rescue.c: Include <pupa/env.h>.
52464 (next_word): Removed function.
52465 (pupa_rescue_cmd_prefix): Likewise.
52466 (pupa_rescue_cmd_set): New function.
52467 (pupa_rescue_cmd_unset): New function.
52468 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52469 split the command line instead of splitting it here. Added
52470 support for setting variables using the syntax `foo=bar'. Don't
52471 initialize the prefix command anymore. Initialized the set and
52472 unset commands.
52473 * normal/cmdline.c: Include <pupa/env.h>.
52474 (pupa_tab_complete): Added prototypes for print_simple_completion,
52475 print_partition_completion, add_completion, iterate_commands,
52476 iterate_dev, iterate_part and iterate_dir. Moved code to print
52477 partition information from here to kern/disk.c.
52478 (pupa_cmdline_run): Don't check if the function exists anymore.
52479 * normal/main.c: Include <pupa/env.h>.
52480 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52481 instead of using pupa_dl_get_prefix to get the prefix.
52482 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52483 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52484 warning.
52485 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52486 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52487 ((unused))' to silence a gcc warning.
52488 (pupa_vga_setcolor): Likewise.
52489 (debug_command): Changed to match argument parsing
52490 interface changes.
52491 * util/pupa-emu.c: Include <pupa/env.h>.
52492 (options): Added 0's for unused fields to silence a gcc warning.
52493 (argp): Likewise.
52494 (main): Use the environment variable `prefix' instead of using
52495 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52496 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52497 and terminal.
52498
52499 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52500 * util/misc.c: Include <malloc.h>.
52501 (pupa_malloc): Rewritten so errors are correctly reported.
52502 (pupa_realloc): Likewise.
52503 (pupa_memalign): Likewise.
52504 (pupa_mm_init_region): Declare unused variables with
52505 `__attribute__ ((unused))' to silence a gcc warning.
52506 * normal/i386/setjmp.S: Remove tab at the end of the file to
52507 silence a gcc warning.
52508 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52509 variables with `__attribute__ ((unused))' to silence a gcc
52510 warning.
52511 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52512 local variable i unsigned to silence a gcc warning.
52513
52514 * kern/term.c: Include <pupa/misc.h>.
52515 (pupa_more_lines): New variable.
52516 (pupa_more): Likewise.
52517 (pupa_putcode): When the pager is active pause at the end of every
52518 screen.
52519 (pupa_set_more): New function.
52520 * include/pupa/term.h (pupa_set_more): New prototype.
52521
52522
52523 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52524
52525 Now this project is GRUB 2 rather than PUPA. The location of
52526 the CVS repository was moved to GRUB's.
52527
52528 * configure.ac: Use bug-grub as the reporting address.
52529 Use GRUB instead of PUPA.
52530 Change the version number to 1.90.
52531
52532 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52533
52534 * genkernsyms.sh: Updated copyright information.
52535 * genmk.rb: Likewise.
52536 * genmodsrc.sh: Likewise.
52537 * gensymlist.sh: Likewise.
52538 * boot/i386/pc/boot.S: Likewise.
52539 * boot/i386/pc/diskboot.S: Likewise.
52540 * disk/i386/pc/biosdisk.c: Likewise.
52541 * disk/i386/pc/partition.c: Likewise.
52542 * font/manager.c: Likewise.
52543 * fs/ext2.c: Likewise.
52544 * fs/fat.c: Likewise.
52545 * include/pupa/boot.h: Likewise.
52546 * include/pupa/device.h: Likewise.
52547 * include/pupa/disk.h: Likewise.
52548 * include/pupa/dl.h: Likewise.
52549 * include/pupa/elf.h: Likewise.
52550 * include/pupa/err.h: Likewise.
52551 * include/pupa/file.h: Likewise.
52552 * include/pupa/font.h: Likewise.
52553 * include/pupa/fs.h: Likewise.
52554 * include/pupa/kernel.h: Likewise.
52555 * include/pupa/loader.h: Likewise.
52556 * include/pupa/misc.h: Likewise.
52557 * include/pupa/mm.h: Likewise.
52558 * include/pupa/net.h: Likewise.
52559 * include/pupa/normal.h: Likewise.
52560 * include/pupa/rescue.h: Likewise.
52561 * include/pupa/setjmp.h: Likewise.
52562 * include/pupa/symbol.h: Likewise.
52563 * include/pupa/term.h: Likewise.
52564 * include/pupa/types.h: Likewise.
52565 * include/pupa/i386/setjmp.h: Likewise.
52566 * include/pupa/i386/types.h: Likewise.
52567 * include/pupa/i386/pc/biosdisk.h: Likewise.
52568 * include/pupa/i386/pc/boot.h: Likewise.
52569 * include/pupa/i386/pc/console.h: Likewise.
52570 * include/pupa/i386/pc/init.h: Likewise.
52571 * include/pupa/i386/pc/kernel.h: Likewise.
52572 * include/pupa/i386/pc/linux.h: Likewise.
52573 * include/pupa/i386/pc/loader.h: Likewise.
52574 * include/pupa/i386/pc/memory.h: Likewise.
52575 * include/pupa/i386/pc/multiboot.h: Likewise.
52576 * include/pupa/i386/pc/partition.h: Likewise.
52577 * include/pupa/i386/pc/time.h: Likewise.
52578 * include/pupa/i386/pc/vga.h: Likewise.
52579 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52580 * include/pupa/util/getroot.h: Likewise.
52581 * include/pupa/util/misc.h: Likewise.
52582 * include/pupa/util/resolve.h: Likewise.
52583 * kern/device.c: Likewise.
52584 * kern/disk.c: Likewise.
52585 * kern/dl.c: Likewise.
52586 * kern/err.c: Likewise.
52587 * kern/file.c: Likewise.
52588 * kern/fs.c: Likewise.
52589 * kern/loader.c: Likewise.
52590 * kern/main.c: Likewise.
52591 * kern/misc.c: Likewise.
52592 * kern/mm.c: Likewise.
52593 * kern/rescue.c: Likewise.
52594 * kern/term.c: Likewise.
52595 * kern/i386/dl.c: Likewise.
52596 * kern/i386/pc/init.c: Likewise.
52597 * kern/i386/pc/lzo1x.S: Likewise.
52598 * kern/i386/pc/startup.S: Likewise.
52599 * loader/i386/pc/chainloader.c: Likewise.
52600 * loader/i386/pc/linux.c: Likewise.
52601 * loader/i386/pc/multiboot.c: Likewise.
52602 * normal/cmdline.c: Likewise.
52603 * normal/command.c: Likewise.
52604 * normal/main.c: Likewise.
52605 * normal/menu.c: Likewise.
52606 * normal/i386/setjmp.S: Likewise.
52607 * term/i386/pc/console.c: Likewise.
52608 * term/i386/pc/vga.c: Likewise.
52609 * util/console.c: Likewise.
52610 * util/genmoddep.c: Likewise.
52611 * util/misc.c: Likewise.
52612 * util/pupa-emu.c: Likewise.
52613 * util/resolve.c: Likewise.
52614 * util/unifont2pff.rb: Likewise.
52615 * util/i386/pc/biosdisk.c: Likewise.
52616 * util/i386/pc/getroot.c: Likewise.
52617 * util/i386/pc/pupa-mkimage.c: Likewise.
52618 * util/i386/pc/pupa-setup.c: Likewise.
52619
52620 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52621
52622 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52623 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52624 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52625 reading and reset it after reading.
52626 (pupa_ext2_close): Return PUPA_ERR_NONE.
52627
52628 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52629 Correct value.
52630 (struct linux_kernel_header): Add kernel_version and
52631 initrd_addr_max.
52632 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52633 pupa_file_read succeeds.
52634 (pupa_rescue_cmd_initrd): Implement.
52635
52636 2003-12-03 Marco Gerards <metgerards@student.han.nl>
52637
52638 * fs/ext2.c (pupa_ext2_label): New function.
52639 (pupa_ext2_fs): Added label.
52640 * fs/fat.c (pupa_fat_label): New function.
52641 (pupa_fat_fs): Added label.
52642 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52643
52644 * kern/misc.c (pupa_strndup): New function.
52645 * include/pupa/misc.h (pupa_strndup): New prototype.
52646
52647 * include/pupa/normal.h: Include <pupa/err.h>.
52648 (pupa_set_history): New prototype.
52649 (pupa_iterate_commands): New prototype.
52650 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52651 <pupa/disk.h>, <pupa/file.h>.
52652 (hist_size): New variable.
52653 (hist_lines): Likewise.
52654 (hist_end): Likewise.
52655 (hist_used): Likewise.
52656 (pupa_set_history): New function.
52657 (pupa_history_get): Likewise.
52658 (pupa_history_add): Likewise.
52659 (pupa_history_replace): Likewise.
52660 (pupa_tab_complete): Likewise.
52661 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52662 completion shows partitionnames while completing partitions, this
52663 feature was suggested by Jeff Bailey.
52664 * normal/command.c (pupa_iterate_commands): New function.
52665 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52666 (pupa_normal_init): Initialize history buffer.
52667 (PUPA_MOD_INIT): Likewise.
52668 (pupa_normal_fini): Free the history buffer.
52669 (PUPA_MOD_FINI): Likewise.
52670
52671 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52672 key.
52673
52674 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52675 * configure.ac [i386]: Check for regparam bug.
52676 (NESTED_FUNC_ATTR) [! i386]: Defined.
52677
52678 2003-11-17 Marco Gerards <metgerards@student.han.nl>
52679
52680 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52681 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52682 (pupa_emu_SOURCES): New variable.
52683 (pupa_emu_LDFLAGS): Likewise.
52684 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52685 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52686 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52687 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52688 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52689 (pupa_jmp_buf): New typedef.
52690 (pupa_setjmp) [PUPA_UTIL]: New macro.
52691 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52692 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52693 (pupa_refresh): New prototype.
52694 * include/pupa/util/getroot.h: New file.
52695 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52696 it.
52697 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52698 (pupa_rescue_cmd_cat): Likewise.
52699 (pupa_rescue_cmd_ls): Likewise.
52700 (pupa_rescue_cmd_testload): Likewise.
52701 (pupa_rescue_cmd_lsmod): Likewise.
52702 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52703 * normal/menu.c (run_menu): Likewise.
52704 * kern/term.c (pupa_cls): Likewise.
52705 (pupa_refresh): New function.
52706 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52707 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52708 * util/console.c: New file.
52709
52710 * util/i386/pc/getroot.c: New file.
52711 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52712 (pupa_putchar): New function.
52713 (pupa_refresh): Likewise.
52714 (xgetcwd): Function moved to ...
52715 (strip_extra_slashes): Likewise.
52716 (get_prefix): Likewise.
52717 * util/i386/pc/getroot.c: ... here.
52718 (find_root_device): Function moved and renamed to...
52719 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52720 Changed all callers.
52721 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52722 and renamed to...
52723 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52724 Changed all callers.
52725 * util/misc.c (pupa_memalign): New function.
52726 (pupa_mm_init_region): Likewise.
52727 (pupa_register_exported_symbols): Likewise.
52728 (pupa_putchar): Function removed.
52729 * util/pupa-emu.c: New file.
52730
52731 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52732
52733 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52734 (_multiboot_mod_SOURCES): New variable.
52735 (_multiboot_mod_CFLAGS): Likewise.
52736 * loader/i386/pc/multiboot.c: New file.
52737 * include/pupa/i386/pc/multiboot.h: Likewise.
52738 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52739 (pupa_multiboot_real_boot): New function.
52740 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52741 (pupa_multiboot_real_boot): New prototype.
52742 (pupa_rescue_cmd_multiboot): Likewise
52743 (pupa_rescue_cmd_module): Likewise.
52744
52745 * kern/loader.c (pupa_loader_set): Continue when
52746 pupa_loader_unload_func() fails.
52747 (pupa_loader_unset): New function.
52748 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52749
52750 * kern/misc.c (pupa_stpcpy): New function.
52751 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52752
52753 2003-11-12 Marco Gerards <metgerards@student.han.nl>
52754
52755 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52756 for available extensions.
52757
52758 * include/pupa/i386/pc/time.h: New file.
52759 * kern/disk.c: Include <pupa/machine/time.h>.
52760 (PUPA_CACHE_TIMEOUT): New macro.
52761 (pupa_last_time): New variable.
52762 (pupa_disk_open): Flush the cache when there was a timeout.
52763 (pupa_disk_close): Reset the timer.
52764 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52765 pupa_currticks.
52766 * util/misc.c: Include <sys/times.h>
52767 (pupa_get_rtc): New function.
52768
52769 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52770
52771 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52772 as blocks.
52773 (pupa_ext2_get_file_block): Use blocks member.
52774
52775 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52776 first block. Return -1 instead of pupa_errno on error.
52777
52778 2003-10-27 Marco Gerards <metgerards@student.han.nl>
52779
52780 * README: In the pupa-mkimage example use _chain instead of chain
52781 and ext2 instead of fat.
52782 * TODO: Replace ext2fs with jfs as an example. Add an item for
52783 adding journal playback for ext2fs.
52784 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52785 (pkgdata_MODULES): Added ext2.mod.
52786 (ext2_mod_SOURCES): New variable.
52787 (ext2_mod_CFLAGS): Likewise.
52788 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52789 * include/pupa/misc.h (pupa_strncpy): New prototype.
52790 (pupa_strcat): Likewise.
52791 (pupa_strncmp): Likewise.
52792 * kern/misc.c (pupa_strcat): Enable function.
52793 (pupa_strncpy): New function.
52794 (pupa_strncmp): Likewise.
52795 * fs/ext2.c: New file.
52796
52797 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52798 when the read failed before retrying.
52799 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52800 (_FILE_OFFSET_BITS): Likewise.
52801 * configure.ac: Added AC_SYS_LARGEFILE.
52802
52803 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52804
52805 * genmk.rb (PModule#rule): Make sure to get only symbol names
52806 from the output of nm.
52807 Reported by Robert Millan <rmh.grub@aybabtu.com>.
52808
52809 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52810
52811 I forgot to check in these changes for a long time. This adds
52812 incomplete support for VGA console, and this is still very
52813 buggy. Also, a lot of consideration is required for I18N,
52814 UNICODE, and VGA font issues. Therefore, assume that this is
52815 such that "better than nothing".
52816
52817 * font/manager.c: New file.
52818 * include/pupa/font.h: Likewise.
52819 * include/pupa/i386/pc/vga.h: Likewise.
52820 * term/i386/pc/vga.c: Likewise.
52821 * util/unifont2pff.rb: Likewise.
52822
52823 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52824 (pkgdata_MODULES): Added vga.mod and font.mod.
52825 (vga_mod_SOURCES): New variables.
52826 (vga_mod_CFLAGS): Likewise.
52827 (font_mod_SOURCES): Likewise.
52828 (font_mod_CFLAGS): Likewise.
52829
52830 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52831
52832 * include/pupa/term.h: Include pupa/err.h.
52833 (struct pupa_term): Added init and fini.
52834 Changed the argument of putchar to pupa_uint32_t.
52835
52836 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52837 (pupa_console_real_putchar): New prototype.
52838 (pupa_console_putchar): Removed.
52839 (pupa_console_checkkey): Exported.
52840 (pupa_console_getkey): Likewise.
52841
52842 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52843 characters.
52844
52845 * kern/term.c (pupa_term_set_current): Rewritten.
52846 (pupa_putchar): Likewise.
52847 (pupa_putcode): New function.
52848
52849 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52850 (pupa_console_real_putchar): ... this.
52851 (pupa_vga_set_mode): New function.
52852 (pupa_vga_get_font): Likewise.
52853
52854 * normal/command.c: Include pupa/term.h.
52855 (terminal_command): New function.
52856 (pupa_command_init): Register the command "terminal".
52857
52858 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52859 (DISP_UP): Likewise.
52860 (DISP_RIGHT): Likewise.
52861 (DISP_DOWN): Likewise.
52862 (DISP_HLINE): Likewise.
52863 (DISP_VLINE): Likewise.
52864 (DISP_UL): Likewise.
52865 (DISP_UR): Likewise.
52866 (DISP_LL): Likewise.
52867 (DISP_LR): Likewise.
52868
52869 * term/i386/pc/console.c (pupa_console_putchar): New function.
52870
52871 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52872
52873 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52874 FIX. Reverse the path_list.
52875
52876 * include/pupa/normal.h: Export pupa_register_command and
52877 pupa_unregister_command.
52878
52879 * hello/hello.c (pupa_cmd_hello): New module.
52880 * conf/i386-pc.rmk: Added hello.mod.
52881
52882 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52883
52884 * kern/i386/pc/lzo1x.S: New file.
52885
52886 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52887 (compress_kernel): New variable.
52888 (generate_image): Heavily modified to support compressing a
52889 large part of the core image.
52890
52891 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52892 leak.
52893 (pupa_util_load_image): New function.
52894
52895 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52896 (pupa_compressed_size): New variable.
52897 (codestart): Enable Gate A20 here.
52898 Decompress the compressed part of the core image.
52899 Rearrange the code to put functions and variables which are
52900 required for initialization in the non-compressed part.
52901 Include lzo1x.S.
52902
52903 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52904 here.
52905
52906 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52907
52908 * include/pupa/i386/pc/kernel.h
52909 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52910 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52911 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52912 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52913 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52914
52915 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52916
52917 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52918 (Utility#rule): Likewise.
52919
52920 * configure.ac: Check if LZO is available.
52921
52922 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52923
52924 * include/pupa/normal.h: New file.
52925 * include/pupa/setjmp.h: Likewise.
52926 * include/pupa/i386/setjmp.h: Likewise.
52927 * normal/cmdline.c: Likewise.
52928 * normal/command.c: Likewise.
52929 * normal/main.c: Likewise.
52930 * normal/menu.c: Likewise.
52931 * normal/i386/setjmp.S: Likewise.
52932
52933 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52934 (pupa_rescue_cmd_initrd): Likewise.
52935
52936 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52937 Likewise.
52938
52939 * kern/i386/pc/startup.S (translation_table): New variable.
52940 (translate_keycode): New function.
52941 (pupa_console_getkey): Call translate_keycode.
52942
52943 * kern/rescue.c (attempt_normal_mode): New function.
52944 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52945 it failed, print a message.
52946
52947 * kern/mm.c (pupa_real_malloc): Print more information when a
52948 free magic is broken.
52949 (pupa_free): If the first free header is not free actually, set
52950 it to P.
52951
52952 * kern/main.c (pupa_load_normal_mode): Just load the module
52953 "normal".
52954 (pupa_main): Don't print the message
52955 "Entering into rescue mode..." here.
52956
52957 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52958 Declared.
52959 (pupa_rescue_cmd_initrd): Likewise.
52960 (pupa_rescue_cmd_initrd): Likewise.
52961
52962 * include/pupa/symbol.h (FUNCTION): Specify the type.
52963 (VARIABLE): Likewise.
52964
52965 * include/pupa/err.h (pupa_err_t): Added
52966 PUPA_ERR_UNKNOWN_COMMAND.
52967
52968 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52969 (pupa_dl_get_prefix): Likewise.
52970
52971 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52972 Added _chain.mod and _linux.mod instead of chain.mod and
52973 linux.mod.
52974 (chain_mod_SOURCES): Renamed to ...
52975 (_chain_mod_SOURCES): ... this.
52976 (chain_mod_CFLAGS): Renamed to ...
52977 (_chain_mod_CFLAGS): ... this.
52978 (linux_mod_SOURCES): Renamed to ...
52979 (_linux_mod_SOURCES): ... this.
52980 (linux_mod_CFLAGS): Renamed to ...
52981 (_linux_mod_CFLAGS): ... this.
52982 (normal_mod_SOURCES): New variable.
52983 (normal_mod_CFLAGS): Likewise.
52984 (normal_mod_ASFLAGS): Likewise.
52985
52986 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52987
52988 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52989 possible.
52990
52991 * kern/dl.c (pupa_dl_ref): Refer depending modules
52992 recursively.
52993 (pupa_dl_unref): Unrefer depending modules recursively.
52994 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52995 a module is unloaded before one depending on that module is
52996 unloaded.
52997 (pupa_dl_unload): Unload depending modules explicitly,
52998 if possible.
52999
53000 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53001
53002 * include/pupa/i386/pc/linux.h: New file.
53003 * loader/i386/pc/linux.c: Likewise.
53004
53005 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53006 Removed.
53007 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53008 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53009 of PUPA_CHAINLOADER_BOOT_SECTOR.
53010
53011 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53012 (pupa_linux_prot_size): New variable.
53013 (pupa_linux_tmp_addr): Likewise.
53014 (pupa_linux_real_addr): Likewise.
53015 (pupa_linux_boot_zimage): New function.
53016 (pupa_linux_boot_bzimage): Likewise.
53017
53018 * kern/i386/pc/init.c (struct mem_region): New structure.
53019 (MAX_REGIONS): New macro.
53020 (mem_regions): New variable.
53021 (num_regions): Likewise.
53022 (pupa_os_area_addr): Likewise.
53023 (pupa_os_area_size): Likewise.
53024 (pupa_lower_mem): Likewise.
53025 (pupa_upper_mem): Likewise.
53026 (add_mem_region): New function.
53027 (compact_mem_regions): Likewise.
53028 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53029 the size of the conventional memory and that of so-called upper
53030 memory (before the first memory hole).
53031 Instead of adding each found region to free memory, use
53032 add_mem_region and add them after removing overlaps.
53033 Also, add only 1/4 of the upper memory to free memory. The rest
53034 is used for loading OS images. Maybe this is ad hoc, but this
53035 makes it much easier to relocate OS images when booting.
53036
53037 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53038 (pupa_enter_rescue_mode): Don't register initrd and module.
53039
53040 * kern/mm.c: Include pupa/dl.h.
53041
53042 * kern/main.c: Include pupa/file.h and pupa/device.h.
53043
53044 * kern/loader.c (pupa_loader_load_module_func): Removed.
53045 (pupa_loader_load_module): Likewise.
53046
53047 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53048 ``.o''.
53049
53050 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53051 (pupa_linux_tmp_addr): Likewise.
53052 (pupa_linux_real_addr): Likewise.
53053 (pupa_linux_boot_zimage): Likewise.
53054 (pupa_linux_boot_bzimage): Likewise.
53055
53056 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53057 (pupa_upper_mem): Likewise.
53058 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53059 module is too dangerous.
53060
53061 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53062 (pupa_os_area_size): Likewise.
53063 (pupa_loader_set): Remove the first argument. Loader doesn't
53064 manage modules or initrd any longer.
53065 (pupa_loader_load_module): Removed.
53066
53067 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53068 (linux_mod_SOURCES): New variable.
53069 (linux_mod_CFLAGS): Likewise.
53070
53071 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53072
53073 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53074 the length of a blocklist correctly.
53075
53076 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53077 Use ioctl only if the OS file is a block device.
53078 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53079 not very useful for normal files.
53080
53081 * kern/main.c (pupa_set_root_dev): New function.
53082 (pupa_load_normal_mode): Likewise.
53083 (pupa_main): Call those above.
53084
53085 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53086 pupa_uint16_t.
53087
53088 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53089
53090 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53091
53092 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53093 (setup): Configure the installed partition information and the
53094 dl prefix.
53095
53096 * loader/i386/pc/chainloader.c (my_mod): New variable.
53097 (pupa_chainloader_unload): New function.
53098 (pupa_rescue_cmd_chainloader): Refer itself.
53099 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53100
53101 * kern/i386/pc/startup.S (install_partition): Removed.
53102 (version_string): Likewise.
53103 (config_file): Likewise.
53104 (pupa_install_dos_part): New variable.
53105 (pupa_install_bsd_part): Likewise.
53106 (pupa_prefix): Likewise.
53107 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53108
53109 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53110 and pupa/misc.h.
53111 (make_install_device): New function.
53112 (pupa_machine_init): Set the dl prefix.
53113
53114 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53115 (buf): Renamed to ...
53116 (linebuf): ... this.
53117 (pupa_rescue_cmd_prefix): New function.
53118 (pupa_rescue_cmd_insmod): Likewise.
53119 (pupa_rescue_cmd_rmmod): Likewise.
53120 (pupa_rescue_cmd_lsmod): Likewise.
53121 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53122 rmmod and lsmod.
53123
53124 * kern/mm.c (pupa_memalign): If failed even after invalidating
53125 disk caches, unload unneeded modules and retry.
53126
53127 * kern/misc.c (pupa_memmove): New function.
53128 (pupa_memcpy): Removed.
53129 (pupa_strcpy): New function.
53130 (pupa_itoa): Made static.
53131
53132 * kern/dl.c (pupa_dl_iterate): New function.
53133 (pupa_dl_ref): Likewise.
53134 (pupa_dl_unref): Likewise.
53135 (pupa_dl_unload): Return if succeeded or not.
53136 (pupa_dl_unload_unneeded): New function.
53137 (pupa_dl_unload_all): Likewise.
53138 (pupa_dl_init): Renamed to ...
53139 (pupa_dl_set_prefix): ... this.
53140 (pupa_dl_get_prefix): New function.
53141
53142 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53143 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53144 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53145 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53146 (pupa_install_dos_part): Declared.
53147 (pupa_install_bsd_part): Likewise.
53148 (pupa_prefix): Likewise.
53149 (pupa_boot_drive): Likewise.
53150
53151 * include/pupa/types.h: Fix a typo.
53152
53153 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53154 pupa_memmove.
53155 (pupa_memmove): Declared.
53156 (pupa_strcpy): Likewise.
53157
53158 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53159 pupa_mod_init takes one argument, its own module.
53160 (pupa_dl_unload_unneeded): Declared.
53161 (pupa_dl_unload_all): Likewise.
53162 (pupa_dl_ref): Likewise.
53163 (pupa_dl_unref): Likewise.
53164 (pupa_dl_iterate): Likewise.
53165 (pupa_dl_init): Renamed to ...
53166 (pupa_dl_set_prefix): ... this.
53167 (pupa_dl_get_prefix): Declared.
53168
53169 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
53170 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
53171 unloaded.
53172 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53173 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53174
53175 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53176 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53177
53178 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53179
53180 * util/i386/pc/pupa-setup.c (setup): Define the internal
53181 function find_first_partition_start at the top level, because GCC
53182 3.0.x cannot compile internal functions in deeper scopes
53183 correctly.
53184 (find_root_device): Use lstat instead of stat.
53185 Don't follow symbolic links.
53186 Fix the path-constructing code.
53187
53188 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53189 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53190 by a BLKGETSIZE ioctl first, because block devices don't fill
53191 the member st_mode of the structure stat on Linux.
53192 [__linux__] (linux_find_partition): Use a temporary buffer
53193 REAL_DEV for the working space. Copy it to DEV before returning.
53194 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53195 buffer cache consistent.
53196 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53197 strncmp. The previous value was merely wrong.
53198 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53199
53200 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53201 FAT size is 12. The previous value was merely wrong.
53202
53203 * kern/main.c (pupa_main): Don't split the starting message from
53204 newlines.
53205
53206 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53207 LF, because BIOS goes crazy about character attributes in this
53208 case.
53209
53210 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53211
53212 * include/i386/pc/util/biosdisk.h: New file.
53213 * util/i386/pc/biosdisk.c: Likewise.
53214 * util/i386/pc/pupa-setup.c: Likewise.
53215
53216 * Makefile.in (INCLUDE_DISTFILES): Added
53217 include/pupa/i386/pc/util/biosdisk.h.
53218 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53219 directory util/i386/pc.
53220 (install-local): Added a rule for sbin_UTILITIES.
53221 (uninstall): Likewise.
53222
53223 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53224
53225 * util/misc.c (xrealloc): New function.
53226 (pupa_malloc): Likewise.
53227 (pupa_free): Likewise.
53228 (pupa_realloc): Likewise.
53229 (pupa_stop): Likewise.
53230 (pupa_putchar): Likewise.
53231
53232 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53233
53234 * include/pupa/util/misc.h (xrealloc): Declared.
53235
53236 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53237 macro.
53238 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53239 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53240
53241 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53242 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53243
53244 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53245 way should be implemented.
53246 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53247
53248 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53249 the size of NAME for safety.
53250 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53251 0x88.
53252
53253 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53254 (pupa_setup_SOURCES): Likewise.
53255
53256 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53257
53258 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53259
53260 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53261 bunch of pushl's from pusha, because this destroys the return
53262 value.
53263
53264 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53265
53266 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53267 This means that any missing prototypes could be fatal. Also, you
53268 must take care when writing assembly code. See the comments at
53269 the beginning of startup.S, for more details.
53270
53271 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53272 compilation mechanism.
53273 (pupa_chainloader_real_boot): Likewise.
53274 (pupa_biosdisk_rw_int13_extensions): Likewise.
53275 (pupa_biosdisk_rw_standard): Likewise.
53276 (pupa_biosdisk_check_int13_extensions): Likewise.
53277 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53278 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53279 (pupa_get_memsize): Likewise.
53280 (pupa_get_mmap_entry): Likewise.
53281 (pupa_console_putchar): Likewise.
53282 (pupa_console_setcursor): Likewise.
53283 (pupa_getrtsecs): Use pushl instead of push.
53284
53285 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53286 memory instead of the stack for a mmap entry, because some
53287 BIOSes may ignore the maximum size and overflow.
53288
53289 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53290
53291 * genmk.rb (PModule#rule): Compile automatically generated
53292 sources with module-specific CFLAGS as well as other sources.
53293
53294 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53295
53296 * configure.ac: Check ld.
53297 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53298 respectively, before checking endianness and sizes.
53299
53300 * Makefile.in (LD): New variable.
53301
53302 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53303
53304 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53305
53306 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53307
53308 * Changelog: New file.
53309