]> git.proxmox.com Git - grub2.git/blob - ChangeLog
use objcopy instead of creating mod-*.c and mod-*.o
[grub2.git] / ChangeLog
1 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
2
3 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4
5 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/normal/term.c (print_more): Fix a memory leak.
8 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9 (grub_xputs_normal): Likewise.
10
11 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14 the begining of the string
15
16 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/script/script.c (grub_script_parse): Free parsed on
19 failure.
20
21 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
24 on failure.
25
26 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
29 return.
30
31 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
34 (scroll_up): Fix a memory leak.
35
36 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
39 errors.
40
41 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Handle USB pendrives exposed as floppies.
44
45 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
46 floppy.
47 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
48 Check for partitions on all devices.
49
50 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
53 (readkey): Likewise.
54
55 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
56
57 Multiple variable names support to "export" command.
58
59 * normal/context.c (grub_cmd_export): "export" command supports
60 multiple variable names.
61
62 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
63
64 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
65 --target=drive output to Mach device name.
66
67 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
68
69 New Automake based build system for GRUB.
70
71 * ABOUT-NLS: New file.
72 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
73 in Makefile.util.def file.
74 * Makefile.util.def: New file. Autogen build definitions file for
75 GRUB host utils.
76 * conf/Makefile.common: New file. Common variables for GRUB host
77 utils and target modules.
78 * conf/Makefile.extra-dist: New file. Extra files for make dist.
79 * docs/Makefile.am: New file. Automake file for docs.
80 * gentpl.py: New file. Python script to generate Autogen
81 template.
82 * grub-core/Makefile.am: New file. GRUB target modules' rules
83 that doesn't fit in Makefile.core.def file.
84 * grub-core/Makefile.core.def: New file. Autogen build
85 definitions file for GRUB target modules.
86 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
87 specific setjmp.S file.
88 * po/Makefile.am: New file.
89
90 * .bzrignore: New ignores.
91 * INSTALL: New requirements, without Ruby.
92 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
93 * autogen.sh: Updated to invoke autogen as necessary.
94 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
95 and defines for Automake conditionals.
96 * geninit.sh: Refactoring.
97
98 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
99 necessary.
100 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
101 New prototype.
102
103 * include/grub/test.h: Fix functional test modules' naming.
104 * grub-core/tests/example_functional_test.c: Fix test module name.
105
106 * util/misc.c: Hosted versions' of grub functions for libgrub.a
107 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
108 * util/grub-editenv.c: Likewise.
109 * util/grub-fstest.c: Likewise.
110 * util/grub-mkdevicemap.c: Likewise.
111 * util/grub-mkfont.c: Likewise.
112 * util/grub-mkimage.c: Likewise.
113 * util/grub-mkpasswd-pbkdf2.c: Likewise.
114 * util/grub-probe.c: Likewise.
115 * util/grub-script-check.c: Likewise.
116 * util/i386/pc/grub-setup.c: Likewise.
117 * util/sparc64/ieee1275/grub-setup.c: Likewise.
118
119 * tests/util/grub-shell.in: Fix override directory path.
120 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
121 * util/import_gcry.py: Create Makefile.gcry.def file instead.
122
123 * util/lvm.c: Update #includes.
124 * util/raid.c: Likewise.
125 * util/resolve.c: Likewise.
126 * grub-core/bus/emu/pci.c: Likewise.
127 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
128 * grub-core/lib/posix_wrap/string.h: Likewise.
129 * grub-core/kern/emu/main.c: Likewise.
130
131 * grub-core/gensymlist.sh: New file. Script for generating kernel
132 symbols file.
133 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
134
135 * grub-core/gentrigtables.c: Fix unused variable warnings.
136
137 * Makefile.in: Removed.
138 * conf/any-emu.rmk: Removed.
139 * conf/common.rmk: Removed.
140 * conf/i386-coreboot.rmk: Removed.
141 * conf/i386-efi.rmk: Removed.
142 * conf/i386-ieee1275.rmk: Removed.
143 * conf/i386-multiboot.rmk: Removed.
144 * conf/i386-pc.rmk: Removed.
145 * conf/i386-qemu.rmk: Removed.
146 * conf/i386.rmk: Removed.
147 * conf/mips-yeeloong.rmk: Removed.
148 * conf/mips.rmk: Removed.
149 * conf/powerpc-ieee1275.rmk: Removed.
150 * conf/sparc64-ieee1275.rmk: Removed.
151 * conf/tests.rmk: Removed.
152 * conf/x86-efi.rmk: Removed.
153 * conf/x86_64-efi.rmk: Removed.
154 * gendistlist.sh: Removed.
155 * geninitheader.sh: Removed.
156 * genkernsyms.sh.in: Removed.
157 * genmk.rb: Removed.
158 * gensymlist.sh.in: Removed.
159 * mkinstalldirs: Removed.
160 * boot: Moved ...
161 * grub-core/boot: ... to here.
162 * bus: Moved ...
163 * grub-core/bus: ... to here.
164 * commands: Moved ...
165 * grub-core/commands: ... to here.
166 * disk: Moved ...
167 * grub-core/disk: ... to here.
168 * efiemu: Moved ...
169 * grub-core/efiemu: ... to here.
170 * font: Moved ...
171 * grub-core/font: ... to here.
172 * fs: Moved ...
173 * grub-core/fs: ... to here.
174 * gencmdlist.sh: Moved ...
175 * grub-core/gencmdlist.sh: ... to here.
176 * genemuinit.sh: Moved ...
177 * grub-core/genemuinit.sh: ... to here.
178 * genemuinitheader.sh: Moved ...
179 * grub-core/genemuinitheader.sh: ... to here.
180 * genfslist.sh: Moved ...
181 * grub-core/genfslist.sh: ... to here.
182 * genhandlerlist.sh: Moved ...
183 * grub-core/genhandlerlist.sh: ... to here.
184 * genmoddep.awk: Moved ...
185 * grub-core/genmoddep.awk: ... to here.
186 * genmodsrc.sh: Moved ...
187 * grub-core/genmodsrc.sh: ... to here.
188 * genpartmaplist.sh: Moved ...
189 * grub-core/genpartmaplist.sh: ... to here.
190 * genparttoollist.sh: Moved ...
191 * grub-core/genparttoollist.sh: ... to here.
192 * genterminallist.sh: Moved ...
193 * grub-core/genterminallist.sh: ... to here.
194 * gentrigtables.c: Moved ...
195 * grub-core/gentrigtables.c: ... to here.
196 * genvideolist.sh: Moved ...
197 * grub-core/genvideolist.sh: ... to here.
198 * gettext: Moved ...
199 * grub-core/gettext: ... to here.
200 * gfxmenu: Moved ...
201 * grub-core/gfxmenu: ... to here.
202 * gnulib: Moved ...
203 * grub-core/gnulib: ... to here.
204 * hello: Moved ...
205 * grub-core/hello: ... to here.
206 * hook: Moved ...
207 * grub-core/hook: ... to here.
208 * io: Moved ...
209 * grub-core/io: ... to here.
210 * kern: Moved ...
211 * grub-core/kern: ... to here.
212 * lib: Moved ...
213 * grub-core/lib: ... to here.
214 * loader: Moved ...
215 * grub-core/loader: ... to here.
216 * mmap: Moved ...
217 * grub-core/mmap: ... to here.
218 * normal: Moved ...
219 * grub-core/normal: ... to here.
220 * partmap: Moved ...
221 * grub-core/partmap: ... to here.
222 * parttool: Moved ...
223 * grub-core/parttool: ... to here.
224 * script: Moved ...
225 * grub-core/script: ... to here.
226 * term: Moved ...
227 * grub-core/term: ... to here
228 * tests/example_functional_test.c: Moved ...
229 * grub-core/tests/example_functional_test.c: ... to here.
230 * tests/lib/functional_test.c: Moved ...
231 * grub-core/tests/lib/functional_test.c: ... to here.
232 * tests/lib/test.c: Moved ...
233 * grub-core/tests/lib/test.c: ... to here.
234 * video: Moved ...
235 * grub-core/video: ... to here.
236
237 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
238
239 Replace --enable-grub-emu-modules with grub-emu-lite.
240
241 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
242 cache.S.
243
244 * include/grub/emu/misc.h (grub_emu_init): New prototype.
245 * kern/emu/full.c: New file. For grub-emu specific initialization.
246 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
247 * kern/emu/main.c: Call initialization function grub_emu_init.
248
249 * Makefile.in: Include grub-emu-lite in install.
250 * commands/parttool.c: Use grub_no_autoload to differentiate
251 between grub-emu and grub-emu-lite.
252 * include/grub/misc.h: New variable grub_no_autoload.
253
254 * conf/any-emu.rmk: New rules for grub-emu-lite.
255 * configure.ac: Remove --enable-grub-emu-modules.
256 * genmk.rb: Cleanup unnecessary rules.
257 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
258
259 * normal/main.c: Don't load list files on grub-emu-lite.
260 * util/misc.c (grub_arch_sync_caches): Removed.
261
262 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
263
264 * kern/mips/startup.S (grub_prefix): Update comment to refer to
265 grub-mkimage rather than grub-mkelfimage.
266 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
267
268 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
271 a key after CapsLock or NumLock. It's just a qemu bug.
272
273 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
276 needed by libusb wrapper.
277
278 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
279
280 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
281
282 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
285 --nounzip is passed.
286
287 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
288
289 USB hotunplugging and USB serial support.
290
291 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
292 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
293 (grub_uhci_transfer): Respect timeout and set *actual.
294 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
295 non-standard length.
296 (grub_usb_device_attach): Autoload modules.
297 (GRUB_MOD_INIT): Set grub_term_poll_usb.
298 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
299 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
300 users updated.
301 (grub_usb_add_hub): Fill nports and children.
302 (attach_root_port): Receive hub instead of controller.
303 All users updated. Fill hub->devices.
304 (grub_usb_root_hub): Allocate hub->devices.
305 (detach_device): New function.
306 (poll_nonroot_hub): Fill children and detach devices.
307 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
308 actual arguments. All users updated.
309 (grub_usb_bulk_read_extended): New function.
310 * bus/usb/serial/common.c: New file.
311 * bus/usb/serial/ftdi.c: Likewise.
312 * bus/usb/serial/pl2303.c: Likewise.
313 * commands/terminal.c (handle_command): Support wildcard.
314 * commands/usbtest.c: Output "Unknown" instead of empty string.
315 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
316 (usbserial_common_mod_SOURCES): New variable.
317 (usbserial_common_mod_CFLAGS): Likewise.
318 (usbserial_common_mod_LDFLAGS): Likewise.
319 (pkglib_MODULES): Add usbserial_pl2303.mod.
320 (usbserial_pl2303_mod_SOURCES): New variable.
321 (usbserial_pl2303_mod_CFLAGS): Likewise.
322 (usbserial_pl2303_mod_LDFLAGS): Likewise.
323 (pkglib_MODULES): Add usbserial_ftdi.mod.
324 (usbserial_ftdi_mod_SOURCES): New variable.
325 (usbserial_ftdi_mod_CFLAGS): Likewise.
326 (usbserial_ftdi_mod_LDFLAGS): Likewise.
327 (pkglib_MODULES): Add serial.mod.
328 (serial_mod_SOURCES): New variable.
329 (serial_mod_CFLAGS): Likewise.
330 (serial_mod_LDFLAGS): Likewise.
331 * conf/i386-pc.rmk: Likewise.
332 * conf/mips-yeeloong.rmk: Likewise.
333 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
334 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
335 * disk/usbms.c (first_available_slot): New variable.
336 (grub_usbms_attach): Don't reuse free slots due to potential cache
337 problems.
338 * include/grub/serial.h: Moved to ..
339 * include/grub/ns8250.h: ...this.
340 * include/grub/serial.h: New file.
341 * include/grub/term.h (grub_term_poll_usb): New variable.
342 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
343 readkey. All users updated.
344 (grub_terminfo_output_state): Pass term to put.
345 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
346 (grub_usb_controller_dev): Add timeout and actual arguments to
347 transfer. All users updated.
348 (grub_usb_interface): New field detach_data.
349 (grub_usb_device): New fields children and nports.
350 (grub_usb_ep_type_t): New type.
351 (grub_usb_get_ep_type): New function.
352 (grub_usb_bulk_read_extended): Likewise.
353 * include/grub/usbdesc.h (grub_usb_desc): New type.
354 * include/grub/usbserial.h: New file.
355 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
356 * kern/term.c (grub_term_poll_usb): New variable.
357 (grub_getkey): Call grub_term_poll_usb if set.
358 (grub_checkkey): Likewise.
359 (grub_getkeystatus): Likewise.
360 * term/serial.c: Moved controller-specific parts to ...
361 * term/ns8250.c: ... here.
362 * term/serial.c: Mostly rewritten.
363 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
364 according to spec.
365
366 2010-08-20 Robert Millan <rmh@gnu.org>
367
368 Make kFreeBSD code more generic to support ext2fs as root, ufs as
369 a separate module and maybe other interesting combinations.
370
371 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
372 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
373 (kfreebsd_entry): Add generic filesystem module load routine.
374 Map GRUB `ext2' to kFreeBSD `ext2fs'.
375
376 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
377
378 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
379 "numcenter" (I misunderstood the purpose of this entry).
380 * docs/grub.texi (sendkey): Likewise.
381
382 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
383
384 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
385 status flag options; simply omitting the option is equivalent and
386 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
387 (keysym_table): Rename "num5numlock" to "numlock".
388 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
389 can uniformly say that only the last of multiple `sendkey'
390 invocations has any effect.
391 * docs/grub.texi (sendkey): New section.
392
393 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
394
395 * commands/i386/pc/sendkey.c (options): Fix three typos.
396
397 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Implement sendkey support.
400
401 * commands/i386/pc/sendkey.c: New file.
402 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
403 (sendkey_mod_SOURCES): New variable.
404 (sendkey_mod_CFLAGS): Likewise.
405 (sendkey_mod_LDFLAGS): Likewise.
406
407 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
408
409 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
410 fix warnings from Autoconf.
411
412 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
413
414 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
415 to avoid false positives with some assemblers that output things
416 like "someprefix_func" as part of their output.
417
418 2010-08-15 Robert Millan <rmh@gnu.org>
419
420 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
421 errors.
422 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
423 grub_get_libzfs_handle() errors.
424
425 2010-08-14 Robert Millan <rmh@gnu.org>
426
427 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
428 filesystem is not ZFS.
429
430 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
431
432 Fix for misspelled color names defaulting to black/black (bug
433 reported by Doug Nazar)
434
435 * include/grub/normal.h (grub_parse_color_name_pair): Add return
436 status to prototype.
437 * normal/color.c (grub_parse_color_name_pair): Return failure
438 status.
439 (grub_env_write_color_normal): Ignore bad color names.
440 (grub_env_write_color_highlight): Likewise.
441 * normal/main.c (GRUB_MOD_INIT): Set default color names.
442
443 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
444
445 "shift" command support to GRUB script.
446
447 * include/grub/script_sh.h (grub_script_shift): New prototype.
448 * script/execute.c (grub_script_shift): New function.
449 * script/main.c (grub_script_init): Register shift command.
450 (grub_script_fini): Unregister shift command.
451 * util/grub-script-check.c (grub_script_cmd_shift): New function.
452
453 * tests/grub_script_shift.in: New testcase.
454 * conf/tests.rmk: Rules for new testcase.
455
456 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
457
458 "continue" command support to GRUB script.
459
460 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
461 (grub_script_break): Continue support.
462 * script/main.c (grub_script_init): Register continue command.
463 (grub_script_fini): Unregister continue command.
464
465 * tests/grub_script_continue.in: New testcase.
466 * conf/tests.rmk: Rules for new testcase.
467
468 2010-08-12 BVK Chaitanya <bvk@dbook>
469
470 "break" command support to GRUB script.
471
472 * conf/common.rmk: Rule updates to grub-script-check.
473 * include/grub/misc.h (grub_min): New function.
474 * include/grub/script_sh.h (grub_script_init): New prototype.
475 (grub_script_fini): New prototype.
476 (grub_script_break): New prototype.
477 * script/main.c (grub_script_init): New function.
478 (grub_script_fini): New function.
479 * script/execute.c (grub_script_break): New function.
480 * normal/main.c: Calls to grub_script_{init,fini}.
481 * util/grub-script-check.c (grub_script_break): New function.
482
483 * tests/grub_script_break.in: New testcase.
484 * conf/tests.rmk: Rules for new test case.
485
486 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
487
488 Function parameters support to GRUB script.
489
490 * script/yylex.l (VARIABLE): Regular expression update.
491 * script/function.c (grub_script_function_call): Moved ...
492 * script/execute.c (grub_script_function_call): ... to here.
493 (grub_script_execute_arglist_to_argv): Removed.
494 (grub_script_arglist_to_argv): New function.
495 * script/argv.c: New file.
496 (grub_script_argv_free): New function.
497 (grub_script_argv_next): Likewise.
498 (grub_script_argv_append): Likewise.
499 (grub_script_argv_split_append): Likewise.
500 * include/grub/script_sh.h (grub_script_argv): New struct.
501 (grub_script_argv_free): New function.
502 (grub_script_argv_next): Likewise.
503 (grub_script_argv_append): Likewise.
504 (grub_script_argv_split_append): Likewise.
505
506 * conf/common.rmk (normal.mod): New source script/argv.c.
507
508 * tests/grub_script_echo1.in: More tests.
509 * tests/grub_script_vars1.in: Likewise.
510 * tests/grub_script_functions.in: New test case.
511 * conf/tests.rmk: Rules for new testcase.
512
513 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
514
515 Remove grub_script_cmdblock struct.
516
517 * include/grub/script_sh.h: Remove grub_script_cmdblock.
518 * script/parser.y: Likewise.
519 * script/execute.c: Rename cmdblock suffix to cmdlist.
520 * script/script.c: Likewise.
521 * util/grub-script-check.c: Likewise.
522
523 2010-08-11 Yves Blusseau <blusseau@zetam.org>
524
525 * .bzrignore: add grub-macho2img
526
527 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
530
531 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Remove the dump of sm712 initialisation sequence.
534
535 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
536 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
537 (GRUB_VGA_IO_MISC_WRITE): Likewise.
538 (GRUB_VGA_CR_*): Added many registers.
539 (GRUB_VGA_SR_*): Likewise.
540 (GRUB_VGA_GR_*): Likewise.
541 (grub_vga_write_arx): New function.
542 (grub_video_hw_config): New struct.
543 (grub_vga_set_geometry): New function.
544 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
545 GRUB_PCI_CLASS_SUBCLASS_VGA.
546 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
547 * video/sm712.c (grub_sm712_write_reg): New function
548 (grub_sm712_read_reg): Likewise.
549 (grub_sm712_sr_write): Likewise.
550 (grub_sm712_gr_write): Likewise.
551 (grub_sm712_cr_write): Likewise.
552 (grub_sm712_write_arx): Likewise.
553 (grub_sm712_cr_shadow_write): Likewise.
554 (grub_sm712_write_dda_lookup): Likewise.
555 (grub_video_sm712_setup): Initialise the video rather then
556 blindly replay the dump.
557 (main) [TEST]: Add a routine to be able to compile as standalone for
558 tests.
559 * video/sm712_init.c (sm712_init): Removed.
560 (sm712_sr_seq1): New array.
561 (sm712_sr_seq2): Likewise.
562
563 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * include/grub/vga.h: Add missing grub/pci.h include.
566
567 2010-08-10 Yves Blusseau <blusseau@zetam.org>
568
569 * util/grub-macho2img.c (main): fix typo
570
571 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
574 (grub_vga_gr_read): Likewise.
575 (grub_vga_cr_write): Likewise.
576 (grub_vga_cr_read): Likewise.
577 (grub_vga_sr_write): Likewise.
578 (grub_vga_sr_read): Likewise.
579 (grub_vga_palette_read): Likewise.
580 (grub_vga_palette_write): Likewise.
581 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
582 (grub_sm712_sr_read): New function.
583 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
584 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
585
586 2010-08-09 Robert Millan <rmh@gnu.org>
587
588 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
589 out unused variables on non-ZFS build.
590
591 2010-08-08 Robert Millan <rmh@gnu.org>
592
593 Fix path generation for sub-filesystems in ZFS.
594
595 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
596 missing slash.
597
598 2010-08-08 Robert Millan <rmh@gnu.org>
599
600 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
601
602 2010-08-08 Robert Millan <rmh@gnu.org>
603
604 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
605 exist, issue a proper error message (rely on `ls' for translated
606 strings).
607
608 2010-08-08 Robert Millan <rmh@gnu.org>
609
610 Fix grub-probe invocation.
611
612 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
613
614 2010-08-04 Robert Millan <rmh@gnu.org>
615
616 * configure.ac: Remove checks for getfsstat() and getmntany().
617 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
618 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
619 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
620 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
621 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
622 function.
623 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
624 via find_mount_point_from_dir() and getfsstat() / getmntany().
625
626 2010-08-04 Robert Millan <rmh@gnu.org>
627
628 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
629 (grub_find_zpool_from_mount_point): Merge into ...
630 (grub_find_zpool_from_dir): ... this.
631 * kern/emu/misc.c: Likewise.
632
633 * kern/emu/misc.c
634 (grub_make_system_path_relative_to_its_root): Replace
635 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
636 with grub_find_zpool_from_dir().
637 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
638
639 2010-08-04 Robert Millan <rmh@gnu.org>
640
641 Support OpenSolaris in ZFS device resolution.
642
643 * configure.ac: Check for getmntany().
644 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
645 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
646 support.
647
648 2010-08-03 Robert Millan <rmh@gnu.org>
649
650 Fix grub-emu build.
651
652 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
653 * include/grub/emu/misc.h: ... here.
654
655 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
656 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
657
658 * util/misc.c: Remove `<grub/util/libzfs.h>'.
659 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
660 (grub_get_libzfs_handle): Move to ...
661 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
662 (grub_get_libzfs_handle): ... here.
663
664 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
665
666 * script/execute.c (grub_script_execute_cmdline): Check for NULL
667 as command name case.
668
669 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
670
671 * disk/raid.c (insert_array): Select unique numbers for named arrays
672 as well, for use as keys in the disk cache.
673
674 2010-08-01 Robert Millan <rmh@gnu.org>
675
676 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
677 kFreeBSD device name, except on ZFS where the filesystem label is
678 used.
679 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
680 `/boot/zfs/zpool.cache'.
681 Set mountfrom kernel variable using ${kfreebsd_device}.
682
683 2010-08-01 Robert Millan <rmh@gnu.org>
684
685 Make it even harder to use uninitialized `libzfs_handle' (and
686 make the interface a bit simpler).
687
688 * include/grub/util/misc.h (grub_util_init_libzfs)
689 (libzfs_handle): Remove.
690 (grub_get_libzfs_handle): New prototype.
691
692 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
693 attribute.
694 (grub_util_init_libzfs): Remove.
695 (grub_get_libzfs_handle): New function.
696
697 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
698 grub_get_libzfs_handle() to obtain a libzfs handle instead of
699 accessing `libzfs_handle' directly.
700
701 2010-08-01 Robert Millan <rmh@gnu.org>
702
703 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
704 (grub_find_zpool_from_mount_point): New function prototypes.
705
706 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
707 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
708
709 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
710 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
711 `static' attribute.
712
713 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
714 finding zpool from mount point into ...
715 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
716
717 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
718 requested path is part of a ZFS pool, use
719 grub_find_zpool_from_mount_point() to detect its filesystem name,
720 and generate a path with `/fsname@path' syntax.
721
722 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
723
724 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
725 (void) rather than () so that this is a proper prototype.
726
727 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
730
731 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
734 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
735
736 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
737
738 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
739
740 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
741
742 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
743
744 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
745
746 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
747 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
748 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
749 disable gfxpayload.
750 (Shell-like scripting): Add real content.
751 (Serial terminal): Suggest `terminal_input serial; terminal_output
752 serial' rather than putting the two commands on separate lines,
753 since console input will be inoperative after the first command.
754 (menuentry): Document --class, --users, and --hotkey options.
755 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
756 Vladimir Serbinenko).
757
758 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
759 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
760
761 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
762
763 2010-08-01 Robert Millan <rmh@gnu.org>
764
765 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
766 (grub_find_zpool_from_mount_point): New function prototypes.
767
768 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
769 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
770
771 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
772 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
773 `static' attribute.
774
775 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
776 finding zpool from mount point into ...
777 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
778
779 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
780 requested path is part of a ZFS pool, use
781 grub_find_zpool_from_mount_point() to detect its filesystem name,
782 and generate a path with `/fsname@path' syntax.
783
784 2010-08-01 Robert Millan <rmh@gnu.org>
785
786 Prevent accidental use of uninitialized libzfs_handle.
787
788 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
789 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
790 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
791
792 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
793
794 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
795 util/grub.d/10_linux.in). Fixes Debian bug #591093.
796
797 2010-08-01 Robert Millan <rmh@gnu.org>
798
799 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
800
801 2010-07-31 Robert Millan <rmh@gnu.org>
802
803 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
804
805 2010-07-31 Robert Millan <rmh@gnu.org>
806
807 * kern/emu/misc.c: Add missing license header.
808
809 2010-07-31 Robert Millan <rmh@gnu.org>
810
811 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
812
813 * include/grub/util/libnvpair.h: Include `<config.h>'.
814 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
815 declaring libnvpair prototypes ourselves.
816 * include/grub/util/libzfs.h: Include `<config.h>'.
817 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
818 declaring libzfs prototypes ourselves.
819
820 (libzfs_handle): Moved to ...
821 * include/grub/util/misc.h (libzfs_handle): ... here.
822 Include `<grub/util/libzfs.h>'.
823
824 2010-07-30 Robert Millan <rmh@gnu.org>
825
826 * include/grub/emu/misc.h: Add missing license header.
827
828 2010-07-30 Robert Millan <rmh@gnu.org>
829
830 Enable `grub-probe -t device' resolution on ZFS.
831
832 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
833 * include/grub/util/libnvpair.h: New file.
834 * include/grub/util/libzfs.h: New file.
835
836 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
837 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
838 `<grub/util/libnvpair.h>'.
839 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
840
841 (find_mount_point_from_dir): New static function.
842 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
843 function.
844 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
845 find_root_device_from_libzfs() before ressorting to find_root_device().
846
847 * include/grub/util/misc.h (grub_util_init_libzfs): New function
848 prototype.
849 * util/misc.c: Include `<grub/util/libzfs.h>'.
850 (grub_util_init_libzfs): New function.
851 [HAVE_LIBZFS] (libzfs_handle): New global variable.
852 [HAVE_LIBZFS] (fini_libzfs): New static function.
853 (grub_util_init_libzfs): New function.
854 * util/grub-probe.c (main): Call grub_util_init_libzfs().
855
856 2010-07-30 Robert Millan <rmh@gnu.org>
857
858 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
859 (xmalloc, xrealloc, xstrdup, xasprintf): Add
860 `warn_unused_result' attribute.
861 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
862 (grub_xasprintf, grub_xvasprintf): Likewise.
863 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
864
865 2010-07-29 Robert Millan <rmh@gnu.org>
866
867 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
868 (probe): Handle `PRINT_FS_LABEL'.
869 (main): Handle `-t fs_label'.
870
871 2010-07-29 Robert Millan <rmh@gnu.org>
872
873 * configure.ac: Remove grub-mkisofs checks.
874
875 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/ieee1275/grub-install.in: Don't use empty grub_device.
878 Reported by: Lennart Sorensen.
879
880 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
883 prior to terminal_input/terminal_output separation. It's been over 1.5
884 years and those versions weren't widely deployed.
885
886 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
887
888 * disk/raid.c (insert_array): Don't count named arrays when looking
889 for unused array numbers.
890 Reported and tested by: Michael Guntsche.
891
892 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
893
894 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
895 implementation of this so that grub-emu links again, with a note
896 that this should support hotplugging in the future.
897
898 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
899
900 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
901
902 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
903
904 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
905 handle on failure.
906 (grub_loopback_close): Remove empty function.
907 (grub_loopback_dev): Remove close method.
908
909 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
910
911 Disable EFI cursor when the EFI console becomes inactive.
912
913 * term/efi/console.c (grub_efi_console_init): New function.
914 (grub_efi_console_fini): New function.
915 (grub_console_term_output): Register init and fini methods.
916
917 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * tests/util/grub-shell-tester.in: Remove bashism and declare as
920 sh script.
921
922 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * disk/loopback.c (grub_loopback): Replace filename with file.
925 (delete_loopback): Handle new semantics.
926 (grub_cmd_loopback): Likewise.
927 (grub_loopback_iterate): Likewise.
928 (grub_loopback_close): Likewise.
929
930 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
933 with -p "".
934 Reported by: Tito Keitel.
935
936 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * docs/grub.texi (Naming convention): Document new naming convention.
939
940 2010-07-20 Vadim Solomin <vadic052@gmail.com>
941 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
942
943 Generate device.map in something closer to the old ordering.
944
945 * util/deviceiter.c (struct device): New declaration.
946 (compare_file_names): Rename to ...
947 (compare_devices): ... this. Sort by kernel name in preference to
948 the stable by-id name, but keep the latter as a fallback comparison.
949 Update header comment.
950 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
951 of `struct device' rather than of plain file names.
952
953 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
954
955 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
956 on i386.
957
958 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * commands/acpi.c (setup_common_tables): Use sizeof instead of
961 hardcoding size.
962 (setv1table): Likewise.
963
964 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
965
966 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
967 removing the homehost if present.
968 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
969 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
970 removing the homehost if present.
971 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
972 if possible.
973 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
974
975 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
976 parameter. Set its pointer target to 0.
977 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
978 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
979 `data_offset' value from the superblock for 1.x metadata.
980 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
981 data on the device.
982 (insert_array): Record the start sector of data on the device.
983 (grub_raid_register): Pass start_sector parameters to
984 grub_raid_list->detect and insert_array.
985 * include/grub/raid.h (struct grub_raid_array): Add start_sector
986 member.
987 (struct grub_raid): Add start_sector parameter to `detect'.
988
989 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
990 __attribute__ ((packed)), leaving a comment.
991 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
992 (grub_mdraid_detect_09): ... here and ...
993 (grub_mdraid_detect_1x): ... here.
994
995 2010-07-20 Peter Henn <peter.henn@web.de>
996
997 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
998 chunk size and disk size, which are already given as sector counts
999 as distinct from the 0.90 units. Fetch the correct device number
1000 from the role table instead of using the table index.
1001
1002 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
1003
1004 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
1005 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
1006 (WriteMostly1): New macro.
1007 Set array->name to NULL for metadata format 0.90. Add support for
1008 metadata 1.x. Fix some comments.
1009 * disk/raid.c (): Add support for name based RAID arrays. Fix a
1010 few comments.
1011 * util/getroot.c (grub_util_get_grub_dev): Add support for
1012 /dev/md/name style devices.
1013
1014 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
1015
1016 * .bzrignore: Ignore 20_linux_xen.
1017
1018 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
1019
1020 * util/import_unicode.py: Remove unnecessary imports.
1021
1022 2010-07-17 Aleš Nesrsta <starous@volny.cz>
1023
1024 Hotplugging and USB hub support.
1025
1026 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
1027 (grub_ohci): Likewise.
1028 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
1029 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
1030 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
1031 (GRUB_OHCI_CTRL_EDS): Likewise.
1032 (GRUB_OHCI_BULK_EDS): Likewise.
1033 (GRUB_OHCI_TDS): Likewise.
1034 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
1035 (grub_ohci_ed_phys2virt): New function.
1036 (grub_ohci_virt_to_phys): Likewise.
1037 (grub_ohci_td_phys2virt): Likewise.
1038 (grub_ohci_td_virt2phys): Likewise.
1039 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
1040 attachment.
1041 (grub_ohci_find_ed): New function.
1042 (grub_ohci_alloc_td): Likewise.
1043 (grub_ohci_free_td): Likewise.
1044 (grub_ohci_free_tds): Likewise.
1045 (grub_ohci_transfer): Use previously allocated memory.
1046 (grub_ohci_portstatus): Reset status changed bit.
1047 (grub_ohci_detect_dev): Supply status changed.
1048 (grub_ohci_fini_hw): Free memory.
1049 (grub_ohci_restore_hw): Reallocate memory.
1050 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
1051 Reset status change.
1052 (grub_uhci_detect_dev): Supply status_change.
1053 * bus/usb/usb.c (attach_hooks): New var.
1054 (grub_usb_device_attach): New function.
1055 (grub_usb_register_attach_hook_class): Likewise.
1056 (grub_usb_unregister_attach_hook_class): Likewise.
1057 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
1058 (grub_usb_add_hub): Reset connection changed bit.
1059 (attach_root_port): New function.
1060 (grub_usb_root_hub): Likewise.
1061 (poll_nonroot_hub): Likewise.
1062 (grub_usb_poll_devices): Likewise.
1063 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
1064 * disk/usbms.c (grub_usbms_open): Use device hooks.
1065 (grub_usbms_iterate) :Poll devices.
1066 (grub_usbms_finddevs): Split into ...
1067 (grub_usbms_attach): ... this ...
1068 (grub_usbms_attach): ... and this.
1069 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
1070 in detect_dev.
1071 (grub_usb_interface): New fields attached and detach_hook.
1072 (grub_usb_attach_hook_class): New type.
1073 (grub_usb_attach_desc): New struct.
1074 (grub_usb_register_attach_hook_class): New function.
1075 (grub_usb_unregister_attach_hook_class): Likewise.
1076 (grub_usb_poll_devices): Likewise.
1077 (grub_usb_device_attach): Likewise.
1078 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
1079 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
1080
1081 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
1084 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
1085 delta determination style. Works with most NetBSD partitions too.
1086
1087 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
1090 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
1091
1092 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
1095
1096 2010-07-14 Anton Blanchard <anton@samba.org>
1097
1098 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
1099 ET_DYN files.
1100
1101 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1102
1103 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
1104
1105 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1106
1107 * kern/partition.c (grub_partition_check_containment): New function to
1108 check that a partition is physically contained in a parent. Since
1109 offsets are relative (and non-negative), this reduces to checking that
1110 the partition ends before its parent.
1111 (grub_partition_map_probe): Discard out-of-range sub-partitions.
1112 (grub_partition_iterate): Likewise.
1113 * include/grub/partition.h (grub_partition_map): Slightly more detailed
1114 comments.
1115 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
1116 partitions that start before their parent, and add debug printfs.
1117
1118 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
1119
1120 * Makefile.in (.SUFFIX): Spell correctly, as ...
1121 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
1122 bare module name without `.mod', e.g. `test') tried to invoke a
1123 Modula-2 compiler.
1124
1125 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
1126
1127 * README: Point to the Info manual.
1128
1129 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
1130
1131 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
1132 2nd superblock position from partition size.
1133
1134 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
1135
1136 * Makefile.in (MAINTAINER_CLEANFILES): Remove
1137 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
1138 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
1139 outputs.
1140
1141 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Restructure SCSI .id handling.
1144 Reported and tested by: Aleš Nesrsta.
1145
1146 * disk/ata.c (grub_atapi_close): Removed. All users updated.
1147 (grub_atapi_dev): Changed .name to "ata". New field .id.
1148 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
1149 (grub_usbms_dev): New field .id.
1150 * disk/scsi.c (grub_scsi_iterate): Generate name.
1151 (grub_scsi_open): Parse name.
1152 * include/grub/scsi.h (grub_make_scsi_id): New function.
1153 (grub_scsi_dev): Change iterate and open to number instead of naming
1154 busses. All users updated.
1155 (grub_scsi): Remove name. Add .bus.
1156
1157 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 * commands/help.c (grub_cmd_help): Fix a typo.
1160
1161 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
1164 Reported and tested by: Colin Watson.
1165
1166 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
1169 in this context.
1170
1171 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
1174
1175 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
1176
1177 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
1178 indentation.
1179
1180 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
1181
1182 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
1183 and disk/raid6_recover.c.
1184 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1185 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
1186
1187 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
1188
1189 * term/gfxterm.c (repaint_schedulded): Rename to ...
1190 (repaint_scheduled): ... this. Update all callers.
1191 (repaint_was_schedulded): Rename to ...
1192 (repaint_was_scheduled): ... this. Update all callers.
1193
1194 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
1195
1196 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
1197 which we expect to be handled by upper layers.
1198
1199 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
1200
1201 * bus/usb/usbhub.c: #include time.h header.
1202
1203 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
1204
1205 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
1206 entry_name also for entries without stat blocks (e.g. ".."); fixes
1207 corruption of the first entry in a directory.
1208
1209 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
1210
1211 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
1212 after setting gfxterm as the active terminal. GRUB_BACKGROUND
1213 doesn't work otherwise.
1214
1215 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
1216
1217 * docs/grub.texi (Features): Update list of supported file systems.
1218 (GNU/Linux): Update for GRUB 2.
1219 (Serial terminal): Remove mention of --disable-serial, which was a
1220 GRUB Legacy configure option. Update instructions to use
1221 `terminal_input' and `terminal_output' rather than `terminal'.
1222 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
1223 configuration' and `Installing GRUB using grub-install'.
1224 (Menu entry editor): Update for GRUB 2.
1225 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
1226 Document new -a, -u, and -v options.
1227 (initrd): New section.
1228 (initrd16): New section.
1229 (linux): New section.
1230 (linux16): New section.
1231 (search): The `var' argument to `--set' is optional.
1232 (GRUB only offers a rescue shell): Go into a little more detail on
1233 drive ordering.
1234
1235 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
1236
1237 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
1238
1239 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
1240
1241 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
1242 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
1243
1244 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
1245
1246 * util/i386/pc/grub-setup.c (setup): Rename prefix to
1247 install_prefix, in line with install_dos_part and install_bsd_part.
1248 Add new prefix variable, which is copied to install_prefix after
1249 comparing core.img in memory with the one read from disk in the
1250 no-embedding case, and use that rather than overwriting
1251 install_prefix immediately when installing to a partition.
1252 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
1253 Bicakci.
1254
1255 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
1256
1257 * configure.ac: Avoid == in test command, it's not portable.
1258 * util/grub.d/30_os-prober.in: Likewise.
1259
1260 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
1261
1262 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
1263
1264 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
1265
1266 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
1267 multiple (top-level) partmaps.
1268
1269 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 * util/i386/efi/grub-install.in: Don't use empty grub_device.
1272 Reported by: Tino Keitel.
1273
1274 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Bidi and diacritics support.
1277
1278 * Makefile.in (widthspec.bin): New target.
1279 (widthspec.h): Likewise.
1280 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
1281 * autogen.sh: Generate unidata.c.
1282 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
1283 * commands/ls.c (grub_ls_list_devices): Likewise.
1284 (grub_ls_list_files): Likewise.
1285 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
1286 (grub_mini_cmd_lsmod): Likewise.
1287 * commands/read.c: Likewise.
1288 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
1289 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
1290 * lib/arg.c (grub_arg_show_help): Likewise.
1291 * lib/crypto.c (grub_password_get): Likewise.
1292 * normal/auth.c (grub_username_get): Likewise.
1293 * normal/misc.c (grub_normal_print_device_info): Likewise.
1294 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
1295 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
1296 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
1297 (normal/charset.c_DEPENDENCIES): New variable.
1298 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
1299 (pkglib_MODULES): Remove charset.mod.
1300 (charset_mod_SOURCES): Removed.
1301 (charset_mod_CFLAGS): Likewise.
1302 (charset_mod_LDFLAGS): Likewise.
1303 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
1304 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
1305 and term/tparm.c.
1306 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1307 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1308 (kernel_img_HEADERS): Add terminfo.h.
1309 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
1310 Fill ->font. Reverse ascii bitmaps.
1311 (grub_font_get_xheight): New function.
1312 * font/font.c (grub_font_get_string_width): Moved from here ...
1313 * gfxmenu/font.c (grub_font_get_string_width): ... here.
1314 * font/font.c (grub_font_draw_string): Moved from here ...
1315 * gfxmenu/font.c (grub_font_draw_string): ... here.
1316 * font/font.c (grub_font_dup_glyph): New function.
1317 (grub_font_blit_glyph): Likewise.
1318 (grub_font_blit_glyph_mirror): Likewise.
1319 (blit_comb): Likewise.
1320 (grub_font_construct_dry_run): Likewise.
1321 (grub_font_get_constructed_device_width): Likewise.
1322 (grub_font_construct_glyph): Likewise.
1323 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
1324 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
1325 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
1326 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
1327 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
1328 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
1329 (grub_font_get_xheight): New proto.
1330 (grub_font_get_constructed_device_width): Likewise.
1331 (grub_font_construct_glyph): Likewise.
1332 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
1333 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
1334 * include/grub/font.h (grub_font_draw_string): Moved from here ...
1335 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
1336 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
1337 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
1338 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
1339 (grub_console_getcharwidth): Likewise.
1340 * include/grub/misc.h (grub_xputs): New proto.
1341 (grub_puts): Inlined.
1342 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
1343 (grub_normal_get_line_counter): Removed.
1344 (grub_install_newline_hook): Likewise.
1345 (grub_normal_get_char_counter): New proto.
1346 (grub_normal_reset_more): Likewise.
1347 (grub_xputs_normal): Likewise.
1348 * include/grub/powerpc/ieee1275/console.h: Removed.
1349 * include/grub/sparc64/ieee1275/console.h: Likewise.
1350 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
1351 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
1352 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
1353 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
1354 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
1355 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
1356 (grub_term_input): Pass reference to self. All users updated.
1357 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
1358 Pass reference to self. New fields normal_color, highlight_color and
1359 data. All users updated.
1360 (grub_putchar): Removed.
1361 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
1362 (grub_unicode_estimate_width): New function.
1363 (grub_term_getcharwidth): Add defaults.
1364 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
1365 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
1366 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
1367 (grub_cls): Remove EXPORT_FUNC.
1368 (grub_setcolorstate): Inline.
1369 (grub_newline_hook): Removed.
1370 * include/grub/terminfo.h: Rewritten. All users updated.
1371 * include/grub/unicode.h: New file.
1372 * include/grub/video.h (grub_video_signed_rect): New type.
1373 * kern/emu/console.c (grub_console_highlight_color): Removed.
1374 (grub_console_normal_color): Likewise.
1375 (grub_console_standard_color): Made static.
1376 (grub_ncurses_putchar): Remove mapping.
1377 (grub_ncurses_getcharwidth): Removed.
1378 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1379 (grub_ncurses_setcolor): Removed.
1380 (grub_ncurses_getcolor): Likewise.
1381 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
1382 (grub_console_putchar): ... this.
1383 (grub_console_putchar): Handle argument difference.
1384 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
1385 console_init_early and console_init_lately.
1386 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
1387 * kern/misc.c (grub_puts): Removed.
1388 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
1389 (grub_vsnprintf_real): Remove str = NULL support.
1390 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
1391 * normal/charset.c (grub_utf8_to_ucs4): ... here.
1392 * kern/term.c (grub_putcode): Renamed to ...
1393 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
1394 (grub_putchar): Removed.
1395 (grub_xputs_dumb): New function.
1396 (grub_xputs): New variable.
1397 * lib/charset.c: Move from here ...
1398 * normal/charset.c: ... to here.
1399 (grub_ucs4_to_utf8): New function.
1400 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
1401 (join_types): New variable.
1402 (unpack_join): New function.
1403 (bidi_types): New variable.
1404 (unpack_bidi): New function.
1405 (get_bidi_type): Likewise.
1406 (get_join_type): Likewise.
1407 (is_mirrored): Likewise.
1408 (grub_unicode_get_comb_type): Likewise.
1409 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
1410 (is_type_after): Likewise.
1411 (grub_unicode_aglomerate_comb): Likewise.
1412 (bidi_line_wrap): Likewise.
1413 (grub_bidi_line_logical_to_visual): Likewise.
1414 (grub_bidi_logical_to_visual): Likewise.
1415 (grub_unicode_mirror_code): Likewise.
1416 (grub_unicode_shape_code): Likewise.
1417 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
1418 Don't use grub_putchar.
1419 * normal/main.c (grub_normal_init_page): Use grub_putcode.
1420 (grub_normal_reader_init): Likewise.
1421 (grub_xputs_saved): New variable.
1422 (GRUB_MOD_INIT): Set grub_xputs.
1423 (GRUB_MOD_FINI): Restore grub_xputs.
1424 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1425 (menu_init): Avoid printing gfxmenu error.
1426 (show_menu): Use grub_normal_get_char_counter.
1427 * normal/menu_entry.c (update_screen): Fix out-of-array.
1428 (complete): Avoid NULL dereferencing.
1429 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1430 * normal/menu_text.c (print_spaces): Removed.
1431 (grub_print_ucs4): Likewise.
1432 (grub_print_message_indented): Use grub_print_ucs4.
1433 (print_message): Use grub_putcode.
1434 (print_entry): Hanlde diacritics.
1435 * normal/term.c (term_state): New type.
1436 (grub_more_lines): Removed.
1437 (term_states): New variable.
1438 (grub_normal_line_counter): Renamed to ..
1439 (grub_normal_char_counter): ...this. All users updated.
1440 (grub_normal_get_line_counter): Renamed to ...
1441 (grub_normal_get_char_counter): ... this.
1442 (grub_normal_reset_more): New function.
1443 (process_newline): Removed.
1444 (print_more): New function.
1445 (grub_install_newline_hook): Removed.
1446 (map_code): New function.
1447 (grub_puts_terminal): Use grub_print_ucs4.
1448 (putglyph): New function.
1449 (putcode_real): Likewise.
1450 (grub_putcode): Use putcode_real.
1451 (get_maxwidth): New function.
1452 (get_startwidth): Likewise.
1453 (print_ucs4_terminal): Likewise.
1454 (find_term_state): Likewise.
1455 (put_glyphs_terminal): Likewise.
1456 (print_backlog): Likewise.
1457 (print_ucs4_real): Likewise.
1458 (grub_print_ucs4): Likewise.
1459 (grub_xputs_normal): Likewise.
1460 * term/efi/console.c (grub_console_putchar): Output diacritics.
1461 (grub_console_getcharwidth): Removed.
1462 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1463 * term/gfxterm.c (clear_char): Free chars.
1464 (scroll_up): Avoid leaking memory.
1465 (grub_gfxterm_putchar): Support diacritics.
1466 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1467 * term/i386/pc/console.c (grub_console_term_output): Declare as
1468 GRUB_TERM_CODE_TYPE_VGA.
1469 * term/i386/pc/vga.c (grub_vga_term): Declare as
1470 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1471 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1472 GRUB_TERM_CODE_TYPE_VGA.
1473 * term/i386/vga_common.c (map_char): Removed.
1474 (grub_console_putchar): Likewise.
1475 (grub_console_getcharwidth): Likewise.
1476 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1477 (colors): Reordered to match terminfo.
1478 (grub_ofconsole_normal_color): Removed.
1479 (grub_ofconsole_writeesc): Likewise.
1480 (grub_ofconsole_highlight_color): Likewise.
1481 (grub_ofconsole_getcharwidth): Likewise.
1482 (grub_ofconsole_setcolorstate): Likewise.
1483 (grub_ofconsole_setcolor): Likewise.
1484 (grub_ofconsole_getcolor): Likewise.
1485 (grub_ofconsole_readkey): Renamed to ...
1486 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1487 key.
1488 (grub_ofconsole_checkkey): Removed.
1489 (grub_ofconsole_getkey): Likewise.
1490 (grub_ofconsole_getxy): Likewise.
1491 (grub_ofconsole_gotoxy): Likewise.
1492 (grub_ofconsole_cls): Likewise.
1493 (grub_ofconsole_refresh): Likewise.
1494 (grub_ofconsole_terminfo_input): New struct.
1495 (grub_ofconsole_terminfo_output): Likewise.
1496 (grub_ofconsole_term_input): Use terminfo.
1497 (grub_ofconsole_term_output): Likewise.
1498 (grub_console_init): Split into ...
1499 (grub_console_init_early): ...this and ...
1500 (grub_console_init_lately): ...this. Use terminfo.
1501 (grub_ofconsole_putchar): Renamed to ...
1502 (put): ... this. Remove mapping.
1503 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1504 * term/serial.c: Simplify using terminfo.
1505 (xpos): Removed.
1506 (ypos): Likewise.
1507 (keep_track): Likewise.
1508 (registered): Likewise.
1509 (input_buf): Likewise.
1510 (npending): Likewise.
1511 (serial_translate_key_sequence): Likewise.
1512 (fill_input_buf): Likewise.
1513 (grub_serial_checkkey): Likewise.
1514 (grub_serial_getkey): Likewise.
1515 (grub_serial_getxy): Likewise.
1516 (grub_serial_gotoxy): Likewise.
1517 (grub_serial_putchar): Likewise.
1518 (grub_serial_cls): Likewise.
1519 (grub_serial_setcolorstate): Likewise.
1520 (grub_serial_setcursor): Likewise.
1521 (serial_hw_init): Use serial_hw_fetch.
1522 (grub_serial_terminfo_input): New variable.
1523 (grub_serial_terminfo_output): Likewise.
1524 (grub_serial_term_input): Use terminfo.
1525 (grub_serial_term_output): Likewise.
1526 * term/terminfo.c (putstr): Use put.
1527 (grub_terminfo_all_free): New function
1528 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
1529 (grub_terminfo_output_register): New function.
1530 (grub_terminfo_output_unregister): Likewise.
1531 (grub_terminfo_getxy): Likewise.
1532 (grub_terminfo_readkey): Likewise.
1533 (grub_terminfo_checkkey): Likewise.
1534 (grub_terminfo_getkey): Likewise.
1535 (grub_terminfo_input_init): Likewise.
1536 (print_terminfo): Likewise.
1537 (grub_cmd_terminfo): Handle encoding.
1538 (grub_terminfo_gotoxy): Track position.
1539 (grub_terminfo_cls): Likewise.
1540 (grub_terminfo_putchar): Likewise.
1541 (grub_terminfo_setcolorstate): Handle colors
1542 (grub_terminfo_cursor_on): This ...
1543 (grub_terminfo_cursor_off): ... and this merged into ...
1544 (grub_terminfo_setcursor): ... this.
1545 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
1546 * unicode/ArabicShaping.txt: New file (imported from Unicode).
1547 * unicode/BidiMirroring.txt: Likewise.
1548 * unicode/UnicodeData.txt: Likewise.
1549 * unicode/COPYING: Likewise.
1550 * util/grub-editenv.c (grub_putchar): Removed.
1551 (grub_xputs_real): New function.
1552 (grub_xputs): New variable.
1553 * util/grub-fstest.c (grub_putchar): Removed.
1554 (grub_xputs_real): New function.
1555 (grub_xputs): New variable.
1556 * util/grub-mkdevicemap.c (grub_putchar): Removed.
1557 (grub_xputs_real): New function.
1558 (grub_xputs): New variable.
1559 * util/grub-probe.c (grub_putchar): Removed.
1560 (grub_xputs_real): New function.
1561 (grub_xputs): New variable.
1562 * util/grub-script-check.c (grub_putchar): Removed.
1563 (grub_xputs_real): New function.
1564 (grub_xputs): New variable.
1565 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
1566 (grub_xputs_real): New function.
1567 (grub_xputs): New variable.
1568 * util/import_unicode.py: New file.
1569 * util/grub-mkfont.c (ft_errmsgs): New array.
1570 (grub_glyph_info): Make bitmap a pointer.
1571 (file_formats): New type WIDTH_SPEC.
1572 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
1573 (options): Add width-spec.
1574 (help): Likewise.
1575 (add_char): Renamed to ...
1576 (add_glyph): ... this.
1577 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
1578 (glyph_replace): New type.
1579 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
1580 (add_char): New function.
1581 (add_subst): Likewise.
1582 (process_cursive): Likewise.
1583 (add_font): Handle GSUB.
1584 (write_font_width_spec): New function.
1585 (main): Sort glyphs.
1586 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
1587 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
1588 * kern/term.c (grub_cls): Moved from here...
1589 * normal/term.c (grub_cls): ... here.
1590
1591 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1592
1593 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
1594 suitable for using within the format argument of printf when
1595 converting grub_size_t.
1596 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
1597 "x" to convert grub_size_t arguments.
1598
1599 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
1602 too long captions.
1603 (list_get_minimal_size): Take selection box into account.
1604
1605 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
1608 NULL font.
1609
1610 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1611
1612 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
1613 devices when iterating over /dev/disk/by-id; they will be handled
1614 later if appropriate, which they aren't always (e.g. LVM).
1615
1616 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1617
1618 * include/grub/misc.h (grub_reboot): Declare as noreturn.
1619 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
1620 fails.
1621 (grub_halt): Likewise.
1622 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
1623 reset-all fails.
1624 (grub_halt): Don't return, even if all of shut-down, power-off, and
1625 poweroff fail.
1626
1627 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1628
1629 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
1630 arguments, not three.
1631
1632 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1633
1634 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
1635 * util/grub.d/10_linux.in: Use it to check for LVM, so that
1636 LVM-on-RAID is handled correctly.
1637
1638 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1639
1640 * docs/grub.texi (Changes from GRUB Legacy): New section.
1641 (Future): Fix typo.
1642
1643 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
1644
1645 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
1646 grub.d/README accidentally ends up executable for one reason or
1647 another. Ignore it.
1648
1649 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
1652 (gpt_partition_map_iterate): Support non-512B sectors.
1653
1654 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * kern/efi/init.c (grub_efi_init): Disable watchdog.
1657 Tested by: Seth Goldberg.
1658
1659 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
1662 Properly align mbi.
1663 Reported by: Seth Goldberg.
1664
1665 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * util/grub-mkrescue.in: Avoid module duplication.
1668
1669 2010-07-01 Sean Finney <seanius@seanius.net>
1670
1671 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
1672
1673 2010-07-01 Sean Finney <seanius@seanius.net>
1674
1675 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
1676
1677 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * disk/lvm.c (grub_lvm_checkvalue): New function.
1680 (grub_lvm_check_flag): Likewise.
1681
1682 2010-07-01 Robert Millan <rmh@gnu.org>
1683
1684 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
1685 Support 'p' as partition separator on kernel of FreeBSD (used
1686 with GPT labels).
1687 (grub_util_biosdisk_get_grub_dev): Likewise.
1688
1689 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 Yeeloong firmware port.
1692
1693 * boot/mips/yeeloong/fwstart.S: New file.
1694 * bus/cs5536.c (gpiodump): New const.
1695 (set_io_space): New function.
1696 (set_iod): Likewise.
1697 (set_p2d): Likewise.
1698 (grub_cs5536_init_geode): Likewise.
1699 * commands/mips/yeeloong/lsspd.c: New file.
1700 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
1701 (serial_mod_SOURCES): New variable.
1702 (serial_mod_CFLAGS): Likewise.
1703 (serial_mod_LDFLAGS): Likewise.
1704 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
1705 term/terminfo.c and term/tparm.c.
1706 (pkglib_IMAGES): Add fwstart.img.
1707 (fwstart_img_SOURCES): New variable.
1708 (fwstart_img_CFLAGS): Likewise.
1709 (fwstart_img_ASFLAGS): Likewise.
1710 (fwstart_img_LDFLAGS): Likewise.
1711 (fwstart_img_FORMAT): Likewise.
1712 (pkglib_MODULES): Add lsspd.mod.
1713 (lsspd_mod_SOURCES): New variable.
1714 (lsspd_mod_CFLAGS): Likewise.
1715 (lsspd_mod_LDFLAGS): Likewise.
1716 (pkglib_MODULES): Add halt.mod.
1717 (halt_mod_SOURCES): New variable.
1718 (halt_mod_CFLAGS): Likewise.
1719 (halt_mod_LDFLAGS): Likewise.
1720 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
1721 (serial_mod_SOURCES): Removed.
1722 (serial_mod_CFLAGS): Likewise.
1723 (serial_mod_LDFLAGS): Likewise.
1724 * disk/ata.c (check_device): New function.
1725 (grub_ata_device_initialize): Use check_device.
1726 (grub_ata_iterate): Recheck devices.
1727 (grub_ata_open): Likewise.
1728 (grub_atapi_iterate): Likewise.
1729 (grub_atapi_open): Likewise.
1730 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
1731 (GRUB_ATA_CH1_PORT1): Likewise.
1732 (GRUB_ATA_CH0_PORT2): Likewise.
1733 (GRUB_ATA_CH1_PORT2): Likewise.
1734 * include/grub/mips/loongson.h: New file.
1735 * include/grub/mips/yeeloong/ec.h: Likewise.
1736 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
1737 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
1738 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
1739 * include/grub/misc.h (grub_halt): Declare as noreturn.
1740 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
1741 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
1742 (UART_ENABLE_FIFO_TRIGGER1): New definition.
1743 (UART_ENABLE_DTRRTS): Likewise.
1744 (UART_ENABLE_MODEM): Removed.
1745 (UART_ENABLE_OUT2): New const.
1746 * include/grub/term.h (grub_term_register_input_active): New function.
1747 (grub_term_register_output_active): Likewise.
1748 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
1749 argument.
1750 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
1751 (init_pci): New function.
1752 (grub_machine_init): Execute platform init when firmware. Init serial.
1753 (grub_halt): Implement.
1754 (grub_exit): Likewise.
1755 (grub_reboot): Likewise.
1756 * term/serial.c (serial_hw_init): Update macros.
1757 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
1758 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
1759 (image_targets): New target mipsel-yeeloong-flash.
1760 (generate_image): Support IMAGE_YEELOONG_FLASH.
1761 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
1762 (grub_video_sm712_setup): Init card.
1763 (grub_video_sm712_set_palette): Removed.
1764 * video/sm712_init.c: New file.
1765
1766 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
1767
1768 * Makefile.in (install-local): Temporarily prepend $(builddir) to
1769 PATH when running help2man and then run it on the unadorned
1770 executable names, rather than passing $(builddir)/* paths to
1771 help2man. This avoids the build directory ending up in generated
1772 manual pages.
1773
1774 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1775
1776 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
1777 to avoid accidents when debugging with 'sh -x'.
1778 * util/grub-mkrescue.in: Likewise.
1779 * util/grub.d/00_header.in: Likewise.
1780 * util/grub.d/10_hurd.in: Likewise.
1781 * util/grub.d/10_kfreebsd.in: Likewise.
1782 * util/grub.d/10_linux.in: Likewise.
1783 * util/grub.d/10_netbsd.in: Likewise.
1784 * util/grub.d/10_windows.in: Likewise.
1785 * util/grub.d/20_linux_xen.in: Likewise.
1786 * util/grub.d/30_os-prober.in: Likewise.
1787 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1788
1789 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
1790
1791 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
1792 last character in the buffer.
1793 Reported by: Vladimir Serbinenko.
1794
1795 2010-06-29 Robert Millan <rmh@gnu.org>
1796
1797 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
1798 (Command-line and menu entry commands): Document `badram' command.
1799
1800 2010-06-28 Robert Millan <rmh@gnu.org>
1801
1802 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
1803 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
1804 command using ${GRUB_BADRAM} as parameter.
1805
1806 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1807
1808 * docs/grub.texi (Device map): New section.
1809 (Themes): New section (stub).
1810 * Makefile.in (docs/grub.info): The info documentation now builds
1811 without errors. Make sure it stays that way.
1812
1813 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 Use normal parser for menu entries.
1816 Reported by: Thomas Frauendorfer
1817
1818 * include/grub/parser.h (grub_parser_execute): Don't export.
1819 * normal/menu.c (grub_menu_execute_entry_real): New function.
1820 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
1821
1822 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1823
1824 * docs/grub.texi (Embedded configuration): New section (replacing
1825 old "Preset Menu" stub).
1826 (Images): New section.
1827 (configfile): Note that any menu entries defined in `file' are shown
1828 immediately.
1829
1830 2010-06-28 Josh Triplett <josh@joshtriplett.org>
1831
1832 * mmap/i386/pc/mmap_helper.S: Set CF on return.
1833
1834 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1835
1836 * util/grub-install.in: Add --debug-image= option.
1837
1838 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1839
1840 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
1841 possible on Linux.
1842
1843 * util/deviceiter.c (check_device): Rename to ...
1844 (check_device_readable_unique): ... this. Update all callers.
1845 Maintain and check a list of which devices (by canonicalized name)
1846 have already been seen.
1847 (clear_seen_devices): New function.
1848 (compare_file_names) [__linux__]: New function.
1849 (grub_util_iterate_devices): Clear the list of seen devices on exit
1850 and (just in case) on entry.
1851 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
1852 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
1853 seen-devices list, superseded by general code in check_device.
1854
1855 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * commands/cat.c (options): New variable.
1858 (grub_cmd_cat): Parse options. If the --dos option is given, print
1859 DOS-style "\r\n" line endings as simple newlines (Debian bug
1860 #586358).
1861 (GRUB_MOD_INIT): Use extcmd.
1862 (GRUB_MOD_FINI): Likewise.
1863 * docs/grub.texi (cat): Document --dos.
1864
1865 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 XEN with Linux grub-mkconfig support.
1868
1869 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
1870 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
1871 GRUB_CMDLINE_XEN_DEFAULT.
1872 * util/grub.d/20_linux_xen.in: New file.
1873
1874 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 Initialise VGA video on qemu ourselves.
1877
1878 * boot/i386/qemu/boot.S: Don't call 0xc000.
1879 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
1880 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
1881 (kernel_img_HEADERS): Add pci.h.
1882 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
1883 * configure.ac: Force unifont on qemu and yeeloong.
1884 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
1885 (grub_vga_palette_write): Use correct register.
1886 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
1887 Call grub_qemu_init_cirrus.
1888 * kern/i386/qemu/init.c: New file.
1889 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
1890
1891 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
1892
1893 2010-06-26 Pavel Roskin <proski@gnu.org>
1894
1895 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
1896 13.
1897
1898 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1899
1900 * docs/grub.texi (Simple configuration): Explain that
1901 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
1902 set to `true' to disable their respective recovery entries, not
1903 merely set.
1904
1905 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
1906
1907 Make the `source' command slightly faster.
1908
1909 * normal/main.c (grub_normal_execute): Don't re-read list files when
1910 nested.
1911
1912 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1913
1914 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
1915 field position and mask size to red fields from mode_info, not
1916 green.
1917 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
1918 Remove redundant tag->common.framebuffer_type assignment.
1919 Reported by: Seth Goldberg.
1920
1921 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
1922
1923 Sync up other versions of the Linux loader with Robert Millan's
1924 change of 2010-01-09, "Make loader output a bit more user-friendly".
1925
1926 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
1927 grub_dprintf().
1928 (grub_cmd_linux): Likewise.
1929 (grub_cmd_initrd): Likewise.
1930 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
1931 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1932
1933 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
1934
1935 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
1936 larger than MEMORY_MAP_SIZE.
1937
1938 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
1939
1940 Fix parallel build.
1941
1942 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
1943 dependency.
1944 * script/parser.y: #include grub_script.tab.h header.
1945
1946 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Support >3GiB and <16MiB RAM in i386-qemu.
1949
1950 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
1951 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
1952 (grub_lower_mem): Removed.
1953 (grub_upper_mem): Likewise.
1954 (mem_size): Made static.
1955 (above_4g): New variable.
1956 (grub_machine_mmap_init): Detect small mem_size and above_4g.
1957 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
1958 support.
1959
1960 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Cirrus 5446 and Bochs video cards support.
1963
1964 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
1965 video_bochs.mod
1966 (video_cirrus_mod_SOURCES): New variable.
1967 (video_cirrus_mod_CFLAGS): Likewise.
1968 (video_cirrus_mod_LDFLAGS): Likewise.
1969 (video_bochs_mod_SOURCES): Likewise.
1970 (video_bochs_mod_CFLAGS): Likewise.
1971 (video_bochs_mod_LDFLAGS): Likewise.
1972 * include/grub/vga.h: New file.
1973 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
1974 (grub_video_fb_set_page_t): New type.
1975 (grub_video_fb_setup): New prototype.
1976 (grub_video_fb_swap_buffers): Likewise.
1977 (grub_video_fb_get_info_and_fini): Likewise.
1978 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
1979 (CRTC_DATA_PORT): Likewise.
1980 (CRTC_CURSOR): Likewise.
1981 (CRTC_CURSOR_ADDR_HIGH): Likewise.
1982 (CRTC_CURSOR_ADDR_LOW): Likewise.
1983 (CRTC_CURSOR_DISABLE): Likewise.
1984 (update_cursor): Use grub_vga_cr_write.
1985 (grub_vga_text_setcursor): Likewise.
1986 * video/bochs.c: New file.
1987 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
1988 (palette): Likewise.
1989 (palette_size): Likewise.
1990 (framebuffer): New variable.
1991 (grub_video_fb_init): Use 'framebuffer'.
1992 (grub_video_fb_fini): Likewise.
1993 (grub_video_fb_get_info): Likewise.
1994 (grub_video_fb_get_palette): Likewise.
1995 (grub_video_fb_set_palette): Likewise.
1996 (grub_video_fb_set_viewport): Likewise.
1997 (grub_video_fb_get_viewport): Likewise.
1998 (grub_video_fb_map_color): Likewise.
1999 (grub_video_fb_map_rgb): Likewise.
2000 (grub_video_fb_map_rgba): Likewise.
2001 (grub_video_fb_unmap_color): Likewise.
2002 (grub_video_fb_unmap_color_int): Likewise.
2003 (grub_video_fb_fill_rect): Likewise.
2004 (grub_video_fb_blit_bitmap): Likewise.
2005 (grub_video_fb_blit_render_target): Likewise.
2006 (grub_video_fb_scroll): Likewise.
2007 (grub_video_fb_create_render_target): Likewise.
2008 (grub_video_fb_doublebuf_blit_init): Likewise.
2009 (grub_video_fb_set_active_render_target): Handle doublebuffering.
2010 (doublebuf_pageflipping_update_screen): New function.
2011 (doublebuf_pageflipping_init): Likewise.
2012 (grub_video_fb_setup): Likewise.
2013 (grub_video_fb_swap_buffers): Likewise.
2014 (grub_video_fb_get_info_and_fini): Likewise.
2015 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
2016 All users updated.
2017 (doublebuf_pageflipping_commit): Restructured into ...
2018 (doublebuf_pageflipping_set_page): ... this.
2019 (doublebuf_pageflipping_update_screen): Removed.
2020 (doublebuf_pageflipping_init): Likewise.
2021 (double_buffering_init): Likewise.
2022 (grub_video_vbe_setup): Use grub_video_fb_setup.
2023 (grub_video_vbe_swap_buffers): Removed.
2024 (grub_video_vbe_set_active_render_target): Likewise.
2025 (grub_video_vbe_get_active_render_target): Likewise.
2026 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
2027 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
2028 grub_video_fb_set_active_render_target and
2029 grub_video_fb_get_active_render_target.
2030 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
2031 (SEQUENCER_DATA_PORT): Likewise.
2032 (MAP_MASK_REGISTER): Likewise.
2033 (CRTC_ADDR_PORT): Likewise.
2034 (CRTC_DATA_PORT): Likewise.
2035 (START_ADDR_HIGH_REGISTER): Likewise.
2036 (START_ADDR_LOW_REGISTER): Likewise.
2037 (GRAPHICS_ADDR_PORT): Likewise.
2038 (GRAPHICS_DATA_PORT): Likewise.
2039 (READ_MAP_REGISTER): Likewise.
2040 (INPUT_STATUS1_REGISTER): Likewise.
2041 (INPUT_STATUS1_VERTR_BIT): Likewise.
2042 (get_map_mask): Use grub_vga_sr_read.
2043 (set_map_mask): Use grub_vga_sr_write.
2044 (set_read_map): Use grub_vga_gr_write.
2045 (set_start_address): Use grub_vga_cr_write.
2046 * video/sm712.c (framebuffer): Remove leftover fields.
2047
2048 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
2049
2050 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
2051 setting GRUB_VIDEO_BACKEND. Make it available as a user override
2052 instead. Replace the gfxterm backend check with a check that
2053 ${GRUB_PREFIX}/video.lst is non-empty.
2054 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
2055 again.
2056 (load_video): New generated function. Call it before loading
2057 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
2058 * util/grub.d/10_linux.in (linux_entry): Call load_video.
2059 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
2060 * docs/grub.texi (Simple configuration): Document
2061 GRUB_VIDEO_BACKEND.
2062
2063 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 Use video functions in linux and xnu loaders.
2066
2067 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
2068 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
2069 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
2070 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
2071 loader/i386/pc/linux.c.
2072 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
2073 (find_line_len): Removed.
2074 (find_framebuf): Likewise.
2075 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
2076 * loader/i386/efi/xnu.c: Removed.
2077 * loader/i386/pc/xnu.c: Moved from here...
2078 * loader/i386/xnu.c: ...here.
2079
2080 Enable priorities in video drivers.
2081
2082 * include/grub/video.h (grub_video_adapter_prio_t): New type.
2083 (grub_video_adapter): New field prio.
2084 (grub_video_register): Respect prio when inserting.
2085 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
2086 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
2087 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
2088 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
2089 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
2090 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
2091 * video/sm712.c (grub_video_sm712_adapter): Likewise.
2092
2093 Fix SDL driver ID.
2094
2095 * include/grub/video.h (grub_video_driver_id_t): New value
2096 GRUB_VIDEO_DRIVER_SDL.
2097 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
2098
2099 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
2100
2101 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
2102 argument to printf.
2103 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2104
2105 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
2106
2107 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
2108 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2109
2110 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
2111
2112 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
2113 directly, and recommend grub-install instead.
2114 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2115
2116 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
2117
2118 Fix i386-pc prefix handling with nested partitions (Debian bug
2119 #585068). Note that the case where the core image is booted using
2120 multiboot and relocated from its original location still requires
2121 more work.
2122
2123 * kern/i386/pc/init.c (make_install_device): If the prefix starts
2124 with "(,", fill the boot drive in between those two characters, but
2125 expect that a full partition specification including partition map
2126 names will follow.
2127 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
2128 specified, write a prefix without the drive name but including a
2129 full partition specification.
2130
2131 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
2132
2133 * util/grub-mkconfig.in: Ignore non-option arguments, for
2134 compatibility with older versions (before 2010-06-12) which did the
2135 same. In particular, this makes it easier to ship an update-grub
2136 wrapper which is compatible with that used with GRUB Legacy (Debian
2137 bug #586056).
2138
2139 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2140
2141 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
2142 for manual page generation.
2143
2144 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2145
2146 * po/POTFILES: Remove leftover commands/handler.c.
2147
2148 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
2149
2150 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
2151 left this script non-functional.
2152
2153 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
2154
2155 * docs/man/grub-emu.h2m: New file.
2156
2157 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
2158
2159 * docs/grub.texi (Commands): Document reduced command set in rescue
2160 mode.
2161 (cpuid): New section.
2162
2163 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
2164
2165 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
2166 new partition naming style.
2167 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
2168
2169 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
2170
2171 Add "-o grub.iso" like cmdline options support.
2172
2173 * util/grub-install.in: Improve cmdline option parsing.
2174 * util/grub-mkconfig.in: Likewise.
2175 * util/grub-mkrescue.in: Likewise.
2176 * util/grub-reboot.in: Likewise.
2177 * util/grub-set-default.in: Likewise.
2178 * util/i386/efi/grub-install.in: Likewise.
2179 * util/ieee1275/grub-install.in: Likewise.
2180 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2181
2182 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
2183
2184 * .bzrignore: Ignore 41_custom.
2185
2186 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
2187
2188 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
2189
2190 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
2191
2192 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
2193 prototype declarations.
2194
2195 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
2196 generating fs, partmap, and video lists.
2197 * include/grub/fs.h (grub_fs_register): Omit prototype if
2198 GRUB_LST_GENERATOR is defined.
2199 * include/grub/partition.h (grub_partition_map_register): Likewise.
2200 * include/grub/video.h (grub_video_register): Likewise.
2201
2202 2010-06-12 Javier Martín <lordhabbit@gmail.com>
2203
2204 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
2205
2206 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
2207
2208 * util/grub-mkrescue.in: Support --xorriso argument.
2209
2210 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
2213 Suggested by: Thomas Schmitt.
2214
2215 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
2218 Suggested by: Thomas Schmitt.
2219
2220 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 custom.cfg support.
2223
2224 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
2225 * util/grub.d/41_custom.in: New file.
2226
2227 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
2228
2229 * util/grub-mkrescue.in (make_image): Remove sh module, which has
2230 been merged back into normal.
2231
2232 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
2233
2234 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
2235 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
2236
2237 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
2238
2239 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
2240 when generating manual pages.
2241 * docs/man/grub-bin2h.h2m: New file.
2242 * docs/man/grub-editenv.h2m: New file.
2243 * docs/man/grub-fstest.h2m: New file.
2244 * docs/man/grub-install.h2m: New file.
2245 * docs/man/grub-macho2img.h2m: New file.
2246 * docs/man/grub-mkconfig.h2m: New file.
2247 * docs/man/grub-mkdevicemap.h2m: New file.
2248 * docs/man/grub-mkfont.h2m: New file.
2249 * docs/man/grub-mkimage.h2m: New file.
2250 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
2251 * docs/man/grub-mkrelpath.h2m: New file.
2252 * docs/man/grub-mkrescue.h2m: New file.
2253 * docs/man/grub-ofpathname.h2m: New file.
2254 * docs/man/grub-pe2elf.h2m: New file.
2255 * docs/man/grub-probe.h2m: New file.
2256 * docs/man/grub-reboot.h2m: New file.
2257 * docs/man/grub-script-check.h2m: New file.
2258 * docs/man/grub-set-default.h2m: New file.
2259 * docs/man/grub-setup.h2m: New file.
2260
2261 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Use FOR_* macros instead of *_iterate whenever possible.
2264
2265 * commands/handler.c: Removed.
2266 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
2267 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
2268 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2269 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
2270 (grub_probe_SOURCES): Remove kern/parser.c.
2271 (util/grub-script-check.c_DEPENDENCIES): Removed.
2272 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
2273 and grub_script_check_init.c.
2274 (grub_script_check_init.lst): Removed.
2275 (grub_script_check_init.h): Likewise.
2276 (grub_script_check_init.c): Likewise.
2277 (pkglib_MODULES): Remove handler.mod and sh.mod.
2278 (handler_mod_SOURCES): Removed.
2279 (handler_mod_CFLAGS): Likewise.
2280 (handler_mod_LDFLAGS): Likewise.
2281 (normal_mod_SOURCES): Remove normal/handler.c.
2282 Add script/main.c, script/script.c, script/execute.c,
2283 script/function.c, script/lexer.c, grub_script.tab.c
2284 and grub_script.yy.c.
2285 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2286 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2287 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
2288 (grub_setup_SOURCES): Remove kern/parser.c.
2289 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2290 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
2291 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
2292 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2293 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2294 (grub_setup_SOURCES): Remove kern/parser.c.
2295 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2296 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
2297 * include/grub/command.h (grub_command_iterate): Removed.
2298 (FOR_COMMANDS): New macro.
2299 * include/grub/dl.h (grub_dl): New member next.
2300 (grub_dl_iterate): Removed.
2301 (grub_dl_head): New variable declaration.
2302 (FOR_DL_MODULES): New macro.
2303 * include/grub/fs.h: Include list.h.
2304 (grub_fs): Make next first element.
2305 (grub_fs_list): New variable declaration.
2306 (grub_fs_register): Make inline.
2307 (grub_fs_unregister): Likewise.
2308 (grub_fs_iterate): Removed.
2309 (FOR_FILESYSTEMS): New macro.
2310 * include/grub/handler.h: Removed.
2311 * include/grub/list.h (grub_list_hook_t): Removed.
2312 (grub_list_test_t): Likewise.
2313 (grub_list_pop): Likewise.
2314 (grub_list_iterate): Likewise.
2315 (grub_list_insert): Likewise.
2316 (FOR_LIST_ELEMENTS): New macro.
2317 * include/grub/parser.h (grub_parser_class): Removed.
2318 (grub_parser_register): Likewise.
2319 (grub_parser_unregister): Likewise.
2320 (grub_parser_get_current): Likewise.
2321 (grub_parser_set_current): Likewise.
2322 (grub_register_rescue_parser): Likewise.
2323 (grub_rescue_parse_line): New function.
2324 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
2325 * include/grub/script_sh.h (grub_script_function_list): New variable
2326 declaration.
2327 (FOR_SCRIPT_FUNCTIONS): New macro.
2328 (grub_script_function_iterate): Removed.
2329 (grub_normal_parse_line): New prototype.
2330 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
2331 (FOR_DISABLED_TERM_INPUTS): Likewise.
2332 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2333 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2334 * include/grub/video.h (grub_video_adapter): Move 'next' to first
2335 element.
2336 (grub_video_register): Inline.
2337 (grub_video_unregister): Likewise.
2338 (grub_video_adapter_list): New variable declaration.
2339 (grub_video_iterate): Removed.
2340 (FOR_VIDEO_ADAPTERS): New macro.
2341 * kern/dl.c (grub_dl_list): Removed. All users updated.
2342 (grub_dl_iterate): Removed.
2343 * kern/fs.c (grub_fs_list): Make global.
2344 (grub_fs_register): Removed.
2345 (grub_fs_unregister): Likewise.
2346 (grub_fs_iterate): Likewise.
2347 * kern/handler.c: Removed.
2348 * kern/list.c (grub_list_pop): Removed.
2349 (grub_list_iterate): Likewise.
2350 (grub_list_insert): Likewise.
2351 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
2352 (grub_prio_list_insert): Don't use grub_list_insert.
2353 * kern/main.c (grub_register_rescue_parser): Don't call
2354 grub_register_rescue_parser.
2355 * kern/parser.c (grub_parser_class): Removed.
2356 (grub_parser_execute): Use grub_rescue_parse_line.
2357 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
2358 (grub_rescue_parser): Removed.
2359 (grub_register_rescue_parser): Likewise.
2360 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
2361 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
2362 (grub_auth_check_authentication): Likewise.
2363 * normal/completion.c (iterate_command): Removed.
2364 (grub_normal_do_completion): Use FOR_COMMANDS.
2365 * normal/handler.c: Removed.
2366 * normal/main.c (read_config_file): Remove parser changing.
2367 (grub_normal_execute): Don't call read_handler_list.
2368 (grub_normal_read_line_real): Statically allocate prompt.
2369 (grub_cmdline_run): Use grub_normal_parse_line.
2370 (GRUB_MOD_FINI): Don't call free_handler_list.
2371 * normal/menu_entry.c (run): Likewise.
2372 * script/function.c (grub_script_function_list): Make global.
2373 (grub_script_function_iterate): Removed.
2374 * script/main.c (grub_normal_parse_line): Make global.
2375 (grub_sh_parser): Removed.
2376 (GRUB_MOD_INIT): Likewise.
2377 (GRUB_MOD_FINI): Likewise.
2378 * tests/lib/functional_test.c (grub_functional_test): Use
2379 FOR_LIST_ELEMENTS.
2380 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
2381 (grub_test_run): Use FOR_LIST_ELEMENTS.
2382 * tests/lib/unit_test.c (main): Likewise.
2383 * util/deviceiter.c (grub_util_iterate_devices): Don't use
2384 grub_list_pop.
2385 * util/grub-fstest.c (grub_term_input_class): Removed.
2386 (grub_term_output_class): Likewise.
2387 * util/grub-probe.c: Likewise.
2388 * util/i386/pc/grub-setup.c: Likewise.
2389 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2390 * util/grub-script-check.c (main): Don't call grub_init_all and
2391 grub_fini_all.
2392 * video/video.c (grub_video_adapter_list): Make global.
2393 (grub_video_register): Removed.
2394 (grub_video_unregister): Likewise.
2395 (grub_video_iterate): Likewise.
2396
2397 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
2400 reported by Henrique Ferreiro.
2401
2402 2010-06-09 Robert Millan <rmh@gnu.org>
2403
2404 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
2405 ones, when both are available.
2406
2407 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2408
2409 Make --version uniform and avoid hard-coded program name.
2410
2411 * util/grub-mkimage.c (main): Use `program_name' instead of
2412 hard-coded string.
2413 * util/i386/pc/grub-setup.c (main): Likewise.
2414 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
2415 * util/grub-install.in: Save the basename of $0 in $self, and use the
2416 latter in informational messages. Use the same format for --version
2417 as the binary programs.
2418 * util/grub-mkconfig.in: Likewise.
2419 * util/grub-mkrescue.in: Likewise.
2420 * util/grub-reboot.in: Likewise.
2421 * util/grub-set-default.in: Likewise.
2422 * util/i386/efi/grub-install.in: Likewise.
2423 * util/ieee1275/grub-install.in: Likewise.
2424 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2425
2426 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2427
2428 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2429 embedding area. Use <= instead of == when checking for non-emptiness.
2430
2431 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2432
2433 * configure.ac: Add `.' to the directories searched for unifont.
2434
2435 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
2436
2437 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2438 grub_script.yy.h.
2439
2440 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
2441
2442 * docs/grub.texi (History): Expand to cover GRUB 2.
2443 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2444 commands, not `terminal'.
2445 (serial): Likewise.
2446 (terminal_input): New section.
2447 (terminal_output): New section.
2448 (uppermem): New section (stub).
2449 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2450
2451 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
2452
2453 * docs/grub.texi (Security): Menu entries are unrestricted by
2454 default, not restricted to superusers as I had previously thought.
2455 Reword to account for this.
2456
2457 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2458
2459 * kern/emu/misc.c (device_mapper_null_log): New function.
2460 (grub_device_mapper_supported): New function.
2461 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2462 prototype.
2463 * kern/emu/hostdisk.c (find_partition_start): Check whether
2464 device-mapper is supported before trying to use it.
2465 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2466
2467 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2468
2469 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2470 (File name syntax): Likewise.
2471 (help): --all is no longer supported in GRUB 2. Be more precise
2472 about pattern matching.
2473
2474 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2475
2476 * normal/completion.c (grub_normal_do_completion): When completing
2477 arguments to "set" and the current word contains an equals sign,
2478 skip to after the equals sign before starting completion.
2479
2480 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2481
2482 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2483
2484 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2485
2486 * docs/grub.texi (Network): New section.
2487 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2488 `(nd)' as in GRUB Legacy.
2489 (pxe_unload): New section.
2490
2491 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2492
2493 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2494 in the rescue shell, so recommend using `set' instead. Thanks,
2495 Jordan Uggla.
2496
2497 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2498
2499 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2500 (password): New section.
2501 (password_pbkdf2): New section.
2502 (search): New section.
2503 (Security): New section.
2504 (Troubleshooting): New section, currently very incomplete.
2505 (Invoking grub-mkpasswd-pbkdf2): New section.
2506 (Internals): New section, currently very incomplete.
2507
2508 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2509
2510 * util/grub.d/00_header.in: Add some more quoting (of
2511 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2512 work again.
2513 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2514
2515 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
2516
2517 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2518 to `count', fixing variable shadowing that broke the -c option.
2519
2520 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
2521
2522 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
2523 in case they contain spaces.
2524
2525 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
2526
2527 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
2528 "part_" to partmap module names, in line with grub-install.
2529 Reported by: Jindřich Makovička (Debian bug #584426).
2530
2531 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
2532
2533 * util/grub-mkimage.c: Make target-related error messages slightly
2534 more helpful; -O talks about "format". Explicitly point to the use
2535 of -O if no target is specified.
2536 Reported by: Didier Raboud (Debian bug #584415).
2537
2538 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
2539
2540 * INSTALL: Document several build requirements for optional features
2541 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2542
2543 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2544
2545 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
2546 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
2547 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
2548
2549 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2550
2551 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
2552 Thanks to Jordan Uggla for spotting this.
2553
2554 2010-06-02 Aleš Nesrsta <starous@volny.cz>
2555
2556 Finally make USB usable.
2557
2558 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
2559 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
2560 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
2561 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
2562 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
2563 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
2564 (GRUB_OHCI_FSMPS): Likewise.
2565 (GRUB_OHCI_PERIODIC_START): Likewise.
2566 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
2567 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
2568 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
2569 (GRUB_OHCI_SET_PORT_RESET): Likewise.
2570 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
2571 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
2572 (grub_ohci_transaction): Likewise.
2573 (grub_ohci_transfer): Improve condition detection algorithms.
2574 Handle toggle property. Program the transactions correctly.
2575 Improve error handling. Various important fixups.
2576 (grub_ohci_portstatus): Put register writes in right order.
2577 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
2578 (grub_uhci_transfer): Don't show "failed" message on success.
2579 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
2580 array.
2581 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
2582 determine its size.
2583 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
2584 before initialization is completed. Use IN direction for empty
2585 transfers. Use last_trans and compute toggle.
2586 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
2587 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
2588 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
2589 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
2590 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
2591 (grub_usb_device): Increase toggle to 256.
2592 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
2593 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
2594 GRUB_USBMS_SUBCLASS_SFF8070.
2595 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
2596 (grub_scsi_inquiry): New member page and alloc_length.
2597 (grub_scsi_request_sense): New structure.
2598 (grub_scsi_request_sense_data): Likewise.
2599 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
2600 control.
2601 * disk/scsi.c (grub_scsi_request_sense): New function.
2602 (grub_scsi_test_unit_ready): Likewise.
2603 (grub_scsi_inquiry): Fill new fields.
2604 (grub_scsi_read_capacity): Likewise.
2605 (grub_scsi_read10): Add request sense at the end.
2606 (grub_scsi_read12): Likewise.
2607 (grub_scsi_write10): Likewise.
2608 (grub_scsi_write12): Likewise.
2609 (grub_scsi_open): Add Test Unit Ready.
2610 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
2611 Support additional subclasses. Con't clear halt yet. Activate the
2612 proper config. Calculate LUNs correctly.
2613 (grub_usbms_transfer): Various important fixups.
2614
2615 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
2618 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
2619 (grub_ohci_fini_hw): New function.
2620 (grub_ohci_restore_hw): Likewise.
2621 (GRUB_MOD_INIT(ohci)): Register preboot hook.
2622 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
2623 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
2624
2625 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Dedicated DMA allocations.
2628
2629 * bus/pci.c (grub_memalign_dma32): New function
2630 (grub_dma_free): Likewise.
2631 (grub_dma_get_virt): Likewise.
2632 (grub_dma_get_phys): Likewise.
2633 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
2634 (grub_ohci_pci_iter): Use dma32_alloc.
2635 (grub_ohci_transfer): Likewise.
2636 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2637 (grub_usb_bulk_readwrite): Likewise.
2638 * include/grub/pci.h: Add declarations.
2639
2640 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 CS5536 support.
2643
2644 * bus/cs5536.c: New file.
2645 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
2646 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
2647 (cs5536_mod_SOURCES): New variable.
2648 (cs5536_mod_CFLAGS): Likewise.
2649 (cs5536_mod_LDFLAGS): Likewise.
2650 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
2651 machine/pci.h.
2652 (kernel_img_SOURCES): Add bus/cs5536.c.
2653 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
2654 usb_keyboard.mod.
2655 (usb_mod_SOURCES): New variable.
2656 (usb_mod_CFLAGS): New variable.
2657 (usb_mod_LDFLAGS): New variable.
2658 (usbtest_mod_SOURCES): New variable.
2659 (usbtest_mod_CFLAGS): New variable.
2660 (usbtest_mod_LDFLAGS): New variable.
2661 (ohci_mod_SOURCES): New variable.
2662 (ohci_mod_CFLAGS): New variable.
2663 (ohci_mod_LDFLAGS): New variable.
2664 (usbms_mod_SOURCES): New variable.
2665 (usbms_mod_CFLAGS): New variable.
2666 (usbms_mod_LDFLAGS): New variable.
2667 (usb_keyboard_mod_SOURCES): New variable.
2668 (usb_keyboard_mod_CFLAGS): New variable.
2669 (usb_keyboard_mod_LDFLAGS): New variable.
2670 * include/grub/smbus.h: New file.
2671 * include/grub/cs5536.h: New file.
2672
2673 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2674
2675 * util/grub.d/00_header.in: Add safety check to make sure that
2676 ${locale_dir} exists before trying to probe it.
2677
2678 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2679
2680 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
2681 per the GNU Coding Standards; this is now too obscure to be worth
2682 documenting.
2683 (QNX): Likewise.
2684 (chainloader): Remove cross-reference to `SCO UnixWare'.
2685
2686 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2687
2688 * docs/grub.texi (Chain-loading): New section.
2689 (DOS/Windows): New section, borrowed from GRUB Legacy with details
2690 adjusted for GRUB 2.
2691 (SCO UnixWare): Likewise.
2692 (QNX): Likewise.
2693 (chainloader): Add reference to `Block list syntax'.
2694 (drivemap): New section.
2695 (parttool): New section.
2696
2697 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2698
2699 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
2700 the grub shell'.
2701 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
2702 (Installing GRUB using grub-install): Remove reference to the grub
2703 shell; mention `grub-mkimage' and `grub-setup' instead.
2704 (Invoking grub-install): Likewise.
2705 (Interface): Add reference to `Menu entry editor'.
2706 (serial): Remove `--device' option.
2707
2708 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2709
2710 * docs/grub.texi (Configuration): New section, documenting
2711 configuration file generation using grub-mkconfig. I've left a slot
2712 for documenting the full shell scripting format but have not yet
2713 started on writing that up.
2714 (Invoking grub-mkconfig): New section.
2715
2716 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2717
2718 * docs/grub.texi (direntry): Remove grub-terminfo reference.
2719 (GNU GRUB manual): Likewise.
2720 (General commands): Update description of `terminfo' for GRUB 2.
2721
2722 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2723
2724 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
2725 (GRUB_MOD_INIT): Fix capitalisation.
2726 * docs/grub.texi (Command-line and menu entry commands): Document
2727 gettext and gptsync commands.
2728
2729 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
2730
2731 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
2732 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2733
2734 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
2735
2736 Add btrfs probing support, currently only in the single-device case.
2737
2738 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
2739 function.
2740 (grub_guess_root_device): Call find_root_device_from_mountinfo
2741 before looking in /dev.
2742
2743 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
2746 GRUB_DISK_SIZE_UNKNOWN.
2747 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2748
2749 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
2750
2751 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
2752 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
2753 corrupted or not synced properly.
2754
2755 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
2758 Reported by: Seth Goldberg.
2759
2760 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
2763 addition of dest.
2764 Reported by: Seth Goldberg.
2765
2766 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
2769 Reported by: Seth Goldberg.
2770
2771 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
2774 64-bit address as signed on MIPS.
2775
2776 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2777
2778 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
2779 to the empty string.
2780
2781 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
2782
2783 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
2784
2785 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
2786 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
2787 * kern/misc.c (__enable_execute_stack): Disable on
2788 GRUB_MACHINE_EMU.
2789
2790 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
2791
2792 Make grub-probe work with symbolic links under /dev/mapper as well
2793 as with real block devices. The Linux world seems to be (at best)
2794 in transition here, and GRUB shouldn't get caught in the middle.
2795
2796 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
2797 /dev/mapper.
2798
2799 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2800
2801 * util/grub-script-check.c (main): Ensure defined behaviour on empty
2802 input files (in which case exit zero).
2803
2804 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2805
2806 * kern/emu/misc.c (canonicalize_file_name): realpath can still
2807 return NULL for various reasons even if it has a maximum-length
2808 buffer: for example, there might be a symlink loop, or the path
2809 might exceed PATH_MAX. If this happens, return NULL.
2810
2811 2010-05-27 Robert Millan <rmh@gnu.org>
2812
2813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
2814 partmap module to handle cross-partmap setups.
2815 Reported by Orestes Mas. Gràcies!
2816
2817 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
2818
2819 * util/grub-mkrescue.in: Initialise override_dir rather than
2820 assuming that it's unset or empty in the environment.
2821
2822 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2823
2824 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
2825 variable index into p_index to suppress a warning with -Wshadow.
2826
2827 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
2828
2829 * INSTALL: Added flex >= 2.5.35 requirement.
2830
2831 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2834
2835 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 cmostest support.
2838
2839 * commands/i386/cmostest.c: New file.
2840 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
2841 (cmostest_mod_SOURCES): New variable.
2842 (cmostest_mod_CFLAGS): Likewise.
2843 (cmostest_mod_LDFLAGS): Likewise.
2844 * conf/i386-pc.rmk: Likewise.
2845 * docs/grub.texi (Vendor power-on keys): New section.
2846 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
2847 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
2848 and GRUB_BUTTON_CMOS_ADDRESS.
2849 * util/grub.d/00_header.in: Handle powering-on by separate button.
2850
2851 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
2854 Removed drawing_scrollbar argument. All users updated
2855 Fixes #29792.
2856 Reported by Jo Shields
2857
2858 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
2861 buffer since gfxterm handles double repaint.
2862
2863 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
2866 * term/gfxterm.c (real_scroll): Likewise.
2867
2868 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
2871 before calling BIOS.
2872
2873 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * include/grub/i18n.h: Always enable grub_gettext.
2876
2877 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
2880 partition naming style.
2881
2882 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
2883
2884 * util/grub-mkconfig.in: Fix handling of -o so that it works when
2885 not the first option.
2886
2887 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2888
2889 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
2890
2891 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
2892
2893 * util/misc.c: Move inclusion of <limits.h> to ...
2894 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
2895
2896 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
2897
2898 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
2899 Fix merge error in NetBSD code.
2900 (find_partition_start) [__NetBSD__]: Likewise.
2901
2902 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
2903
2904 Fix grub-mkrescue usage unit testing.
2905
2906 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2907
2908 2010-05-18 Christian Franke <franke@computer.org>
2909
2910 * util/grub.d/10_windows.in: Use path names instead of
2911 drive letters to prevent warning from Cygwin 1.7.
2912 Add drivemap command to menuentry if needed.
2913
2914 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
2915
2916 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
2917 gnumach and gnumach.gz.
2918
2919 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * include/grub/i18n.h (gettext): Inline instead of using #define.
2922 (grub_gettext): Likewise.
2923 (_): Likewise.
2924
2925 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
2928 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
2929 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
2930 (main): Add a slash after pkglibdirroot.
2931
2932 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * util/grub-install.in: Add missing "in" keyword.
2935
2936 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
2939 Reported by: Seth Goldberg.
2940
2941 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2944
2945 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2946
2947 * configure.ac: Check for Linux device-mapper support.
2948
2949 * util/hostdisk.c (device_is_mapped): New function.
2950 (find_partition_start): New function, partly broken out from
2951 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
2952 device-mapper support added.
2953 (linux_find_partition): Use find_partition_start.
2954 (convert_system_partition_to_system_disk): Add `st' argument.
2955 Support Linux /dev/mapper/* devices if device-mapper support is
2956 available; only DM-RAID devices are understood at present.
2957 (find_system_device): Add `st' argument. Pass it to
2958 convert_system_partition_to_system_disk.
2959 (grub_util_biosdisk_get_grub_dev): Pass stat result to
2960 find_system_device and convert_system_partition_to_system_disk. Use
2961 find_partition_start.
2962
2963 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
2964 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
2965 * util/deviceiter.c [__linux__]: Define MINOR.
2966 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
2967 * util/mkdevicemap.c (grub_putchar): New function.
2968 (grub_getkey): New function.
2969 (grub_refresh): New function.
2970 (main): Set debug=all if -v -v is used.
2971
2972 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2973
2974 Fix build with non-GNU libcs.
2975
2976 * util/misc.c (canonicalize_file_name): Move to ...
2977 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
2978 grub_make_system_path_relative_to_its_root.
2979
2980 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
2981
2982 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
2983 we handle finding grub-mkimage. Default to finding grub-mkimage in
2984 ${bindir} with program_transform_name applied, and provide a
2985 --grub-mkimage option to override this.
2986
2987 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Remove grub-mkisofs.
2990
2991 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
2992 (grub_mkisofs_SOURCES): Removed.
2993 (grub_mkisofs_CFLAGS): Removed.
2994 * util/mkisofs/defaults.h: Removed.
2995 * util/mkisofs/eltorito.c: Likewise.
2996 * util/mkisofs/exclude.h: Likewise.
2997 * util/mkisofs/hash.c: Likewise.
2998 * util/mkisofs/include/: Likewise.
2999 * util/mkisofs/include/fctldefs.h: Likewise.
3000 * util/mkisofs/include/mconfig.h: Likewise.
3001 * util/mkisofs/include/prototyp.h: Likewise.
3002 * util/mkisofs/include/statdefs.h: Likewise.
3003 * util/mkisofs/iso9660.h: Likewise.
3004 * util/mkisofs/joliet.c: Likewise.
3005 * util/mkisofs/match.c: Likewise.
3006 * util/mkisofs/match.h: Likewise.
3007 * util/mkisofs/mkisofs.c: Likewise.
3008 * util/mkisofs/mkisofs.h: Likewise.
3009 * util/mkisofs/msdos_partition.h: Likewise.
3010 * util/mkisofs/multi.c: Likewise.
3011 * util/mkisofs/name.c: Likewise.
3012 * util/mkisofs/rock.c: Likewise.
3013 * util/mkisofs/tree.c: Likewise.
3014 * util/mkisofs/write.c: Likewise.
3015
3016 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 Unify grub-mkimage accross platforms.
3019
3020 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
3021 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
3022 (grub_mkelfimage_SOURCES): Removed.
3023 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
3024 (util/grub-mkimage.c_DEPENDENCIES): .. this.
3025 (bin_UTILITIES): Add grub-mkimage.
3026 (grub_mkimage_SOURCES): New variable.
3027 (kernel_img_HEADERS): Remove machine/kernel.h.
3028 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
3029 (pkglib_PROGRAMS): Add kernel.img.
3030 (kernel_img_HEADERS): Add machine/kernel.h.
3031 (kernel_img_FORMAT): Removed.
3032 (bin_UTILITIES): Remove grub-mkimage.
3033 (grub_mkimage_SOURCES): Removed.
3034 (grub_mkimage_CFLAGS): Likewise.
3035 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3036 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
3037 (pkglib_PROGRAMS): Add kernel.img.
3038 (bin_UTILITIES): Remove grub-mkimage.
3039 (grub_mkimage_SOURCES): Removed.
3040 (grub_mkimage_CFLAGS): Likewise.
3041 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3042 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
3043 (pkglib_PROGRAMS): Add kernel.img.
3044 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
3045 (pkglib_PROGRAMS): Add kernel.img.
3046 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
3047 (grub_mkimage_SOURCES): Removed.
3048 (grub_mkimage_CFLAGS): Likewise.
3049 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3050 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
3051 (pkglib_PROGRAMS): Add kernel.img.
3052 (bin_UTILITIES): Remove grub-mkimage.
3053 (grub_mkimage_SOURCES): Removed.
3054 (grub_mkimage_CFLAGS): Likewise.
3055 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3056 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
3057 (grub_mkimage_SOURCES): Removed.
3058 (grub_mkimage_CFLAGS): Likewise.
3059 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3060 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
3061 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
3062 (grub_pe32_optional_header): ... this.
3063 (grub_pe64_optional_header): ... and this. All users updated.
3064 (GRUB_PE32_PE32_MAGIC): Split into ..
3065 (GRUB_PE32_PE32_MAGIC): .. this.
3066 (GRUB_PE32_PE64_MAGIC): .. and this.
3067 (GRUB_PE32_SIGNATURE_SIZE): New definition.
3068 * include/grub/elf.h (PT_GNU_STACK): New definition.
3069 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
3070 * include/grub/i386/efi/kernel.h: Likewise.
3071 * include/grub/i386/kernel.h: Likewise.
3072 * include/grub/i386/pc/kernel.h: Likewise.
3073 * include/grub/i386/qemu/boot.h: Likewise.
3074 * include/grub/mips/kernel.h: Likewise.
3075 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3076 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3077 * include/grub/powerpc/kernel.h: Likewise.
3078 * include/grub/sparc64/ieee1275/boot.h: Likewise.
3079 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3080 * include/grub/sparc64/kernel.h: Likewise.
3081 * include/grub/x86_64/efi/kernel.h: Likewise.
3082 * include/grub/x86_64/kernel.h: Likewise.
3083 * include/grub/offsets.h: New file.
3084 * include/grub/kernel.h (grub_module_info): Split into ...
3085 (grub_module_info32): ... this.
3086 (grub_module_info64): ... and this.
3087 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
3088 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
3089 (grub_boot_blocklist): Moved from here ...
3090 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
3091 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
3092 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
3093 * include/grub/types.h (grub_target_to_host16): Removed.
3094 (grub_target_to_host32): Likewise.
3095 (grub_target_to_host64): Likewise.
3096 (grub_host_to_target16): Likewise.
3097 (grub_host_to_target32): Likewise.
3098 (grub_host_to_target64): Likewise.
3099 (grub_host_to_target_addr): Likewise.
3100
3101 Support grub-mkrescue for efi, coreboot and qemu.
3102
3103 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
3104 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
3105 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
3106 * util/grub-mkrawimage.c: Moved from here ...
3107 * util/grub-mkimage.c: ... here. All users updated.
3108 (ALIGN_ADDR): Use image_target.
3109 (TARGET_NO_FIELD): New const.
3110 (image_target_desc): New type.
3111 (image_targets): New array.
3112 (grub_target_to_host64): Use image_target.
3113 (grub_target_to_host32): Likewise.
3114 (grub_target_to_host16): Likewise.
3115 (grub_host_to_target64): Likewise.
3116 (grub_host_to_target32): Likewise.
3117 (grub_host_to_target16): Likewise.
3118 (grub_host_to_target_addr): Likewise.
3119 (generate_image): Handle multiimage.
3120 (main): Require -O parameter. All users updated.
3121 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
3122 util/efi/grub-mkimage.c
3123 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
3124 New option --rom-directory.
3125 Use xorriso.
3126 * util/i386/efi/grub-mkimage.c: Removed.
3127 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
3128 (grub_target_to_host32): Likewise.
3129 (grub_target_to_host64): Likewise.
3130 (grub_host_to_target16): Likewise.
3131 (grub_host_to_target32): Likewise.
3132 (grub_host_to_target64): Likewise.
3133 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
3134 (grub_target_to_host32): Likewise.
3135 (grub_target_to_host64): Likewise.
3136 (grub_host_to_target16): Likewise.
3137 (grub_host_to_target32): Likewise.
3138 (grub_host_to_target64): Likewise.
3139
3140 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
3141
3142 Source tree is reorganized for emu build.
3143
3144 * include/grub/util/console.h: Move from here...
3145 * include/grub/emu/console.h: ...to here.
3146 * include/grub/util/getroot.h: Move from here...
3147 * include/grub/emu/getroot.h: ...to here.
3148 * include/grub/util/hostdisk.h: Move from here...
3149 * include/grub/emu/hostdisk.h: ...to here.
3150 * util/console.c: Move from here...
3151 * kern/emu/console.c: ...to here.
3152 * util/getroot.c: Move from here...
3153 * kern/emu/getroot.c: ...to here.
3154 * util/grub-emu.c: Move from here...
3155 * kern/emu/main.c: ...to here.
3156 * util/hostdisk.c: Move from here...
3157 * kern/emu/hostdisk.c: ...to here.
3158 * util/hostfs.c: Move from here...
3159 * kern/emu/hostfs.c: ...to here.
3160 * util/mm.c: Move from here...
3161 * kern/emu/mm.c: ...to here.
3162 * util/pci.c: Move from here...
3163 * bus/emu/pci.c: ...to here.
3164 * util/sdl.c: Move from here...
3165 * video/emu/sdl.c: ...to here.
3166 * util/time.c: Move from here...
3167 * kern/emu/time.c: ...to here.
3168 * util/usb.c: Move from here...
3169 * bus/usb/emu/usb.c: ...to here.
3170
3171 * include/grub/emu/misc.h: New header for grub-emu functions.
3172 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
3173
3174 * conf/any-emu.rmk: Rule updates for above renames.
3175 * conf/common.rmk: Likewise.
3176 * conf/i386-pc.rmk: Likewise.
3177 * conf/i386-qemu.rmk: Likewise.
3178 * conf/mips.rmk: Likewise.
3179 * conf/sparc64-ieee1275.rmk: Likewise.
3180 * conf/x86-efi.rmk: Likewise.
3181
3182 * disk/lvm.h: #include updates for above renames.
3183 * util/grub-mkrelpath.c: Likewise.
3184 * util/grub-probe.c: Likewise.
3185 * util/i386/pc/grub-setup.c: Likewise.
3186 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3187 * kern/emu/console.c: Likewise.
3188 * kern/emu/getroot.c: Likewise.
3189 * kern/emu/hostdisk.c: Likewise.
3190 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
3191
3192 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
3193 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
3194 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
3195 * util/misc.c: Remove grub-emu functions.
3196
3197 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 Fix gfxmenu crash.
3200 Reported by: Thorsten Grützmacher.
3201
3202 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
3203 timeout hook.
3204 (circprog_set_property): Register and unregister timeout hook.
3205 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
3206 (label_destroy): Free template. and unregister hook.
3207 (label_set_state): New function.
3208 (label_set_property): Handle templates and hooks.
3209 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
3210 timeout hook.
3211 (progress_bar_set_property): Register and unregister timeout hook.
3212 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
3213 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
3214 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
3215 (update_timeout_visit): Removed.
3216 (update_timeouts): New function.
3217 (redraw_timeouts): Likewise.
3218 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
3219 (grub_gfxmenu_clear_timeout): Likewise.
3220 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
3221 (grub_gfxmenu_timeout_notify): Likewise.
3222 (grub_gfxmenu_timeout_notifications): New external variable.
3223 (grub_gfxmenu_timeout_register): New function.
3224 (grub_gfxmenu_timeout_unregister): Likewise.
3225
3226 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Transform (broken) vga terminal into (working) vga video driver.
3229
3230 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
3231 video/i386/pc/vga.c.
3232 * include/grub/video.h (grub_video_driver_id):
3233 Add GRUB_VIDEO_DRIVER_VGA.
3234 * term/i386/pc/vga.c: Renamed to ...
3235 * video/i386/pc/vga.c: ...this
3236 (DEBUG_VGA): Removed.
3237 (CHAR_WIDTH): Likewise.
3238 (CHAR_HEIGHT): Likewise.
3239 (TEXT_WIDTH): Likewise.
3240 (TEXT_HEIGHT): Likewise.
3241 (DEFAULT_FG_COLOR): Likewise.
3242 (DEFAULT_BG_COLOR): Likewise.
3243 (colored_char): Likewise.
3244 (xpos): Likewise.
3245 (ypos): Likewise.
3246 (cursor_state): Likewise.
3247 (fg_color): Likewise.
3248 (bg_color): Likewise.
3249 (text_buf): Likewise.
3250 (page): Likewise.
3251 (font): Likewise.
3252 (framebuffer): New variable.
3253 (set_read_map): Disabled.
3254 (setup): New variable.
3255 (is_target): Likewise.
3256 (grub_vga_mod_init): Likewise.
3257 (grub_vga_mod_fini): Likewise.
3258 (check_vga_mem): Likewise.
3259 (write_char): Likewise.
3260 (write_cursor): Likewise.
3261 (scroll_up): Likewise.
3262 (grub_vga_putchar): Likewise.
3263 (grub_vga_getcharwidth): Likewise.
3264 (grub_vga_getwh): Likewise.
3265 (grub_vga_getxy): Likewise.
3266 (grub_vga_gotoxy): Likewise.
3267 (grub_vga_cls): Likewise.
3268 (grub_vga_setcolorstate): Likewise.
3269 (grub_vga_setcursor): Likewise.
3270 (grub_video_vga_init): New function.
3271 (grub_video_vga_setup): Likewise.
3272 (grub_video_vga_fini): Likewise.
3273 (update_target): Likewise.
3274 (grub_video_vga_blit_bitmap): Likewise.
3275 (grub_video_vga_blit_render_target): Likewise.
3276 (grub_video_vga_set_active_render_target): Likewise.
3277 (grub_video_vga_get_active_render_target): Likewise.
3278 (grub_video_vga_swap_buffers): Likewise.
3279 (grub_video_vga_set_palette): Likewise.
3280 (grub_video_vga_get_info_and_fini): Likewise.
3281 (grub_vga_term): Removed.
3282 (grub_video_vga_adapter): New variable.
3283 (GRUB_MOD_INIT): Register a video driver instead of terminal.
3284 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
3285
3286 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * video/readers/jpeg.c: Indented.
3289
3290 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 Various jpeg cleanups.
3293
3294 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
3295 (grub_jpeg_decode_quan_table): Use sizeof.
3296 (grub_jpeg_decode_du): Use ARRAY_SIZE.
3297
3298 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
3299
3300 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
3301 tables. Ignore non-last ac bit.
3302 (grub_jpeg_decode_quan_table): Likewise.
3303
3304 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3307 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
3308 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3309 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
3310 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
3311 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
3312
3313 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
3316 error.
3317
3318 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
3321
3322 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
3325 condition.
3326
3327 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
3330 part.
3331
3332 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
3335 pointers.
3336
3337 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
3340
3341 2010-05-01 Christian Franke <franke@computer.org>
3342
3343 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
3344 Remove broken Cygwin path conversion.
3345 * util/misc.c: [__CYGWIN__] Add include and define.
3346 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
3347 for Cygwin 1.7.
3348 (make_system_path_relative_to_its_root): Simplify loop, replace early
3349 return by break.
3350 [__CYGWIN__] Add conversion to win32 path.
3351 Include "/" case in trailing slash removal.
3352
3353 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * kern/main.c (grub_load_config): Fix copy-pasted comment.
3356 Reported by: Seth Goldberg
3357
3358 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * commands/help.c (grub_cmd_help): Fix a typo.
3361 Reported by: Seth Goldberg
3362
3363 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
3366 name and add N_.
3367 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
3368 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
3369 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
3370 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
3371 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
3372 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
3373 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3374 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3375 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3376 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3377 * normal/context.c (GRUB_MOD_INIT): Likewise.
3378 * normal/main.c (GRUB_MOD_INIT): Likewise.
3379 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3380 * term/serial.c (GRUB_MOD_INIT): Likewise.
3381 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3382
3383 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
3386 extra == 0.
3387
3388 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * commands/iorw.c: New file.
3391 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
3392 (iorw_mod_SOURCES): New variable.
3393 (iorw_mod_CFLAGS): Likewise.
3394 (iorw_mod_LDFLAGS): Likewise.
3395
3396 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Hotkey support
3399
3400 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
3401 * normal/main.c (hotkey_aliases): New variable.
3402 (grub_normal_add_menu_entry): Parse "--hotkey".
3403 * normal/menu_text.c (run_menu): Handle hotkeys.
3404
3405 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * kern/i386/coreboot/init.c (grub_machine_init): Call
3408 grub_machine_mmap_init on qemu.
3409
3410 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * boot/i386/qemu/boot.S: Add a missing .code16.
3413
3414 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Use LBIO on coreboot.
3417
3418 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
3419 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
3420 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
3421 New declaration.
3422 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
3423 grub_machine_mmap_init on coreboot.
3424 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3425 GRUB_LINUXBIOS_MEMBER_LINK.
3426 (grub_machine_mmap_iterate): Fix declaration.
3427 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3428
3429 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 Split coreboot and multiboot ports.
3432
3433 * conf/i386-multiboot.rmk: New file.
3434 * configure.ac: Add multiboot port.
3435 * include/grub/i386/multiboot/boot.h: New file.
3436 * include/grub/i386/multiboot/console.h: Likewise.
3437 * include/grub/i386/multiboot/init.h: Likewise.
3438 * include/grub/i386/multiboot/kernel.h: Likewise.
3439 * include/grub/i386/multiboot/loader.h: Likewise.
3440 * include/grub/i386/multiboot/memory.h: Likewise.
3441 * include/grub/i386/multiboot/serial.h: Likewise.
3442 * include/grub/i386/multiboot/time.h: Likewise.
3443 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3444 * loader/multiboot.c: Likewise.
3445 * loader/multiboot_mbi2.c: Likewise.
3446 * util/grub-mkrescue.in: Generate multiboot rescue.
3447
3448 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3451
3452 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 Merge handling of input and output terminals. Fix a hang.
3455
3456 * commands/terminal.c (abstract_terminal): New struct.
3457 (handle_command): New function. Based on grub_cmd_terminal_input.
3458 (grub_cmd_terminal_input): Use handle_command.
3459 (grub_cmd_terminal_output): Use handle_command.
3460
3461 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3462
3463 Fix comment handling.
3464
3465 * tests/grub_script_comments.in: New testcase.
3466 * conf/tests.rmk: Rules for new testcase.
3467 * script/yylex.l: Updated flex rules.
3468
3469 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3470
3471 * docs/grub.texi (play): Document that zero pitches produce rests.
3472 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3473 if argc is 1.
3474
3475 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3478 autogen issues.
3479
3480 2010-04-26 Christian Franke <franke@computer.org>
3481
3482 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3483 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3484 (grub_get_prefix): Remove function.
3485 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3486 make_system_path_relative_to_its_root ().
3487 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3488
3489 2010-04-24 Christian Franke <franke@computer.org>
3490
3491 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3492 (kernel_img_LDFLAGS): Remove -static-libgcc.
3493
3494 2010-04-24 Christian Franke <franke@computer.org>
3495
3496 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3497 and CHECK_END_SYMBOL if grub-emu is built.
3498 Unset TARGET_OBJ2ELF if grub-emu is built
3499 without module support.
3500
3501 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
3502
3503 Nilfs2 support.
3504
3505 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3506 (grub_fstest_SOURCES): Likewise.
3507 (pkglib_MODULES): Add nilfs2.mod.
3508 (nilfs2_mod_SOURCES): New variable.
3509 (nilfs2_mod_CFLAGS): Likewise.
3510 (nilfs2_mod_LDFLAGS): Likewise.
3511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3512 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3513 * fs/nilfs2.c: New file.
3514
3515 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3518 is not supported.
3519
3520 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3521
3522 Add grub-mkconfig support for NetBSD.
3523
3524 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
3525 * util/grub-mkconfig.in: export new NetBSD specific variables.
3526 * po/POTFILES-shell: added 10_netbsd.in.
3527 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
3528
3529 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
3530
3531 Fix emu build with grub-emu-pci and grub-emu-modules.
3532
3533 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
3534 functions.
3535 * include/grub/libpciaccess.h: New file.
3536 * conf/any-emu.rmk: Update kernel headers for emu build.
3537
3538 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
3541
3542 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
3545
3546 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
3549 Retrieve chosen/bootpath if bootpath isn't hardcoded.
3550 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
3551 util/ieee1275/ofpath.c.
3552 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
3553 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
3554 * include/grub/sparc64/ieee1275/boot.h
3555 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
3556 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
3557 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
3558 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
3559 const char *.
3560 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
3561 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
3562 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
3563 install.
3564
3565 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3566
3567 * util/grub-mkconfig.in: Corrected two == equality tests.
3568 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
3569 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
3570 expect a number appended to it.
3571 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
3572 expects a number appended to it.
3573
3574 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
3577
3578 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * util/hostdisk.c (make_device_name): Change to new partition naming.
3581
3582 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
3585
3586 2010-04-17 Christian Franke <franke@computer.org>
3587
3588 * Makefile.in: Add missing localedir setting.
3589
3590 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
3591
3592 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
3593 mistake in r2156. Noticed by Anthony Fok.
3594
3595 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
3596 @localedir@.
3597 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
3598
3599 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
3600
3601 Fix a spurious, uninitialized variable warning.
3602
3603 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
3604 Initialize variable, shdr.
3605 (grub_freebsd_load_elfmodule): Likewise.
3606 (grub_freebsd_load_elf_meta): Likewise.
3607
3608 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
3609
3610 Fix for escaped dollar in double quoted strings.
3611
3612 * script/yylex.l: Updated flex rules.
3613 * conf/tests.rmk: Rule for new testcase.
3614 * tests/grub_script_dollar.in: New testcase.
3615
3616 2010-04-13 Carles Pina i Estany <carles@pina.cat>
3617 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
3618
3619 Enclose all translated strings in grub.cfg in single quotes, and
3620 escape them appropriately (Ubuntu bug #552921).
3621
3622 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
3623 * util/grub.d/10_hurd.in: Use it.
3624 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
3625 * util/grub.d/10_linux.in (linux_entry): Likewise.
3626
3627 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 Fix cygwin compilation.
3630
3631 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
3632 * include/grub/misc.h (__register_frame_info)
3633 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
3634 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3635 * kern/misc.c (__register_frame_info)
3636 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
3637 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
3638
3639 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
3642
3643 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Unify libgcc processing.
3646
3647 * Makefile.in (kernel_img_LDFLAGS): New variable.
3648 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
3649 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
3650 overwriting.
3651 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
3652 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
3653 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
3654 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
3655 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
3656 overwriting. Remove -lgcc and -static-libgcc
3657 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
3658 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3659 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
3660 (kernel_img_LDFLAGS): Append instead of overwriting.
3661 Remove -lgcc and -static-libgcc
3662 * conf/sparc64-ieee1275.rmk: Likewise.
3663 * include/grub/powerpc/libgcc.h: Move to ...
3664 * include/grub/libgcc.h: .. this.
3665 * include/grub/libgcc.h: Don't export most of the function on x86.
3666 (__bswapsi2): New export.
3667 (__bswapdi2): Likewise.
3668 * include/grub/mips/libgcc.h: Removed.
3669 * include/grub/sparc64/libgcc.h: Likewise.
3670
3671 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
3674 disk_info_msg (conflicts with gettexting into languages with cases).
3675
3676 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3677
3678 Add grub-probe support for NetBSD.
3679
3680 * util/getroot.c (find_root_device): Convert block device to
3681 character device on NetBSD.
3682 * util/probe.c (probe): Require character device on NetBSD.
3683 * util/hostdisk.c: NetBSD specific headers.
3684 (configure_device_driver): new function to tune device driver
3685 parameters (currently only for NetBSD floppy driver).
3686 (grub_util_biosdisk_open): NetBSD specific code (get disk size
3687 via disklabel ioctl).
3688 (open_device): call configure_device_driver on NetBSD.
3689 (convert_system_partition_to_system_disk): NetBSD specific code.
3690 (device_is_wholedisk): Likewise.
3691 (grub_util_biosdisk_get_grub_dev): Likewise.
3692 (make_device_name): Fixed a typo in bsd_part_str.
3693 * configure.ac: check for opendisk() and getrawpartition() on
3694 NetBSD and set LIBUTIL.
3695 * Makefile.in: add LIBUTIL to LIBS.
3696
3697 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3698
3699 Documentation fix.
3700
3701 * util/grub-script-check.c: Better help message.
3702
3703 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
3704
3705 Fix FreeBSD build.
3706
3707 * configure.ac: Flex version check.
3708 * conf/common.rmk: Add -Wno-error to sh.mod.
3709 * script/yylex.l: Remove all #pragma.
3710
3711 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * include/grub/util/misc.h (canonicalise_file_name): Add missing
3714 prototype.
3715 Reported by: Seth Goldberg.
3716
3717 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
3720 Rename "module" to "module2".
3721 Reported by: Seth Goldberg.
3722
3723 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
3726 EXPORT_FUNC.
3727 Reported by: Seth Goldberg.
3728
3729 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * lib/posix_wrap/locale.h: Add missing file.
3732 Reported by: Seth Goldberg.
3733
3734 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 grub-emu module load support.
3737
3738 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
3739 NO_DYNAMIC_MODULES switched to this.
3740 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
3741 (CFLAGS): Likewise.
3742 * conf/any-emu.rmk: Generate symlist.
3743 (kernel_img_HEADERS): Add util/datetime.h.
3744 (kernel_img_HEADERS) [sdl]: Add sdl.h.
3745 (kernel_img_HEADERS) [libusb]: Add libusb.h.
3746 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
3747 kern/$(target_cpu)/cache.S.
3748 * configure.ac (grub-emu-modules): New option.
3749 * genmk.rb: Handle multiple source lists.
3750 * include/grub/sdl.h: New file.
3751 * include/grub/libusb.h: Likewise.
3752 * util/grub-emu.c (main): Hanle (host) root.
3753 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
3754 GRUB_ERR_UNKNOWN_DEVICE.
3755 * util/misc.c: Move mm functions to ...
3756 * util/mm.c: ... here. All users updated.
3757
3758 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
3761 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
3762 missing files.
3763 (maintainer-clean): Remove libgcrypt-grub.
3764
3765 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
3768
3769 2010-04-09 EFI Coder <eficoder@hotmail.com>
3770
3771 * normal/menu_text.c (print_message): Clean up the message and show
3772 the Fn information when on EFI
3773 * term/efi/console.c (grub_console_checkkey): Add F4 support.
3774
3775 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
3778 All users updated.
3779 * normal/crypto.c (read_crypto_list): Likewise.
3780 * normal/dyncmd.c (read_command_list): Likewise.
3781 * normal/term.c (read_terminal_list): Likewise.
3782 * normal/main.c (read_lists): Use explicit prefix.
3783 (read_lists_hook): Use read_lists.
3784 (grub_normal_execute): Likewise.
3785
3786 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
3789 Reported by: Thomas Schmitt.
3790 Add -no-emul-boot to grub-mkisofs parameters.
3791
3792 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * font/font.c: Indented.
3795
3796 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3797
3798 Elif support to GRUB script (by Deepak Vankadaru).
3799
3800 * tests/grub_script_if.in: New testcase.
3801 * conf/tests.rmk: Rule for new testcase.
3802 * script/parser.y: Grammar rules for elif.
3803
3804 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
3805
3806 While and until loops support to GRUB script.
3807
3808 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
3809 (grub_script_create_cmdwhile): New function prototype.
3810 (grub_script_execute_cmdwhile): New function prototype.
3811 * script/execute.c (grub_script_execute_cmdwhile): New function.
3812 * script/parser.y (command): New commands.
3813 (whilecmd): New grammar rule.
3814 (untilcmd): New grammar rule.
3815 * script/script.c (grub_script_create_cmdwhile): New function.
3816 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
3817 function.
3818
3819 * tests/grub_script_while1.in: New testcase.
3820 * conf/tests.rmk: Rule for new testcase.
3821
3822 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
3825 as *.jpg.
3826
3827 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
3828
3829 GRUB_BACKGROUND support.
3830
3831 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
3832 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
3833
3834 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 Load fonts and modules for gfxmenu in grub-mkconfig.
3837 Idea by: Mario Vazquez
3838
3839 * util/grub.d/00_header.in: Load pf2 and image modules.
3840
3841 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 grub-mkconfig multiple terminal support.
3844
3845 * util/grub-mkconfig.in: Handle multiple terminals correctly.
3846 * util/grub.d/00_header.in: Likewise.
3847
3848 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * Makefile.in: Specify files explicitly instead of using $< and $@ since
3851 we use cd $(srcdir).
3852
3853 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
3854
3855 * util/grub.d/10_linux.in: Only use the first word of
3856 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
3857 spaces in GRUB_DISTRIBUTOR.
3858 * util/grub.d/10_kfreebsd.in: Likewise.
3859 * util/grub.d/10_hurd.in: Likewise.
3860
3861 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
3862
3863 Fix unit testing framework for Qemu 0.12.
3864
3865 * tests/util/grub-shell.in: Remove -serial stdio option.
3866
3867 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 POSIX header file wrappers.
3870
3871 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
3872 equivalents.
3873 * lib/posix_wrap/ctype.h: Likewise.
3874 * lib/posix_wrap/errno.h: Likewise.
3875 * lib/posix_wrap/langinfo.h: Likewise.
3876 * lib/posix_wrap/limits.h: Likewise.
3877 * lib/posix_wrap/localcharset.h: Likewise.
3878 * lib/posix_wrap/stdint.h: Likewise.
3879 * lib/posix_wrap/stdio.h: Likewise.
3880 * lib/posix_wrap/stdlib.h: Likewise.
3881 * lib/posix_wrap/string.h: Likewise.
3882 * lib/posix_wrap/sys/types.h: Likewise.
3883 * lib/posix_wrap/unistd.h: Likewise.
3884 * lib/posix_wrap/wchar.h: Likewise.
3885 * lib/posix_wrap/wctype.h: Likewise.
3886 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
3887 (grub_script.yy.h): Likewise.
3888 * script/yylex.l: Remove POSIX emulation #defines.
3889 * Makefile.in (POSIX_CFLAGS): New variable.
3890 (GNULIB_UTIL_CFLAGS): Likewise.
3891
3892 Regexp support.
3893
3894 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
3895 (regexp_mod_SOURCES): New variable.
3896 (regexp_mod_CFLAGS): Likewise.
3897 (regexp_mod_LDFLAGS): Likewise.
3898 * commands/regexp.c: New file.
3899 * gnulib/regcomp.c: New file. Imported from gnulib.
3900 * gnulib/regex.c: Likewise.
3901 * gnulib/regex_internal.c: Likewise.
3902 * gnulib/regex_internal.h: Likewise.
3903 * gnulib/regexec.c: Likewise.
3904 * gnulib/regex.h: Likewise.
3905
3906 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
3909 unsupported video mode types.
3910
3911 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
3914
3915 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
3918 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
3919
3920 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 Remove unused grub_vga_get_font.
3923
3924 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
3925 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
3926
3927 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3928
3929 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
3930 * include/grub/misc.h: Likewise.
3931
3932 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3933
3934 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
3935 for which failure is fatal.
3936
3937 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3938
3939 * util/grub-install.in: Use mkdir -p to create grub directory.
3940 * util/i386/efi/grub-install.in: Likewise.
3941 * util/ieee1275/grub-install.in: Likewise.
3942
3943 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3944
3945 * Makefile.in (LEX): new variable.
3946
3947 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3948
3949 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
3950 `=' and added double quotes on operands of this equality test.
3951
3952 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * Makefile.in (uninstall): Remove a leftover debug echo.
3955 Reported by: Grégoire Sutre
3956
3957 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 MIPS multiboot2 support.
3960
3961 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
3962 (multiboot2_mod_SOURCES): New variable.
3963 (multiboot2_mod_CFLAGS): Likewise.
3964 (multiboot2_mod_LDFLAGS): Likewise.
3965 (multiboot2_mod_ASFLAGS): Likewise.
3966 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
3967 definition.
3968 (MULTIBOOT_ENTRY_REGISTER): Likewise.
3969 (MULTIBOOT_MBI_REGISTER): Likewise.
3970 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
3971 (MULTIBOOT_ELF32_MACHINE): Likewise.
3972 (MULTIBOOT_ELF64_MACHINE): Likewise.
3973 * include/grub/mips/multiboot.h: New file.
3974 * include/grub/video.h (grub_video_driver_id): New type
3975 GRUB_VIDEO_DRIVER_SM712.
3976 (grub_video_get_info_and_fini): Export.
3977 (grub_video_get_palette): Likewise.
3978 (grub_video_get_driver_id): Likewise.
3979 * include/multiboot2.h: Resynced with spec.
3980 * loader/i386/multiboot.c: Moved from here ...
3981 * loader/multiboot.c: ... here. All users updated.
3982 (grub_multiboot_boot): Use platform-specific macros.
3983 * loader/i386/multiboot_elfxx.c: Moved from here ...
3984 * loader/multiboot_elfxx.c: ... here. All users updated.
3985 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
3986 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
3987 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
3988
3989 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 Import gnulib argp module.
3992
3993 * gnulib/argp-ba.c: New file.
3994 * gnulib/argp-eexst.c: Likewise.
3995 * gnulib/argp-fmtstream.c: Likewise.
3996 * gnulib/argp-fmtstream.h: Likewise.
3997 * gnulib/argp-fs-xinl.c: Likewise.
3998 * gnulib/argp-help.c: Likewise.
3999 * gnulib/argp-namefrob.h: Likewise.
4000 * gnulib/argp-parse.c: Likewise.
4001 * gnulib/argp-pin.c: Likewise.
4002 * gnulib/argp-pv.c: Likewise.
4003 * gnulib/argp-pvh.c: Likewise.
4004 * gnulib/argp-version-etc.c: Likewise.
4005 * gnulib/argp-version-etc.h: Likewise.
4006 * gnulib/argp-xinl.c: Likewise.
4007 * gnulib/argp.h: Likewise.
4008
4009 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * kern/device.c (grub_device_iterate): Clear errors after failed
4012 opening device.
4013
4014 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
4017 returned by firmware.
4018
4019 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
4022 compilation on coreboot and qemu
4023
4024 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * include/multiboot2.h: Resync with spec.
4027
4028 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 Multiboot2 tag support
4031
4032 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
4033 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
4034 Remove loader/multiboot_loader.c.
4035 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
4036 (grub_multiboot2_real_boot): Likewise.
4037 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
4038 (grub_get_multiboot_mmap_count): New proto.
4039 (grub_fill_multiboot_mmap): Likewise.
4040 (grub_multiboot_set_video_mode): Likewise.
4041 (grub_multiboot_set_console): Likewise.
4042 (grub_multiboot_load): Likewise.
4043 (grub_multiboot_load_elf): Likewise.
4044 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
4045 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
4046 * include/multiboot.h: Resynced with specification.
4047 * include/multiboot2.h: Resynced with specification.
4048 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
4049 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
4050 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
4051 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
4052 users updated.
4053 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
4054 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
4055 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
4056 Removed.
4057 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
4058 Moved from here...
4059 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
4060 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
4061 Moved from here...
4062 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
4063 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
4064 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
4065 All users updated.
4066 * loader/i386/multiboot_mbi2.c: New file.
4067
4068 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 Resync with gnulib.
4071
4072 * Makefile.in (GNULIB_CFLAGS): New variable.
4073 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
4074 (grub_script_check_CFLAGS): New variable.
4075 * gnulib/alloca.h: Resync with gnulib.
4076 * gnulib/error.c: Likewise.
4077 * gnulib/error.h: Likewise.
4078 * gnulib/fnmatch.c: Likewise.
4079 * gnulib/fnmatch_loop.c: Likewise.
4080 * gnulib/getdelim.c: Likewise.
4081 * gnulib/getline.c: Likewise.
4082 * gnulib/getopt.c: Likewise.
4083 * gnulib/getopt1.c: Likewise.
4084 * gnulib/getopt_int.h: Likewise.
4085 * gnulib/gettext.h: Likewise.
4086 * gnulib/progname.c: Likewise.
4087 * gnulib/progname.h: Likewise.
4088
4089 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
4090
4091 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
4092 which is the case with --disabled-nls.
4093
4094 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
4095 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
4096 * util/misc.c: Likewise.
4097 * util/mkisofs/mkisofs.c: Likewise.
4098 * util/mkisofs/mkisofs.h: Likewise.
4099
4100 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Simplify Apple CC support.
4103
4104 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
4105 Add 0 byte at the end not to have a symbol with empty target.
4106 * mmap/i386/pc/mmap_helper.S: Likewise.
4107 * genmk.rb: Ignore errors 2030 and 2050.
4108 * kern/i386/pc/startup.S: Use LOCAL when possible.
4109
4110 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
4111
4112 Testcase and the fix for final semicolon on cmdline.
4113
4114 * tests/grub_script_final_semicolon.in: New testcase.
4115 * conf/tests.rmk: Rules for the new testcase.
4116 * script/parser.y: Grammar fix.
4117
4118 2010-03-26 BVK Chaitanya <bvk@localhost>
4119
4120 Blank lines testcase for GRUB script.
4121
4122 * tests/grub_script_blanklines.in: New testcase.
4123 * conf/tests.rmk: Rules for the new testcase.
4124
4125 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Don't use __FILE__.
4128
4129 * genmk.rb: Add -DGRUB_FILE to all C targets.
4130 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
4131 * include/grub/list.h: Likewise.
4132 * include/grub/misc.h: Likewise.
4133 * include/grub/mm.h: Likewise.
4134 * include/grub/test.h: Likewise.
4135 * kern/mm.c: Likewise.
4136 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4137
4138 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Sunpc partitions support.
4141
4142 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
4143 (grub_fstest_SOURCES): Likewise.
4144 (pkglib_MODULES): Add part_sunpc.mod.
4145 (part_sunpc_mod_SOURCES): New variable.
4146 (part_sunpc_mod_CFLAGS): Likewise.
4147 (part_sunpc_mod_LDFLAGS): Likewise.
4148 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
4149 * partmap/sunpc.c: New file.
4150
4151 2010-03-26 BVK Chaitanya <bvk@localhost>
4152
4153 For loop support to GRUB script.
4154
4155 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
4156 (grub_script_create_cmdfor): New function prototype.
4157 (grub_script_execute_cmdfor): New function prototype.
4158 * script/execute.c (grub_script_execute_cmdfor): New function.
4159 * script/parser.y (command): New for command.
4160 (forcmd): New grammar rule.
4161 * script/script.c (grub_script_create_cmdfor): New function.
4162 * util/grub-script-check.c (grub_script_execute_cmdfor): New
4163 function.
4164 * tests/grub_script_for1.in: New testcase.
4165 * conf/tests.rmk: Rules for new testcase.
4166
4167 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Nested partitions
4170
4171 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
4172 'partition' is NULL, grub_partition_get_start already does that.
4173 * commands/loadenv.c (check_blocklists): Likewise.
4174 (write_blocklists): Likewise.
4175 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
4176 (grub_fstest_SOURCES): Likewise.
4177 (pkglib_MODULES): Add part_bsd.mod.
4178 (part_bsd_mod_SOURCES): New variable.
4179 (part_bsd_mod_CFLAGS): Likewise.
4180 (part_bsd_mod_LDFLAGS): Likewise.
4181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
4182 (grub_emu_SOURCES): Likewise.
4183 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4184 * include/grub/bsdlabel.h: New file.
4185 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
4186 'get_name'.
4187 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
4188 (grub_partition_map_list): New variable.
4189 (grub_partition_map_register): Inline.
4190 (grub_partition_map_unregister): Likewise.
4191 (FOR_PARTITION_MAPS): New macro.
4192 (grub_partition_map_iterate): Removed.
4193 (grub_partition_get_start): Handle nested partitions.
4194 * include/grub/msdos_partition.h: Remove bsd-related entries.
4195 (grub_pc_partition): Remove.
4196 * kern/disk.c (grub_disk_close): Free partition data.
4197 (grub_disk_adjust_range): Handle nested partitions.
4198 * kern/partition.c (grub_partition_map_probe): New function.
4199 (grub_partition_probe): Parse name to number, handle subpartitions.
4200 (get_partmap): New function.
4201 (grub_partition_iterate): Handle subpartitions.
4202 (grub_partition_get_name): Likewise.
4203 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
4204 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
4205 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
4206 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
4207 Set 'number'.
4208 (acorn_partition_map_probe): Remove.
4209 (acorn_partition_map_get_name): Likewise.
4210 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
4211 Set 'number'.
4212 Set 'index' to 0 since there can be only one partition entry per sector.
4213 (amiga_partition_map_probe): Remove.
4214 (amiga_partition_map_get_name): Likewise.
4215 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
4216 Set 'number'.
4217 Set 'offset' and 'index' to real positions of partitions.
4218 (apple_partition_map_probe): Remove.
4219 (apple_partition_map_get_name): Likewise.
4220 * partmap/bsdlabel.c: New file.
4221 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
4222 Set 'number'.
4223 Allocate 'data' so it can be correctly freed.
4224 Set 'index' to offset inside sector.
4225 (gpt_partition_map_probe): Remove.
4226 (gpt_partition_map_get_name): Likewise.
4227 * partmap/msdos.c (grub_partition_parse): Remove.
4228 (pc_partition_map_iterate): Don't force raw access.
4229 Set 'number'.
4230 Make 'ext_offset' a local variable.
4231 (pc_partition_map_probe): Remove.
4232 (pc_partition_map_get_name): Remove.
4233 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
4234 Set 'number'.
4235 (sun_partition_map_probe): Remove.
4236 (sun_partition_map_get_name): Likewise.
4237 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
4238 (grub_pcpart_type): Likewise.
4239 * util/hostdisk.c (open_device): Handle new numbering scheme.
4240 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
4241 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
4242 * util/grub-probe.c (probe_partmap): Handle nested paritions.
4243 * util/grub-install.in: Insert all subpartition modules.
4244 * util/ieee1275/grub-install.in: Likewise.
4245
4246 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
4247
4248 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
4249 grammar.
4250
4251 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
4252
4253 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
4254
4255 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
4256
4257 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
4258 match where 'make install' puts them.
4259 * util/i386/efi/grub-install.in: Likewise.
4260
4261 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
4262
4263 * .bzrignore: Add gentrigtables, grub-script-check,
4264 grub_script_check_init.c, grub_script_check_init.h, and
4265 trigtables.c.
4266
4267 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * kern/parser.c: Indented.
4270
4271 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
4274
4275 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
4278 alpha_mask_size == 0 case.
4279
4280 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
4281
4282 GRUB shell lexer and parser improvements.
4283
4284 * conf/any-emu.rmk: Build rule updates.
4285 * conf/common.rmk: Likewise.
4286 * conf/i386-coreboot.rmk: Likewise.
4287 * conf/i386-efi.rmk: Likewise.
4288 * conf/i386-ieee1275.rmk: Likewise.
4289 * conf/i386-pc.rmk: Likewise.
4290 * conf/powerpc-ieee1275.rmk: Likewise.
4291 * conf/x86_64-efi.rmk: Likewise.
4292
4293 * configure.ac: Configure check for flex.
4294
4295 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
4296 types.
4297 (grub_lexer_param): Struct member updates.
4298 (grub_parser_param): Likewise.
4299 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
4300 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
4301 (grub_script_lexer_init): Prototype update.
4302 (grub_script_lexer_record_start): Likewise.
4303 (grub_script_lexer_record_stop): Likewise.
4304 (grub_script_lexer_yywrap): New function prototype.
4305 (grub_script_lexer_fini): Likewise.
4306 (grub_script_execute_argument_to_string): Removed by...
4307 (grub_script_execute_argument_to_argv): ...better version.
4308
4309 * script/execute.c (ROUND_UPTO): New macro.
4310 (grub_script_execute_cmdline): Out of memory fixes.
4311 (grub_script_execute_menuentry): Likewise.
4312 (grub_script_execute_argument_to_string): Removed. Update all
4313 users by...
4314 (grub_script_execute_argument_to_argv): ...better version.
4315 * script/function.c (grub_script_function_create): Use
4316 grub_script_execute_argument_to_argv instead of
4317 grub_script_execute_argument_to_string.
4318
4319 * script/lexer.c (check_varstate): Removed.
4320 (check_textstate): Removed.
4321 (grub_script_lexer_record_start): Likewise.
4322 (grub_script_lexer_record_stop): Likewise.
4323 (recordchar): Replaced with...
4324 (grub_script_lexer_record): ...new function.
4325 (nextchar): Removed.
4326 (grub_script_lexer_init): Rewritten.
4327 (grub_script_yylex): Rewritten.
4328 (append_newline): New function.
4329 (grub_script_lexer_yywrap): New function.
4330 (grub_script_lexer_fini): New function.
4331 (grub_script_yyerror): Sets error flag.
4332
4333 * script/yylex.l: New file.
4334 (grub_lexer_yyfree): Wrapper for flex yyffre.
4335 (grub_lexer_yyalloc): Likewise.
4336 (grub_lexer_yyrealloc): Likewise.
4337 * script/parser.y: Refactored.
4338
4339 * script/script.c (grub_script_arg_add): Out of memory fixes.
4340 (grub_script_add_arglist): Likewise.
4341 (grub_script_create_cmdline): Likewise.
4342 (grub_script_create_cmdmenu): Likewise.
4343 (grub_script_add_cmd): Likewise.
4344 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
4345 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
4346 unnecessary code.
4347
4348 * tests/grub_script_echo1.in: New testcase.
4349 * tests/grub_script_vars1.in: New testcase.
4350 * tests/grub_script_echo_keywords.in: New testcase.
4351
4352 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 Remove some redundancy in build system.
4355
4356 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
4357 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
4358 (TARGET_LDFLAGS): Add -nostdlib.
4359 (TARGET_IMG_LDFLAGS): Likewise.
4360 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
4361 anything since mmap isn't available.
4362 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
4363 Add util/time.c.
4364 (pkglib_MODULES): Remove reboot.mod.
4365 (reboot_mod_SOURCES): Removed.
4366 (reboot_mod_CFLAGS): Likewise.
4367 (reboot_mod_LDFLAGS): Likewise.
4368 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
4369 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
4370 (DEFSYMFILES): Add kernel_syms.lst.
4371 (kernel_img_HEADERS): Add common headers.
4372 (symlist.c): New target.
4373 (kernel_syms.lst): Likewise.
4374 (pkglib_MODULES): Add memdisk.mod.
4375 (memdisk_mod_SOURCES): New variable.
4376 (memdisk_mod_CFLAGS): Likewise.
4377 (memdisk_mod_LDFLAGS): Likewise.
4378 (pkglib_MODULES): Add reboot.mod.
4379 (reboot_mod_SOURCES): New variable.
4380 (reboot_mod_CFLAGS): Likewise.
4381 (reboot_mod_LDFLAGS): Likewise.
4382 (pkglib_MODULES): Add date.mod.
4383 (date_mod_SOURCES): New variable.
4384 (date_mod_CFLAGS): Likewise.
4385 (date_mod_LDFLAGS): Likewise.
4386 (pkglib_MODULES): Add datehook.mod.
4387 (datehook_mod_SOURCES): New variable.
4388 (datehook_mod_CFLAGS): Likewise.
4389 (datehook_mod_LDFLAGS): Likewise.
4390 (pkglib_MODULES): Add lsmmap.mod.
4391 (lsmmap_mod_SOURCES): New variable.
4392 (lsmmap_mod_CFLAGS): Likewise.
4393 (lsmmap_mod_LDFLAGS): Likewise.
4394 (pkglib_MODULES): Add boot.mod.
4395 (boot_mod_SOURCES): New variable.
4396 (boot_mod_CFLAGS): Likewise.
4397 (boot_mod_LDFLAGS): Likewise.
4398 * conf/i386-coreboot.rmk: Removed redundant parts.
4399 * conf/i386-ieee1275.rmk: Likewise.
4400 * conf/i386-pc.rmk: Likewise.
4401 * conf/mips-yeeloong.rmk: Likewise.
4402 * conf/mips.rmk: Likewise.
4403 * conf/powerpc-ieee1275.rmk: Likewise.
4404 * conf/sparc64-ieee1275.rmk: Likewise.
4405 * conf/x86_64-efi.rmk: Likewise.
4406 * conf/i386-coreboot.rmk: Moved qemu parts ..
4407 * conf/i386-qemu.rmk: ... here
4408 * conf/i386-efi.rmk: Moved common parts to...
4409 * conf/x86-efi.rmk: ... here.
4410 * conf/i386.rmk: Added modules common to all x86 variants.
4411 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
4412 * disk/memdisk.c: Remove grub/machine/kernel.h.
4413 * gensymlist.sh.in: Include symbol.h.
4414 * hook/datehook.c: Correct module name.
4415 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
4416 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
4417 * include/grub/i386/efi/serial.h: New file.
4418 * include/grub/x86_64/efi/serial.h: Likewise.
4419 * util/time.c: Likewise.
4420 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
4421
4422 2010-03-14 Colin King <colin.king@ubuntu.com>
4423 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
4424
4425 Shrink the pre-partition-table part of boot.img by eight bytes.
4426
4427 * boot/i386/pc/boot.S (ERR): New macro.
4428 (chs_mode): Use ERR.
4429 (geometry_error): Likewise.
4430 (hd_probe_error): Remove. This is only used once, so we wrwite
4431 it inline instead.
4432 (read_error): Instead of printing read_error_string, just set up
4433 %si and fall through to ...
4434 (error_message): ... this new function, also used by ERR.
4435
4436 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
4437
4438 Speed up consecutive hostdisk operations on the same device.
4439
4440 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4441 (grub_util_biosdisk_open): Initialise disk->data.
4442 (struct linux_partition_cache): New structure.
4443 (linux_find_partition): Cache partition start positions; these are
4444 expensive to compute on every read and write.
4445 (open_device): Cache open file descriptor in disk->data, so that we
4446 don't have to reopen it and flush the buffer cache for consecutive
4447 operations on the same device.
4448 (grub_util_biosdisk_close): New function.
4449 (grub_util_biosdisk_dev): Set `close' member.
4450
4451 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4452 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4453 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4454 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4455 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4456
4457 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Compile parts of grub-emu as modules.
4460
4461 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4462 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4463 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4464 (all-local): Add $(GRUB_EMU).
4465 (install-local): Install $(GRUB_EMU).
4466 (uninstall): Uninstall $(GRUB_EMU).
4467 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4468 * kern/dl.c: Likewise.
4469 * commands/sleep.c: Not include machine/time.h.
4470 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4471 (COMMON_CFLAGS): Likewise.
4472 (sbin_UTILITIES): Remove grub-emu.
4473 (grub_emu_SOURCES): Removed.
4474 (kernel_img_RELOCATABLE): New variable.
4475 (pkglib_PROGRAMS): Add kernel.img.
4476 (kernel_img_SOURCES): New variable
4477 (kernel_img_CFLAGS): Likewise.
4478 (kernel_img_LDFLAGS): Likewise.
4479 (TARGET_NO_STRIP): Likewise.
4480 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4481 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4482 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4483 (grub-emu): New target.
4484 (GRUB_EMU): New variable.
4485 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4486 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4487 * loader/xnu.c: Likewise.
4488 * include/grub/pci.h: Likewise.
4489 * genemuinit.sh: New file.
4490 * genemuinitheader.sh: Likewise.
4491 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4492 Support TARGET_NO_DYNAMIC_MODULES.
4493 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4494 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4495 * disk/loopback.c: Likewise.
4496 * font/font_cmd.c: Likewise.
4497 * partmap/acorn.c: Likewise.
4498 * partmap/amiga.c: Likewise.
4499 * partmap/apple.c: Likewise.
4500 * partmap/gpt.c: Likewise.
4501 * partmap/msdos.c: Likewise.
4502 * partmap/sun.c: Likewise.
4503 * parttool/msdospart.c: Likewise.
4504 * term/gfxterm.c: Likewise.
4505 * video/bitmap.c: Likewise.
4506 * video/readers/jpeg.c: Likewise.
4507 * video/readers/png.c: Likewise.
4508 * video/readers/tga.c: Likewise.
4509 * video/video.c: Likewise.
4510 * util/grub-emu.c (read_command_list): Removed.
4511 (main): Don't call util_init_nls.
4512 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4513 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4514
4515 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4518 date.mod, datehook.mod.
4519 (datetime_mod_SOURCES): New variable.
4520 (datetime_mod_CFLAGS): Likewise.
4521 (datetime_mod_LDFLAGS): Likewise.
4522 (date_mod_SOURCES): Likewise.
4523 (date_mod_CFLAGS): Likewise.
4524 (date_mod_LDFLAGS): Likewise.
4525 (datehook_mod_SOURCES): Likewise.
4526 (datehook_mod_CFLAGS): Likewise.
4527 (datehook_mod_LDFLAGS): Likewise.
4528 * conf/sparc64-ieee1275.rmk: Likewise.
4529 * lib/ieee1275/datetime.c: New file.
4530
4531 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
4534 (ieee1275_fb_mod_SOURCES): New variable.
4535 (ieee1275_fb_mod_CFLAGS): Likewise.
4536 (ieee1275_fb_mod_LDFLAGS): Likewise.
4537 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
4538 New proto.
4539 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
4540 (HEAP_MAX_ADDR): Likewise.
4541 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
4542 type.
4543 Correct stop condition.
4544 (grub_ieee1275_devices_iterate): New function.
4545 * video/ieee1275.c: New file.
4546
4547 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
4550
4551 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
4552 as scratch.
4553 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
4554 SCRATCH_PAD_DISKBOOT as scratch.
4555 (bootit): Pass Openfirmware pointer in %o4.
4556 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
4557 of 0x200000.
4558 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
4559 with util/grub-mkrawimage.c.
4560 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
4561 * include/grub/aout.h (AOUT_MID_SUN): New definition.
4562 (grub_aout_get_type) [GRUB_UTIL]: Removed.
4563 (grub_aout_load) [GRUB_UTIL]: Likewise.
4564 * include/grub/kernel.h (grub_modules_get_end): New proto.
4565 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
4566 (SCRATCH_PAD_BOOT): New definition.
4567 (SCRATCH_PAD_DISKBOOT): Likewise.
4568 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
4569 * include/grub/sparc64/ieee1275/ieee1275.h
4570 (grub_ieee1275_original_stack): New variable
4571 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
4572 New definition
4573 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
4574 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
4575 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
4576 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
4577 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
4578 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
4579 (grub_platform_image_format_t): New type.
4580 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
4581 * kern/main.c (grub_modules_get_end)
4582 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
4583 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
4584 (codestart): Switch stacks.
4585 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
4586 variable.
4587 (grub_heap_init): Use grub_modules_get_end.
4588 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
4589 stack.
4590 * util/grub-mkrawimage.c (generate_image): Support sparc64.
4591 (main): Likewise.
4592 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
4593
4594 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
4595
4596 * util/grub-mkrescue.in: Base ISO UUID on UTC.
4597
4598 2010-03-08 Matt Kraai <kraai@ftbfs.org>
4599
4600 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
4601 bug #559005).
4602
4603 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * genmoddep.awk: Output all missing symbols and not only first.
4606
4607 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * NEWS: Put the date of 1.98 release.
4610
4611 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
4614 ft2build.h.
4615
4616 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
4619 completition in the middle of string.
4620
4621 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * util/grub-mkrescue.in: Use mktemp with explicit template.
4624
4625 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
4628
4629 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
4632 right pointer.
4633
4634 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 Fix FreeBSD compilation.
4637
4638 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
4639 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
4640
4641 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
4644
4645 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
4648
4649 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
4652
4653 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
4654
4655 Support relative image path in theme file.
4656
4657 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
4658 (image_set_property): Handle theme_dir and relative path.
4659
4660 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * configure.ac: Alias amd64 to x86_64.
4663
4664 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * NEWS: mention multiboot on EFI.
4667
4668 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * kern/main.c (grub_load_modules): Handle errors from init functions of
4671 embeded modules.
4672
4673 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * normal/autofs.c (autoload_fs_module): Handle errors.
4676
4677 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Disable linux.mod on qemu-mips since it's not functional and leads
4680 to compilation failure.
4681
4682 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
4683 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
4684 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
4685 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
4686 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
4687 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
4688 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
4689 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
4690 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
4691 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
4692 Reported by: BVK Chaitanya
4693
4694 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
4695
4696 * INSTALL: Add gettext as a dependency and add qemu to a new section
4697 "Prerequisites for make-check".
4698
4699 2010-03-04 Christian Franke <franke@computer.org>
4700
4701 * util/grub-pe2elf.c: Add missing include "progname.h".
4702
4703 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * normal/crypto.c (read_crypto_list): Fix a typo.
4706 Reported by: Seth Goldberg.
4707
4708 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
4711 Reported by: Seth Goldberg.
4712
4713 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
4716 ascii.bitmaps.
4717
4718 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * genmk.rb: Remove terminal*.lst in make clean.
4721 Reported by: Seth Goldberg.
4722
4723 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * util/i386/efi/grub-install.in: Copy gettext files.
4726
4727 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
4730
4731 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 Wait for user entry basing on presence of output rather than on errors.
4734
4735 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
4736 (grub_install_newline_hook): Likewise.
4737 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
4738 * normal/menu.c (show_menu): Check line_counter to determine presence
4739 of output.
4740 * normal/term.c (grub_normal_line_counter): New variable.
4741 (grub_normal_get_line_counter): New function.
4742 (grub_install_newline_hook): Likewise.
4743
4744 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
4747
4748 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * configure.ac: Update version to 1.98.
4751
4752 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * util/grub.d/10_linux.in (linux_entry): Don't default to
4755 gfxpayload=keep if Linux doesn't support video handover.
4756
4757 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Don't compile video modules on yeeloong since video subsystem is part
4760 of kernel.
4761
4762 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
4763 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
4764 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
4765 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
4766 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
4767 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
4768 * include/grub/bitmap_scale.h: Likewise.
4769 * include/grub/bufio.h: Likewise.
4770 * include/grub/font.h: Likewise.
4771 * include/grub/gfxterm.h: Likewise.
4772 * include/grub/video.h: Likewise.
4773 * include/grub/vbe.h: Don't include video_fb.h.
4774 * video/i386/pc/vbe.c: Include video_fb.h.
4775 * commands/i386/pc/vbetest.c: Include video.h.
4776
4777 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
4778
4779 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
4780 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
4781 default entry if GRUB_SAVEDEFAULT=true. This allows using
4782 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
4783 saving a new default on every boot.
4784
4785 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * normal/crypto.c (read_crypto_list): Fix a memory leak.
4788 * normal/term.c (read_terminal_list): Likewise.
4789 * normal/main.c (grub_normal_init_page): Likewise.
4790 (grub_normal_read_line_real): Likewise.
4791
4792 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
4795 memory leak.
4796 Reported by: Seth Goldberg.
4797
4798 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
4799
4800 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
4801 duplicate declaration of `start'.
4802
4803 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
4806 filename.
4807 Reported by: Georgy Buranov
4808
4809 2010-02-20 Carles Pina i Estany <carles@pina.cat>
4810
4811 * util/grub-mkrawimage.c (usage): Change string formatting to
4812 improve gettext.
4813
4814 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4815
4816 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
4817 backspace keys.
4818
4819 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
4822 Reported by: Michael Suchanek.
4823
4824 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
4825
4826 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
4827 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
4828
4829 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Remove any reference to non-free fonts.
4832
4833 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
4834 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
4835 uses non-free components.
4836 * font/font.c (grub_font_get_name): Remove example name.
4837 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
4838 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4839 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
4840 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
4841
4842 2010-02-16 Georgy Buranov <gburanov@gmail.com>
4843
4844 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
4845
4846 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
4849 Double divisor.
4850 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
4851 features.
4852 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
4853
4854 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * gensymlist.sh.in: Use TARGET_CC instead of CC.
4857
4858 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4859
4860 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
4861 * docs/grub.texi (Command-line and menu entry commands): Document play
4862 command.
4863
4864 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4865
4866 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
4867 parse arguments as inline tempo and notes. Move code for playing notes
4868 to...
4869 (play): ... new function.
4870
4871 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4872
4873 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
4874 grub_uint16_t instead of short.
4875 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
4876 disk from little endian to cpu endianness.
4877
4878 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
4879
4880 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
4881 GRUB_TICKS_PER_SECOND instead of 120.
4882
4883 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
4886 escape sequence after \e.
4887
4888 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
4891 non-ASCII characters.
4892
4893 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
4896 set root in single quotes to prevent \, from being unescaped.
4897
4898 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Prevent unknown commands from stopping menuentry execution.
4901
4902 * script/execute.c (grub_script_execute_cmdline): Print error after
4903 unknown command.
4904
4905 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
4908 Reported by: Pavel Pisa.
4909
4910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
4913
4914 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 Merge grub_ieee1275_map_physical into grub_map and rename to
4917 grub_ieee1275_map
4918
4919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
4920 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
4921 Remove.
4922 * kern/ieee1275/openfw.c (grub_map): Rename to ...
4923 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
4924 necessary.
4925 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
4926
4927 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
4930 opening and not after.
4931
4932 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
4935 constants.
4936
4937 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
4940 (alloc_phys): Use ALIGN_UP instead of align_addr.
4941
4942 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
4945
4946 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
4949
4950 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
4953 verbose dprintf.
4954
4955 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 Fix over-4GiB seek on sparc64.
4958
4959 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
4960 Replace pos_i and pos_lo with pos. All users updated.
4961 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4962 New constant.
4963 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
4964 Likewise.
4965 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
4966 and pos_lo.
4967
4968 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * util/grub-mkrawimage.c (main): Call set_program_name.
4971
4972 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Properly align 64-bit targets.
4975
4976 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
4977 (generate_image): Use ALIGN_ADDR.
4978
4979 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 Properly create cross-endian images.
4982
4983 * include/grub/types.h (grub_host_to_target_addr): New macro
4984 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
4985
4986 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
4989
4990 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
4993
4994 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
4995 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
4996 (grub_linux_boot): Divide by 64K when on VESA.
4997
4998 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Support GRUB_GFXPAYLOAD_LINUX.
5001
5002 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
5003 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
5004
5005 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
5008 to show messages instead of discarding them.
5009 Process errors after executing command and not before. Keep old method
5010 too as precaution.
5011
5012 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * configure.ac: Check for ft2build.h.
5015
5016 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
5019
5020 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * genkernsyms.sh.in: Use TARGET_CC.
5023
5024 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
5025
5026 * NEWS: Update.
5027
5028 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * include/grub/multiboot2.h: Remove leftover file.
5031 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
5032 * include/grub/partition.h [GRUB_UTIL]: Likewise.
5033
5034 2010-02-07 Yves Blusseau <blusseau@zetam.org>
5035
5036 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
5037
5038 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 Fix warnings in grub-emu when compiling with maximum warning options.
5041
5042 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
5043 (grub_arch_modules_addr): Return 0 and not NULL.
5044 * util/misc.c (ENABLE_RELOCATABLE): New definition.
5045 (xstrdup): Use newstr instead of dup.
5046 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
5047 of disk to dsk to avoid shadowing.
5048 (find_free_slot): Fix prototype.
5049 * util/getroot.c (grub_util_is_dmraid): Make static.
5050 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
5051 Add missing prototype.
5052 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
5053
5054 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * loader/i386/linux.c (grub_linux_setup_video): Handle error
5057 appropriately.
5058
5059 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
5062 code out.
5063
5064 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
5067 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
5068 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
5069 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
5070 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
5071 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
5072
5073 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * include/grub/err.h (grub_err_printf): Don't export.
5076
5077 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
5080
5081 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * include/grub/i18n.h (grub_gettext_dummy): Removed.
5084 * kern/misc.c (grub_gettext_dummy): Make static.
5085
5086 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
5089 by non-valid ones.
5090 * kern/term.c (grub_putchar): Likewise.
5091
5092 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
5095 buggy hook call and memory leak.
5096
5097 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
5100
5101 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
5104
5105 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
5108 modevar.
5109 Return grub_errno on allocation error.
5110
5111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
5114
5115 2010-02-06 Yves Blusseau <blusseau@zetam.org>
5116
5117 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
5118 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
5119
5120 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
5123 non-pxe disk.
5124 (grub_pxefs_open): Likewise.
5125
5126 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5127
5128 * util/grub.d/10_hurd.in: Add --class information to menuentries.
5129 * util/grub.d/10_kfreebsd.in: Likewise.
5130 * util/grub.d/10_linux.in: Likewise.
5131
5132 2010-02-06 Colin D Bennett <colin@gibibit.com>
5133
5134 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
5135 (gfxmenu_mod_SOURCES): New variable.
5136 (gfxmenu_mod_CFLAGS): Likewise.
5137 (gfxmenu_mod_LDFLAGS): Likewise.
5138 * include/grub/term.h (grub_term_set_current_output): Declare
5139 argument as const.
5140 * docs/gfxmenu-theme-example.txt: New file.
5141 * gfxmenu/gfxmenu.c: Likewise.
5142 * gfxmenu/gui_box.c: Likewise.
5143 * gfxmenu/gui_canvas.c: Likewise.
5144 * gfxmenu/gui_circular_progress.c: Likewise.
5145 * gfxmenu/gui_image.c: Likewise.
5146 * gfxmenu/gui_label.c: Likewise.
5147 * gfxmenu/gui_list.c: Likewise.
5148 * gfxmenu/gui_progress_bar.c: Likewise.
5149 * gfxmenu/gui_string_util.c: Likewise.
5150 * gfxmenu/gui_util.c: Likewise.
5151 * gfxmenu/icon_manager.c: Likewise.
5152 * gfxmenu/model.c: Likewise.
5153 * gfxmenu/named_colors.c: Likewise.
5154 * gfxmenu/theme_loader.c: Likewise.
5155 * gfxmenu/view.c: Likewise.
5156 * gfxmenu/widget-box.c: Likewise.
5157 * include/grub/gfxmenu_model.h: Likewise.
5158 * include/grub/gfxmenu_view.h: Likewise.
5159 * include/grub/gfxwidgets.h: Likewise.
5160 * include/grub/gui.h: Likewise.
5161 * include/grub/gui_string_util.h: Likewise.
5162 * include/grub/icon_manager.h: Likewise.
5163
5164 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 Agglomerate scrolling in gfxterm.
5167
5168 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
5169 (grub_virtual_screen_setup): Initialise 'total_screen'.
5170 (write_char): Split to ...
5171 (paint_char): ... this ...
5172 (write_char): ... and this.
5173 (paint_char): Handle delayed scrolling.
5174 (draw_cursor): Likewise.
5175 (scroll_up): Split to ...
5176 (real_scroll): ... this ...
5177 (scroll_up): ... and this.
5178 (real_scroll): Handle multi-line scroll and draw below-the-bottom
5179 characters.
5180 (grub_gfxterm_refresh): Call real_scroll.
5181
5182 2010-02-06 Colin D Bennett <colin@gibibit.com>
5183
5184 * include/grub/misc.h (grub_iscntrl): New inline function.
5185 (grub_isalnum): Likewise.
5186 (grub_strtol): Likewise.
5187
5188 2010-02-06 Colin D Bennett <colin@gibibit.com>
5189
5190 * normal/menu_text.c (get_entry_number): Move from here ...
5191 * normal/menu.c (get_entry_number): ... moved here.
5192 * include/grub/menu.h (grub_menu_get_default_entry_index):
5193 New prototype.
5194 * normal/menu.c (grub_menu_get_default_entry_index): New function.
5195 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
5196 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
5197 (grub_menu_viewer_should_return): Likewise.
5198 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
5199 * normal/menu_text.c (run_menu): Enable menu switching.
5200 * normal/menu_viewer.c (should_return): New variable.
5201 (menu_viewer_changed): Likewise.
5202 (grub_menu_viewer_show_menu): Handle menu viewer changes.
5203 (grub_menu_viewer_should_return): New function.
5204 (menuviewer_write_hook): Likewise.
5205 (grub_menu_viewer_init): Likewise.
5206
5207 2010-02-06 Colin D Bennet <colin@gibibit.com>
5208 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 Support for gfxterm in a window.
5211
5212 * include/grub/gfxterm.h: New file.
5213 * include/grub/video.h (struct grub_video_rect): New declaration.
5214 (grub_video_rect_t): Likewise.
5215 * term/gfxterm.c (struct grub_gfxterm_window): New type.
5216 (refcount): New variable.
5217 (render_target): Likewise.
5218 (window): Likewise.
5219 (repaint_callback): Likewise.
5220 (grub_virtual_screen_setup): Use 'render_target'.
5221 (init_window): New function.
5222 (grub_gfxterm_init_window): Likewise.
5223 (grub_gfxterm_init): Check reference counter.
5224 Use init_window.
5225 (destroy_window): New function.
5226 (grub_gfxterm_destroy_window): Likewise.
5227 (grub_gfxterm_fini): Check reference counter.
5228 Use destroy_window.
5229 (redraw_screen_rect): Restore viewport.
5230 Use 'render_target' and 'window'.
5231 Call 'repaint_callback'.
5232 (write_char): Use 'render_target'.
5233 (draw_cursor): Likewise.
5234 (scroll_up): Restore viewport.
5235 Use 'render_target' and 'window'.
5236 Call 'repaint_callback'.
5237 (grub_gfxterm_cls): Likewise.
5238 (grub_gfxterm_refresh): Use 'window'.
5239 (grub_gfxterm_set_repaint_callback): New function.
5240 (grub_gfxterm_background_image_cmd): Use 'window'.
5241 (grub_gfxterm_get_term): New function.
5242 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
5243
5244 2010-02-06 Colin D Bennett <colin@gibibit.com>
5245
5246 Bitmap scaling support.
5247
5248 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
5249 (bitmap_scale_mod_SOURCES): New variable.
5250 (bitmap_scale_mod_CFLAGS): Likewise.
5251 (bitmap_scale_mod_LDFLAGS): Likewise.
5252 * include/grub/bitmap_scale.h: New file.
5253 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
5254 (background_image_cmd_options): New variable.
5255 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
5256 (cmd): Rename and change type to ...
5257 (background_image_cmd_handle): ... this. All users updated.
5258 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
5259 * video/bitmap_scale.c: New file.
5260
5261 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 SDL support.
5264
5265 * Makefile.in (LIBSDL): New variable.
5266 (enable_grub_emu_sdl): Likewise.
5267 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
5268 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
5269 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
5270 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
5271 * util/sdl.c: New file.
5272
5273 2010-02-06 Colin D Bennett <colin@gibibit.com>
5274 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 Double buffering support.
5277
5278 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
5279 * include/grub/video.h: Update comment.
5280 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5281 New type.
5282 (grub_video_fb_doublebuf_blit_init): New prototype.
5283 * term/gfxterm.c (scroll_up): Support double buffering.
5284 (grub_gfxterm_refresh): Likewise.
5285 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
5286 (grub_video_fb_doublebuf_blit_init): Likewise.
5287 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
5288 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
5289 'displayed_page', 'render_page' and 'update_screen'.
5290 (grub_video_vbe_fini): Free offscreen buffer.
5291 (doublebuf_pageflipping_commit): New function.
5292 (doublebuf_pageflipping_update_screen): Likewise.
5293 (doublebuf_pageflipping_init): Likewise.
5294 (double_buffering_init): Likewise.
5295 (grub_video_vbe_setup): Enable doublebuffering.
5296 (grub_video_vbe_swap_buffers): Implement.
5297 (grub_video_vbe_set_active_render_target): Handle double buffering.
5298 (grub_video_vbe_get_active_render_target): Likewise.
5299 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
5300 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
5301 (grub_video_vbe_enable_double_buffering): Likewise.
5302 (grub_video_vbe_swap_buffers): Use update_screen.
5303 (grub_video_set_mode): Use double buffering.
5304
5305 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5306
5307 * maintainance/gentrigtables.py: Remove.
5308 * lib/trig.c: Likewise.
5309
5310 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
5311
5312 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
5313 `trigtables.c'.
5314 (trigtables.c): New rule.
5315 (gentrigtables): Likewise.
5316 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
5317
5318 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5319
5320 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
5321 integer constants.
5322
5323 2010-02-06 Colin D Bennet <colin@gibibit.com>
5324
5325 Trigonometry support.
5326
5327 * include/grub/trig.h: New file.
5328 * lib/trig.c: Likewise.
5329 * maintainance/gentrigtables.py: Likewise.
5330 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
5331 (trig_mod_SOURCES): New variable.
5332 (trig_mod_CFLAGS): Likewise.
5333 (trig_mod_LDFLAGS): Likewise.
5334
5335 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
5338 disk devices.
5339
5340 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
5343 error.
5344
5345 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * util/hostdisk.c (open_device): Don't use partition device when reading
5348 before the partition.
5349 (grub_util_biosdisk_read): Don't read from partition and before the
5350 partition in single operation.
5351 (grub_util_biosdisk_write): Don't write to partition and before the
5352 partition in single operation.
5353
5354 2010-02-03 Torsten Landschoff <torsten@debian.org>
5355
5356 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5357 last sectors.
5358
5359 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
5362 CDROM reads.
5363 (grub_biosdisk_write): Refuse to write to CDROM.
5364
5365 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
5368
5369 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * font/font.c (find_glyph): Check that bmp_idx is available before
5372 using it.
5373 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
5374 with (font == NULL).
5375
5376 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
5377
5378 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
5379
5380 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
5381
5382 * include/grub/script_sh.h (sourcecode): Add const qualifier.
5383 * util/grub-script-check.c (getline): Fix empty lines case.
5384
5385 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
5386
5387 * Makefile.in (check): Exit with fail status when one of the tests
5388 fails.
5389 * tests/example_functional_test.c (example_test): Fix reversed assert.
5390 * tests/example_unit_test.c (example_test): Likewise.
5391
5392 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * util/grub.d/10_linux.in: This script does not use any of the
5395 contents of gettext.sh, only the external command `gettext', so stop
5396 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
5397 the same prefix as GRUB.)
5398 * util/grub.d/10_kfreebsd.in: Likewise.
5399
5400 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
5403 of the line.
5404
5405 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5408 last sectors.
5409
5410 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
5413 having a 4KiB and not 32KiB buffer size.
5414
5415 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 * util/hostfs.c: Include `<errno.h>'.
5418 (grub_hostfs_read): Handle errors from fseeko() and fread().
5419
5420 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5421
5422 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
5423 loop when using read hooks on files whose size isn't sector-aligned.
5424
5425 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5426
5427 Remove unused parameter.
5428
5429 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5430 (grub_iso9660_open): Remove initialization of `data->length'.
5431
5432 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5433
5434 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5435 memleak conditions.
5436
5437 2010-01-27 Carles Pina i Estany <carles@pina.cat>
5438
5439 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5440 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5441
5442 2010-01-26 Carles Pina i Estany <carles@pina.cat>
5443
5444 * util/bin2h.c (usage): Fix warning (space after backslash).
5445
5446 2010-01-26 Carles Pina i Estany <carles@pina.cat>
5447
5448 * font/font.c: Include `grub/fontformat.h.
5449 Remove font file format constants.
5450 (grub_font_load): Use the new macros.
5451 * include/grub/fontformat.h: New file.
5452 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5453 (write_font_pf2): Use the new macros.
5454
5455 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5458 does.
5459
5460 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5461
5462 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5463
5464 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5465 (_start): Macroify `0x7F'.
5466
5467 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5468 (make_install_device): Use "(pxe)" as fallback prefix when booting
5469 via PXE.
5470
5471 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * configure.ac: Reset LIBS after check for libgcc symbols.
5474
5475 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
5476
5477 * util/hostdisk.c (open_device): Add trailing newline to debug
5478 message.
5479
5480 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5481
5482 * configure.ac: Check for `limits.h'.
5483 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5484
5485 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5486
5487 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5488 capitalize error strings.
5489
5490 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5491
5492 * util/grub.d/10_hurd.in: Add a recovery mode.
5493
5494 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * configure.ac: Check for libgcc symbols with -nostdlib.
5497
5498 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5499
5500 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5501
5502 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5505 stack since heap may be unavailable at that point.
5506 (grub_ofconsole_gotoxy): Likewise.
5507
5508 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * configure.ac: Check for _restgpr_14_x.
5511 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5512 and _savegpr_* prototypes.
5513
5514 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5515
5516 Use generic grub_reboot() for i386-efi.
5517
5518 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5519 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5520 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5521
5522 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
5525 presence of "prefix" variable as it breaks when normal.mod is
5526 embedded.
5527
5528 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
5531 stack since heap is unavailable at that point.
5532
5533 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
5536 (grub_freebsd_bootinfo): Rewritten.
5537 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
5538
5539 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
5542
5543 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
5544
5545 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
5546 domain now.
5547
5548 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
5549
5550 * util/misc.c (make_system_path_relative_to_its_root): Change the work
5551 around for handling "/" to the correct fix. Fix a memory leak. Use
5552 xstrdup instead of strdup.
5553
5554 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
5557
5558 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 Optimise glyph lookup by Basic Multilingual Plane lookup array.
5561
5562 * font/font.c (struct grub_font): New member 'bmp_idx'.
5563 (font_init): Initialise 'bmp_idx'.
5564 (load_font_index): Fill 'bmp_idx'.
5565 (find_glyph): Make inline. Use bmp_idx for BMP characters.
5566
5567 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
5570 unnecessary calls.
5571
5572 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Move context handling out of the kernel.
5575
5576 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
5577 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
5578 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
5579 * conf/i386-efi.rmk: Likewise.
5580 * conf/i386-ieee1275.rmk: Likewise.
5581 * conf/i386-pc.rmk: Likewise.
5582 * conf/powerpc-ieee1275.rmk: Likewise.
5583 * conf/sparc64-ieee1275.rmk: Likewise.
5584 * conf/x86_64-efi.rmk: Likewise.
5585 * include/grub/env.h: Include grub/menu.h.
5586 (grub_env_var_type): Removed.
5587 (grub_env_var): Replaced field 'type' with 'global'.
5588 (grub_env_find): New prototype.
5589 (grub_env_context_open): Remove EXPORT_FUNC.
5590 (grub_env_context_close): Likewise.
5591 (grub_env_export): Likewise.
5592 (grub_env_set_data_slot): Removed.
5593 (grub_env_get_data_slot): Likewise.
5594 (grub_env_unset_data_slot): Likewise.
5595 (grub_env_unset_menu): New prototype.
5596 (grub_env_set_menu): Likewise.
5597 (grub_env_get_menu): Likewise.
5598 * include/grub/env_private.h: New file.
5599 * include/grub/normal.h (grub_context_init): New prototype.
5600 (grub_context_fini): Likewise.
5601 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
5602 * normal/context.c (grub_cmd_export): ... to here.
5603 * kern/env.c: Include env_private.h.
5604 (HASHSZ): Moved to include/grub/env_private.h.
5605 (grub_env_context): Likewise.
5606 (grub_env_sorted_var): Likewise.
5607 (current_context): Renamed from this ...
5608 (grub_current_context): ...to this. 'static' removed. All users updated.
5609 (grub_env_find): Removed 'static'.
5610 (grub_env_context_open): Moved to normal/context.c.
5611 (grub_env_context_close): Likewise.
5612 (grub_env_export): Likewise.
5613 (mangle_data_slot_name): Removed.
5614 (grub_env_set_data_slot): Likewise.
5615 (grub_env_get_data_slot): Likewise.
5616 (grub_env_unset_data_slot): Likewise.
5617 * kern/main.c (grub_set_root_dev): Don't export root.
5618 It will be done later.
5619 (grub_main): Don't export prefix.
5620 It will be done later.
5621 * normal/context.c: New file.
5622 * normal/main.c (free_menu): Use grub_env_unset_menu.
5623 (grub_normal_add_menu_entry): Use grub_env_get_menu.
5624 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
5625 (GRUB_MOD_INIT(normal)): Call grub_context_init.
5626 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
5627
5628 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 setpci support.
5631
5632 * commands/setpci.c: New file.
5633 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
5634 (setpci_mod_SOURCES): New variable.
5635 (setpci_mod_CFLAGS): Likewise.
5636 (setpci_mod_LDFLAGS): Likewise.
5637
5638 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Byte-addressable PCI configuration space.
5641
5642 * bus/pci.c (grub_pci_make_address): Use byte address instead of
5643 dword address.
5644 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
5645 GRUB_PCI_REG_CACHELINE.
5646 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
5647 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
5648 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
5649 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
5650 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
5651 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
5652 grub_pci_make_address.
5653 (lock_rom_area): Likewise.
5654 * commands/lspci.c (grub_lspci_iter): Use macroses
5655 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
5656 of grub_pci_make_address.
5657 * disk/ata.c (grub_ata_pciinit): Likewise.
5658 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
5659 (GRUB_PCI_REG_VENDOR): Likewise.
5660 (GRUB_PCI_REG_DEVICE): Likewise.
5661 (GRUB_PCI_REG_COMMAND): Likewise.
5662 (GRUB_PCI_REG_STATUS): Likewise.
5663 (GRUB_PCI_REG_REVISION): Likewise.
5664 (GRUB_PCI_REG_CLASS): Likewise.
5665 (GRUB_PCI_REG_CACHELINE): Likewise.
5666 (GRUB_PCI_REG_LAT_TIMER): Likewise.
5667 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
5668 (GRUB_PCI_REG_BIST): Likewise.
5669 (GRUB_PCI_REG_ADDRESSES): Likewise.
5670 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5671 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5672 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5673 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5674 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5675 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
5676 (GRUB_PCI_REG_CIS_POINTER): Likewise.
5677 (GRUB_PCI_REG_SUBVENDOR): Likewise.
5678 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
5679 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
5680 (GRUB_PCI_REG_CAP_POINTER): Likewise.
5681 (GRUB_PCI_REG_IRQ_LINE): Likewise.
5682 (GRUB_PCI_REG_IRQ_PIN): Likewise.
5683 (GRUB_PCI_REG_MIN_GNT): Likewise.
5684 (GRUB_PCI_REG_MAX_LAT): Likewise.
5685 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
5686 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
5687 * video/efi_uga.c (find_framebuf): Likewise.
5688 * video/sm712.c (grub_video_sm712_setup): Likewise.
5689 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
5690 space.
5691
5692 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5693
5694 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
5695 can be reliably determined to be supported.
5696
5697 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5698
5699 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
5700 that VESA is supported.
5701 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
5702 supported.
5703
5704 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
5707
5708 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5709
5710 * util/misc.c (make_system_path_relative_to_its_root): Work around
5711 special-casing of "/", as previous incarnation of this routine did.
5712
5713 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 Fix any-emu compilation.
5716
5717 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
5718 * grub_bin2h_SOURCES: New variable.
5719
5720 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5721
5722 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
5723
5724 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
5725
5726 * util/grub.d/00_header.in: Fix handling of locale_dir.
5727
5728 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
5731 as possible unifont location (Gentoo).
5732 Reported by: Alexander Brüning
5733
5734 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 Don't try to generate lists for kernel.img.
5737
5738 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
5739 (pkglib_MODULES): Remove kernel.img.
5740 (kernel_img_EXPORTS): Removed.
5741 (kernel_img_RELOCATABLE): New variable.
5742 * conf/x86_64-efi.rmk: Likewise.
5743 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
5744
5745 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
5748 grub_xasprintf or grub_snprintf.
5749 (grub_vsprintf): Likewise.
5750 (grub_snprintf): New proto.
5751 (grub_vsnprintf): Likewise.
5752 (grub_xasprintf): Likewise.
5753 (grub_xvasprintf): Likewise.
5754 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
5755 (grub_sprintf): Removed.
5756 (grub_vsnprintf): New function.
5757 (grub_snprintf): Likewise.
5758 (grub_xvasprintf): Likewise.
5759 (grub_xasprintf): Likewise.
5760 (grub_vsprintf): Renamed to ...
5761 (grub_vsnprintf_real): ...this. New argument max_len.
5762
5763 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
5764
5765 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
5766 fix grub-script-check warning.
5767
5768 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * include/grub/font.h (grub_font_load): Fix prototype.
5771
5772 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
5775
5776 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * include/grub/x86_64/at_keyboard.h: New file.
5779
5780 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * loader/mips/linux.c: Include missing grub/i18n.h.
5783
5784 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5785
5786 * normal/menu.c (notify_execution_failure): Clarify error message.
5787
5788 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5789
5790 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
5791 return value (and revert all return statements). Update users.
5792
5793 2010-01-20 Dan Merillat <debian@dan.merillat.org>
5794
5795 * kern/device.c (grub_device_iterate): Allocate new part_ent
5796 structure based on sizeof (*p) rather than sizeof (p->next), to
5797 account for structure padding.
5798
5799 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
5800 disk is NULL, which might happen for LVM physical volumes with no
5801 LVM signature.
5802
5803 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5804
5805 * loader/mips/linux.c (grub_cmd_initrd)
5806 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
5807
5808 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
5809
5810 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
5811 (grub_video_video_init, grub_video_bitmap_init)
5812 (grub_font_manager_init, grub_term_gfxterm_init)
5813 (grub_at_keyboard_init): New extern declarations.
5814 (grub_machine_init): Initialize gfxterm and at_keyboard.
5815
5816 * kern/main.c (grub_main): Revert grub_printf delay kludge.
5817
5818 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
5819 `gfxterm.mod' into core image.
5820
5821 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5822 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5823 (kernel_img_FORMAT): Copy to ...
5824
5825 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5826 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5827 (kernel_img_FORMAT): ... here, and ...
5828
5829 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
5830 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
5831 (kernel_img_FORMAT): ... here.
5832
5833 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
5834 and input (at_keyboard) terminals in kernel.
5835 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
5836
5837 (pkglib_MODULES): Remove `pci.mod'.
5838 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
5839 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
5840 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
5841 (at_keyboard_mod_LDFLAGS): Remove variables.
5842
5843 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
5844
5845 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
5846
5847 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
5848
5849 * include/grub/mips/libgcc.h: Only export symbols for functions
5850 that libgcc provides.
5851
5852 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 MIPS support.
5855
5856 * bus/bonito.c: New file.
5857 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
5858 GRUB_PCI_NUM_DEVICES.
5859 * term/i386/pc/serial.c: Move to ...
5860 * term/serial.c: ... here. All users updated.
5861 * util/i386/pc/grub-mkimage.c: Move to ...
5862 * util/grub-mkrawimage.c: ... here. All users updated.
5863 * term/i386/pc/at_keyboard.c: Move to ...
5864 * term/at_keyboard.c: ... here. All users updated.
5865 * conf/mips-qemu-mips.rmk: New file.
5866 * conf/mips-yeeloong.rmk: Likewise.
5867 * conf/mips.rmk: Likewise.
5868 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
5869 mipsel-qemu-mips.
5870 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
5871 to port addresses.
5872 (grub_ata_pciinit): Support CS5536.
5873 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
5874 * font/font_cmd.c (loadfont_command): Open file before passing it to
5875 grub_font_load.
5876 (pseudo_file_read): New function.
5877 (pseudo_file_close): Likewise.
5878 (pseudo_fs): New structure.
5879 (load_font_module): New function.
5880 (GRUB_MOD_INIT(font_manager)): Load embedded font.
5881 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
5882 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
5883 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
5884 * include/grub/i386/at_keyboard.h: Split into ...
5885 * include/grub/at_keyboard.h: ... this ...
5886 * include/grub/i386/at_keyboard.h: ... and this.
5887 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
5888 New prototype.
5889 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
5890 updated.
5891 (grub_elf64_size): Likewise.
5892 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
5893 filename.
5894 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
5895 * include/grub/i386/coreboot/serial.h: Rewritten.
5896 * include/grub/i386/ieee1275/serial.h: Include
5897 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
5898 * include/grub/i386/pc/serial.h: Moved from here ...
5899 * include/grub/serial.h: ... to here. All users updated.
5900 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
5901 (GRUB_PCI_NUM_BUS): Likewise.
5902 (GRUB_PCI_NUM_DEVICES): Likewise.
5903 (grub_pci_device_map_range): Add missing volatile keyword.
5904 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
5905 * include/grub/mips/at_keyboard.h: New file.
5906 * include/grub/mips/cache.h: Likewise.
5907 * include/grub/mips/io.h: Likewise.
5908 * include/grub/mips/kernel.h: Likewise.
5909 * include/grub/mips/libgcc.h: Likewise.
5910 * include/grub/mips/pci.h: Likewise.
5911 * include/grub/mips/qemu-mips/boot.h: Likewise.
5912 * include/grub/mips/qemu-mips/kernel.h: Likewise.
5913 * include/grub/mips/qemu-mips/loader.h: Likewise.
5914 * include/grub/mips/qemu-mips/memory.h: Likewise.
5915 * include/grub/mips/qemu-mips/serial.h: Likewise.
5916 * include/grub/mips/qemu-mips/time.h: Likewise.
5917 * include/grub/mips/relocator.h: Likewise.
5918 * include/grub/mips/time.h: Likewise.
5919 * include/grub/mips/types.h: Likewise.
5920 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
5921 * include/grub/mips/yeeloong/boot.h: Likewise.
5922 * include/grub/mips/yeeloong/kernel.h: Likewise.
5923 * include/grub/mips/yeeloong/loader.h: Likewise.
5924 * include/grub/mips/yeeloong/memory.h: Likewise.
5925 * include/grub/mips/yeeloong/pci.h: Likewise.
5926 * include/grub/mips/yeeloong/serial.h: Likewise.
5927 * include/grub/mips/yeeloong/time.h: Likewise.
5928 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
5929 * kern/elf.c (grub_elf32_size): New parameter. All users
5930 updated.
5931 (grub_elf64_size): Likewise.
5932 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
5933 Load modules before saying "Welcome to GRUB!".
5934 Call grub_refresh after saying "Welcome to GRUB!".
5935 * kern/mips/cache.S: New file.
5936 * kern/mips/cache_flush.S: Likewise.
5937 * kern/mips/dl.c: Likewise.
5938 * kern/mips/init.c: Likewise.
5939 * kern/mips/qemu-mips/init.c: Likewise.
5940 * kern/mips/startup.S: Likewise.
5941 * kern/mips/yeeloong/init.c: Likewise.
5942 * kern/term.c (grub_putcode): Handle NULL terminal.
5943 (grub_getcharwidth): Likewise.
5944 (grub_getkey): Likewise.
5945 (grub_checkkey): Likewise.
5946 (grub_getkeystatus): Likewise.
5947 (grub_getxy): Likewise.
5948 (grub_getwh): Likewise.
5949 (grub_gotoxy): Likewise.
5950 (grub_cls): Likewise.
5951 (grub_setcolorstate): Likewise.
5952 (grub_setcolor): Likewise.
5953 (grub_getcolor): Likewise.
5954 (grub_refresh): Likewise.
5955 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
5956 (write_jump): Add hatch nop.
5957 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
5958 * lib/mips/setjmp.S: New file.
5959 * loader/mips/linux.c: Likewise.
5960 * term/i386/pc/at_keyboard.c: Move from here ...
5961 * term/at_keyboard.c: ... to here.
5962 * term/i386/pc/serial.c: Moved from here ...
5963 * term/serial.c: ... to here. All users updated.
5964 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
5965 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
5966 (serial_translate_key_sequence): Avoid deadlock.
5967 (grub_serial_getkey): Handle backspace.
5968 (grub_serial_putchar): Fix newline handling.
5969 * util/i386/pc/grub-mkimage.c: Move from here ...
5970 * util/grub-mkrawimage.c: ... to here. All users updated.
5971 (generate_image): New parameters 'font_path' and 'format'.
5972 Support embedding font.
5973 Use grub_host_to_target* instead of grub_cpu_to_le*.
5974 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
5975 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
5976 (options): New option "--font".
5977 (usage): Likewise.
5978 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
5979 (main): Handle "--font".
5980 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
5981 (grub_virtual_screen_setup): Set bg_color_display.
5982 (redraw_screen_rect): Use bg_color_display instead of incorrect
5983 bg_color.
5984 (grub_gfxterm_cls): Likewise.
5985 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
5986 Support embedding config file.
5987 (add_segments): Likewise.
5988 (options): New option "--config".
5989 (main): Handle "--config".
5990 * video/sm712.c: New file.
5991
5992 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
5993
5994 Fix parallel builds.
5995
5996 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
5997 font.c depend on ascii.h).
5998
5999 2010-01-12 Carles Pina i Estany <carles@pina.cat>
6000
6001 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
6002
6003 2010-01-11 Carles Pina i Estany <carles@pina.cat>
6004
6005 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
6006 By default: disabled.
6007 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
6008 parameter.
6009
6010 2010-01-10 Carles Pina i Estany <carles@pina.cat>
6011
6012 * font/font.c: Update copyright years.
6013 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
6014
6015 2010-01-10 Carles Pina i Estany <carles@pina.cat>
6016
6017 * font/font.c: Include `ascii.h'.
6018 (ASCII_BITMAP_SIZE): New macro.
6019 (ascii_font_glyph): Define.
6020 (ascii_glyph_lookup): New function.
6021 (grub_font_get_string_width): Change comment. If glyph not found, use
6022 ascii_glyph_lookup.
6023 (grub_font_get_glyph_with_fallback): If glyph not available returns
6024 ascii_glyph_lookup.
6025 * util/grub-mkfont.c (file_formats): New enum.
6026 (options): Add `ascii-bitmaps' new option.
6027 (usage): Add `asii-bitmaps' new option.
6028 (write_font_ascii_bitmap): New function.
6029 (write_font): Rename to ...
6030 (write_font_p2): ... this. Remove print_glyphs call.
6031 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
6032 used. Call print_glyphs.
6033 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
6034
6035 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
6036
6037 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
6038 (grub_bin2h_SOURCES): New variable.
6039 * util/bin2h.c: New file.
6040
6041 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * include/multiboot.h: Resynced with spec.
6044 * include/multiboot2.h: Likewise.
6045 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
6046 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
6047
6048 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6049
6050 * include/grub/term.h (grub_term_register_input,
6051 grub_term_register_output): Check return of terminal init()
6052 routines, and abort if errors are raised.
6053
6054 * commands/terminal.c: Update copyright year.
6055
6056 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6057
6058 * commands/terminal.c (grub_cmd_terminal_input)
6059 (grub_cmd_terminal_output): Check return of terminal init()
6060 routines, and abort if errors are raised.
6061
6062 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6063
6064 * include/grub/i386/bsd.h: Fix include pathes.
6065
6066 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 Add missing *BSD copyright headers.
6069
6070 * include/grub/aout.h: Add BSD licence.
6071 * include/grub/i386/bsd.h: Parts under different licences moved to ...
6072 * include/grub/i386/freebsd_linker.h: ... here,
6073 * include/grub/i386/freebsd_reboot.h: ... here,
6074 * include/grub/i386/netbsd_bootinfo.h: ... here,
6075 * include/grub/i386/netbsd_reboot.h: ... here,
6076 * include/grub/i386/openbsd_bootarg.h: ... here,
6077 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
6078 licence to each file.
6079
6080 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6081
6082 * acinclude.m4: Remove `nop' assembly instruction; it's not
6083 implemented by all architectures.
6084
6085 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6086
6087 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
6088 ELILO. This is no longer necessary.
6089
6090 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
6091
6092 Added new tool, grub-scrit-check to verify grub.cfg syntax.
6093
6094 * util/grub-script-check.c: grub-script-check tool.
6095 * conf/common.rmk: Make rules for grub-script-check.
6096
6097 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6098
6099 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
6100 spotting it back in 2008. Shame on me for forgetting he did.
6101
6102 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
6103
6104 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6105
6106 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
6107 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
6108 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
6109 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
6110 (GRUB_VIDEO_TYPE_EFI): Rename to ...
6111 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
6112
6113 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
6114
6115 * include/grub/test.h: Add license header.
6116 * tests/example_functional_test.c: Likewise.
6117 * tests/example_unit_test.c: Likewise.
6118 * tests/lib/functional_test.c: Likewise.
6119 * tests/lib/test.c: Likewise.
6120 * tests/lib/unit_test.c: Likewise.
6121
6122 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 Use flag-based instead of hook-based video mode selection and "auto"
6125 keyword.
6126
6127 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
6128 (grub_video_set_mode): Changed prototype. All users updated.
6129 (grub_video_check_mode_flag): New inline function.
6130 * video/video.c (parse_modespec): New function.
6131 (grub_video_set_mode): Parse flags and keywords.
6132
6133 2010-01-17 Carles Pina i Estany <carles@pina.cat>
6134
6135 * util/misc.c (grub_util_info): Fix the order of the parameters in a
6136 fprintf call.
6137
6138 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
6139
6140 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
6141
6142 2010-01-16 Carles Pina i Estany <carles@pina.cat>
6143
6144 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
6145 string.
6146 * util/grub-emu.c (usage): Likewise.
6147 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
6148 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6149 * util/i386/pc/grub-mkimage.c (usage): Likewise.
6150 * util/i386/pc/grub-setup.c (usage): Likewise.
6151
6152 2010-01-16 Carles Pina i Estany <carles@pina.cat>
6153
6154 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
6155 the message.
6156 (grub_util_info): Likewise.
6157 (grub_util_error): Likewise.
6158 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
6159 and/or new lines in `grub_util_warna', `grub_util_info',
6160 `grub_util_error' calls.
6161 * util/getroot.c: Likewise.
6162 * util/grub-editenv.c: Likewise.
6163 * util/grub-emu.c: Likewise.
6164 * util/grub-fstest.c: Likewise.
6165 * util/grub-mkdevicemap.c: Likewise.
6166 * util/grub-mkfont.c: Likewise.
6167 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6168 * util/grub-mkrelpath.c: Likewise.
6169 * util/grub-pe2elf.c: Likewise.
6170 * util/grub-probe.c: Likewise.
6171 * util/hostdisk.c: Likewise.
6172 * util/i386/efi/grub-mkimage.c: Likewise.
6173 * util/i386/pc/grub-mkimage.c: Likewise.
6174 * util/i386/pc/grub-setup.c: Likewise.
6175 * util/ieee1275/ofpath.c: Likewise.
6176 * util/mkisofs/eltorito.c: Likewise.
6177 * util/mkisofs/rock.c: Likewise.
6178 * util/mkisofs/write.c: Likewise.
6179 * util/raid.c: Likewise.
6180 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6181 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6182
6183 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Enable multiboot on non-pc.
6186
6187 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
6188 multiboot.mod and multiboot2.mod to ...
6189 * conf/i386.rmk (pkglib_MODULES): ... here.
6190 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
6191 Moved to ...
6192 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
6193 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
6194 Moved to ...
6195 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
6196 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
6197 Moved to ...
6198 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
6199 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
6200 Moved to ...
6201 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
6202 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
6203 relocator.mod.
6204 (ata_mod_SOURCES): Removed.
6205 (ata_mod_CFLAGS): Likewise.
6206 (ata_mod_LDFLAGS): Likewise.
6207 (relocator_mod_SOURCES): Removed.
6208 (relocator_mod_CFLAGS): Likewise.
6209 (relocator_mod_ASFLAGS): Likewise.
6210 (relocator_mod_LDFLAGS): Likewise.
6211 Include i386.mk.
6212 * include/grub/x86_64/multiboot.h: New file.
6213 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
6214 Terminate EFI.
6215
6216 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 Video multiboot support.
6219
6220 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
6221 New prototype.
6222 * include/multiboot.h: Resynced with multiboot specification.
6223 * include/multiboot2.h: Likewise.
6224 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
6225 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
6226 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
6227 (HAS_VGA_TEXT): Likewise.
6228 (accepts_video): New variable.
6229 (grub_multiboot_set_accepts_video): New function.
6230 (grub_multiboot_get_mbi_size): Account for video structures.
6231 (set_video_mode): New function.
6232 (retrieve_video_parameters): Likewise.
6233 (grub_multiboot_make_mbi): Fill video fields.
6234
6235 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Video driver ids.
6238
6239 * include/grub/video.h (grub_video_driver_id): New type.
6240 (grub_video_adapter): New member 'id'. All users updated.
6241 (grub_video_get_driver_id): New proto.
6242 * video/video.c (grub_video_get_driver_id): New function.
6243
6244 2010-01-14 Carles Pina i Estany <carles@pina.cat>
6245
6246 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
6247 `var=val'.
6248
6249 2010-01-14 Carles Pina i Estany <carles@pina.cat>
6250
6251 * normal/cmdline.c (print_completion): Gettextizze.
6252
6253 2001-01-14 Carles Pina i Estany <carles@pina.cat>
6254
6255 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
6256
6257 2010-01-14 Carles Pina i Estany <carles@pina.cat>
6258
6259 * gettext/gettext.c (grub_gettext_translate): Push and pop
6260 grub_errno.
6261 (grub_gettext_delete_list): Change comment style.
6262 * kern/err.c (grub_error): Gettextizze.
6263 (grub_fatal): Gettextizze.
6264
6265 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
6266
6267 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
6268 (grub_linux16_real_boot): ... this.
6269 * kern/i386/loader.S: Likewise.
6270 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
6271 (grub_linux16_boot): New function. Switches to text mode and calls
6272 grub_linux16_real_boot().
6273
6274 * loader/i386/bsd.c: Include `<grub/video.h>'.
6275 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
6276 text mode before calling grub_unix_real_boot().
6277
6278 * loader/i386/multiboot.c: Include `<grub/video.h>'.
6279 (grub_multiboot_boot): Switch to text mode before calling
6280 grub_relocator32_boot().
6281
6282 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
6283 (grub_chainloader_boot): Switch to text mode before calling
6284 grub_chainloader_real_boot().
6285
6286 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
6287 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6288
6289 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
6290 non-empty value.
6291
6292 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
6293 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6294
6295 * util/grub.d/00_header.in: Define a "savedefault" function for use
6296 in menu entries.
6297 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
6298
6299 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
6300 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6301
6302 * util/grub-mkconfig_lib.in (save_default_entry): Only set
6303 saved_entry if boot_once is unset.
6304 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
6305 previous saved entry (i.e. grub-reboot).
6306
6307 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6308
6309 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
6310
6311 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6312
6313 * util/grub.d/00_header.in: Use `set var=val' rather than plain
6314 `var=val'.
6315 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
6316
6317 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6318
6319 * util/grub-reboot.in: Fix --version output.
6320 * util/grub-set-default.in: Likewise.
6321
6322 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6323
6324 * util/grub.d/00_header.in: Silently ignore zero-sized environment
6325 blocks.
6326
6327 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6328
6329 * util/grub.d/00_header.in: Quote the value assigned to `default',
6330 in case it contains spaces.
6331
6332 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
6333
6334 * util/grub.d/30_os-prober.in: Fix merge error that moved a
6335 `save_default_entry' call from the macosx case to the linux case.
6336
6337 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6338 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
6339
6340 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
6341 in `chosen' environment variable.
6342 * normal/menu_text.c (get_entry_number): Check if the variable
6343 matches the title of a menu entry.
6344 (run_menu): Pass menu to get_entry_number.
6345
6346 * util/grub-reboot.in: New file.
6347 * util/grub-set-default.in: New file.
6348 * conf/common.rmk (grub-reboot): New utility.
6349 (grub-set-default): New utility.
6350
6351 * util/grub-mkconfig_lib.in (save_default_entry): New function.
6352 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
6353 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
6354 move it to `saved_entry' for the next boot. Load environment on
6355 initialisation.
6356 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
6357 * util/grub.d/10_hurd.in: Likewise.
6358 * util/grub.d/10_linux.in (linux_entry): Likewise.
6359 * util/grub.d/10_windows.in: Likewise.
6360 * util/grub.d/30_os-prober.in: Likewise.
6361
6362 * util/grub-install.in: Create environment block.
6363 * util/i386/efi/grub-install.in: Likewise.
6364 * util/ieee1275/grub-install.in: Likewise.
6365 * util/sparc64/ieee1275/grub-install.in: Likewise.
6366
6367 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
6368
6369 Unit testing framework for GRUB.
6370
6371 * Makefile.in: Test framework build rules for 'make check'.
6372 * conf/tests.rmk: Build rules for individual tests and framework.
6373
6374 * include/grub/test.h: Header file for whitebox tests.
6375 * tests/lib/functional_test.c: Framework support for whitebox
6376 functional tests.
6377 * tests/lib/test.c: Common whitebox testing code for unit and
6378 functional tests.
6379 * tests/lib/unit_test.c: Framework support for whitebox unit
6380 tests.
6381
6382 * tests/util/grub-shell-tester.in: Support utility for grub-script
6383 tests.
6384 * tests/util/grub-shell.in: Utility to execute grub-script
6385 commands in a Qemu instance.
6386
6387 * tests/example_functional_test.c: Example whitebox functional
6388 test.
6389 * tests/example_grub_script_test.in: Example grub-script test.
6390 * tests/example_scripted_test.in: Example scripted test.
6391 * tests/example_unit_test.c: Example whitebox unit test.
6392
6393 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
6396 Add loader/i386/multiboot_mbi.c.
6397 (multiboot2_mod_SOURCES): Likewise.
6398 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
6399 (multiboot2_mod_SOURCES): Likewise.
6400 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
6401 (grub_multiboot_make_mbi): Likewise.
6402 (grub_multiboot_free_mbi): Likewise.
6403 (grub_multiboot_init_mbi): Likewise.
6404 (grub_multiboot_add_module): Likewise.
6405 (grub_multiboot_set_bootdev): Likewise.
6406 * loader/i386/multiboot.c (mbi): Removed.
6407 (mbi_dest): Likewise.
6408 (alloc_mbi): New variable.
6409 (grub_multiboot_payload_size): Removed. All users updated.
6410 (grub_multiboot_pure_size): New variable.
6411 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
6412 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
6413 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
6414 (grub_fill_multiboot_mmap): Likewise.
6415 (grub_multiboot_get_bootdev): Likewise.
6416 (grub_multiboot): Use multiboot_mbi functions.
6417 * loader/i386/multiboot_mbi.c: New file.
6418
6419 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
6422 it would result in module crash.
6423
6424 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6427 (grub_ofconsole_getwh): Split to ...
6428 (grub_ofconsole_getwh): ... this.
6429 (grub_ofconsole_dimensions): ...and this.
6430 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6431
6432 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6433
6434 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6435
6436 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * loader/i386/pc/multiboot2.c: Removed stalled file.
6439
6440 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6443 Reported by: Grégoire Sutre
6444
6445 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6446
6447 * util/misc.c (canonicalize_file_name): New function.
6448 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6449 instead of realpath().
6450
6451 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
6452
6453 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6454 and make it clearer that it's optional. Based on confusion
6455 witnessed on IRC.
6456
6457 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6460 in premature implicit newline.
6461
6462 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6465 which resulted in garbled command line at the end of screen.
6466
6467 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6468
6469 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6470 initialization with similar approach as with other Linux loaders.
6471
6472 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6473
6474 Fix i386-ieee1275 build.
6475
6476 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6477 and grub_term_height() for video_{width,height} initialization.
6478
6479 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6480
6481 Fix grub-emu build.
6482
6483 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6484
6485 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6486 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6487
6488 Support for multiple terminals.
6489
6490 * Makefile.in (pkglib_DATA): terminal.lst.
6491 (terminal.lst): New target.
6492 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6493 (GRUB_MOD_INIT(handler)): Likewise.
6494 (GRUB_MOD_FINI(handler)): Likewise.
6495 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6496 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6497 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6498 (grub_cmd_sleep): Use grub_term_save_pos.
6499 * commands/terminal.c: New file.
6500 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6501 commands/terminal.c and lib/charset.c.
6502 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6503 (pkglib_MODULES): Add terminal.mod.
6504 (terminal_mod_SOURCES): New variable.
6505 (terminal_mod_CFLAGS): Likewise.
6506 (terminal_mod_LDFLAGS): Likewise.
6507 * genhandlerlist.sh: Don't handle terminals.
6508 * genmk.rb: Generate terminal-*.lst.
6509 * genterminallist.sh: New file.
6510 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6511 (grub_is_valid_utf8): Likewise.
6512 (grub_utf8_to_ucs4_alloc): Likewise.
6513 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6514 (grub_menu_register_viewer): Changed argument.
6515 (grub_menu_try_text): New proto.
6516 (grub_gfxmenu_try_hook): New declaration.
6517 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6518 (grub_menu_init_page): Additional argument term.
6519 (grub_normal_init_page): Likewise.
6520 (grub_cmdline_get): Arguments simplified.
6521 (grub_utf8_to_ucs4_alloc): Removed.
6522 (grub_print_ucs4): Additional argument term.
6523 (grub_getstringwidth): Likewise.
6524 (grub_print_message_indented): Likewise.
6525 (grub_menu_text_register_instances): New proto.
6526 (grub_show_menu): Likewise.
6527 (read_terminal_list): Likewise.
6528 (grub_set_more): Likewise.
6529 * include/grub/parser.h: Include handler.h.
6530 * include/grub/reader.h: Rewritten.
6531 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
6532 (GRUB_TERM_WIDTH): Changed to function.
6533 (GRUB_TERM_HEIGHT): Likewise.
6534 (GRUB_TERM_BORDER_WIDTH): Likewise.
6535 (GRUB_TERM_BORDER_HEIGHT): Likewise.
6536 (GRUB_TERM_NUM_ENTRIES): Likewise.
6537 (GRUB_TERM_ENTRY_WIDTH): Likewise.
6538 (GRUB_TERM_CURSOR_X): Likewise.
6539 (grub_term_input_class): Likewise.
6540 (grub_term_output_class): Likewise.
6541 (grub_term_outputs_disabled): New declaration.
6542 (grub_term_inputs_disabled): Likewise.
6543 (grub_term_outputs): Likewise.
6544 (grub_term_inputs): Likewise.
6545 (grub_term_register_input): Rewritten.
6546 (grub_term_register_output): Likewise.
6547 (grub_term_unregister_input): Likewise.
6548 (grub_term_unregister_output): Likewise.
6549 (FOR_ACTIVE_TERM_INPUTS): New macro.
6550 (FOR_DISABLED_TERM_INPUTS): Likewise.
6551 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6552 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6553 * include/grub/terminfo.h: Add oterm argument to all protypes.
6554 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
6555 Use grub_rescue_run.
6556 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
6557 All users updated.
6558 * kern/reader.c: Removed. All users updated.
6559 * kern/rescue_reader.c (grub_rescue_init): Removed.
6560 (grub_rescue_reader): Likewise.
6561 (grub_register_rescue_reader): Likewise.
6562 (grub_rescue_run): New function based on kern/reader.c.
6563 * kern/term.c: Adapted for multiterm.
6564 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
6565 (grub_is_valid_utf8): Likewise.
6566 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
6567 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
6568 right terminal.
6569 * loader/i386/linux.c (grub_linux_boot): Likewise.
6570 * normal/auth.c (grub_username_get): New function.
6571 (grub_auth_check_authentication): Use grub_username_get.
6572 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
6573 * normal/color.c: Adapt for multiterm.
6574 * normal/main.c (read_config_file): Don't use grub_reader_loop.
6575 (grub_normal_init_page): Additional argument term.
6576 (read_lists): Call read_terminal_lists.
6577 (grub_enter_normal_mode): Call grub_cmdline_run.
6578 Handle grub_normal_exit_level.
6579 (grub_cmd_normal): Make reentrant.
6580 (grub_cmd_normal_exit): New function.
6581 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
6582 * normal/menu.c: Adapt for multiterm.
6583 * normal/menu_entry.c: Likewise.
6584 * normal/menu_text.c: Likewise.
6585 * normal/menu_viewer.c: Removed. All users updated.
6586 * normal/term.c: New file.
6587 * util/console.c: Change order of includes to workaround a bug in
6588 ncurses headers.
6589 * term/terminfo.c: New argument oterm on all exported functions.
6590 All users updated.
6591 * util/grub-editenv.c (grub_term_input_class): Removed.
6592 (grub_term_output_class): Likewise.
6593
6594 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6595
6596 Make loader output a bit more user-friendly.
6597
6598 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
6599 is being loaded. Likewise for the Hurd.
6600
6601 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
6602 that kernel of FreeBSD ${version} is being loaded.
6603
6604 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
6605 grub_dprintf().
6606 (grub_cmd_initrd): Likewise.
6607 * util/grub.d/10_linux.in (linux_entry): Print message indicating
6608 that Linux ${version} is being loaded. Likewise for initrd.
6609
6610 2010-01-09 Carles Pina i Estany <carles@pina.cat>
6611
6612 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
6613
6614 2010-01-08 Carles Pina i Estany <carles@pina.cat>
6615
6616 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
6617 (GRUB_MOD_INIT): Gettextizze.
6618 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
6619 (GRUB_MOD_INIT): Gettextizze.
6620 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
6621 (grub_cmd_linux): Capitalise Linux.
6622 (GRUB_MOD_INIT): Gettextizze.
6623 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
6624 (grub_cmd_linux): Capitalise Linux.
6625 (GRUB_MOD_INIT): Gettextizze.
6626 * loader/i386/linux.c: Include `<grub/i18n.h>'.
6627 (grub_cmd_linux): Capitalise Linux.
6628 (GRUB_MOD_INIT): Gettextizze.
6629 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
6630 (GRUB_MOD_INIT): Gettextizze.
6631 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
6632 (grub_cmd_linux): Capitalise Linux.
6633 (GRUB_MOD_INIT): Gettextizze.
6634 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
6635 (grub_cpu_xnu_init): Gettextizze.
6636 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
6637 (GRUB_MOD_INIT): Gettextizze.
6638 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
6639 (GRUB_MOD_INIT): Gettextizze.
6640 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
6641 (grub_linux_load64): Capitalise Linux.
6642 (GRUB_MOD_INIT): Gettextizze.
6643 * loader/xnu.c: Include `<grub/i18n.h>'.
6644 (GRUB_MOD_INIT): Gettextizze.
6645 * po/POTFILES: Add `loader/efi/appleloader.c',
6646 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
6647 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
6648 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
6649 `loader/i386/xnu.c', `loader/multiboot_loader.c',
6650 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
6651 and `loader/xnu.c'.
6652
6653 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6654
6655 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
6656
6657 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
6658
6659 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
6660 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
6661 * util/mkisofs/mkisofs.c (main): Readjust --version output.
6662
6663 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6664
6665 Reset Multiboot 2 support. New loader implements the draft in
6666 /branches/multiboot2 and shares as much code as possible with the
6667 production Multiboot 1 implementation.
6668
6669 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
6670 * loader/multiboot2.c: Likewise.
6671 * loader/i386/multiboot_helper.S: Likewise.
6672 * include/multiboot2.h: Replace with latest version from the draft
6673 in /branches/multiboot2.
6674
6675 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
6676 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
6677 and `loader/multiboot2.c'.
6678 (pkglib_MODULES): Add `multiboot2.mod'.
6679 (multiboot2_mod_SOURCES): New variable.
6680 (multiboot2_mod_LDFLAGS): Likewise.
6681 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
6682
6683 * conf/i386-pc.rmk: Likewise.
6684
6685 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
6686 (multiboot_mod_SOURCES): Remove variable.
6687 (multiboot_mod_LDFLAGS): Likewise.
6688 (multiboot_mod_CFLAGS): Likewise.
6689
6690 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
6691 `<multiboot2.h>' instead of `<multiboot.h>'.
6692 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
6693 (MULTIBOOT_HEADER_MAGIC): New macros.
6694
6695 * loader/multiboot_loader.c (module_version_status): Remove variable.
6696 (find_multi_boot2_header): Remove function.
6697 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
6698 logic. Always check for the Multiboot version we're compiling for.
6699 (grub_cmd_module_loader): Likewise.
6700 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
6701 command instead of `multiboot'.
6702
6703 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6704
6705 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
6706 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
6707 all users.
6708
6709 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6710 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 Fix breakage introduced with previous commit.
6713
6714 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
6715 commands.
6716 * normal/handler.c (read_handler_list): Revert part of previous commit
6717 affecting this file.
6718 * normal/main.c (read_lists): Move read_handler_list() call back to ...
6719 (grub_normal_execute): ... here.
6720
6721 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
6722
6723 Merge prefix-redefinition-fix branch.
6724
6725 * normal/autofs.c (read_fs_list): Make function capable of being
6726 run multiple times, gracefuly replacing the previous data
6727 structures.
6728 * normal/dyncmd.c (read_command_list): Likewise.
6729 * normal/handler.c (read_handler_list): Likewise.
6730 * normal/main.c (read_lists): New function. Calls all the
6731 list reading functions.
6732 (grub_normal_execute): Use read_lists() instead of calling all
6733 list reading functions explicitly. Register read_lists() as a
6734 variable hook attached to ${prefix}.
6735
6736 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 Merge crypto branch.
6739
6740 * Makefile.in (pkglib_DATA): Add crypto.lst.
6741 (crypto.lst): New target.
6742 * commands/hashsum.c: New file.
6743 * commands/password.c (check_password): Use grub_crypto_memcmp.
6744 * commands/password_pbkdf2.c: New file.
6745 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
6746 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
6747 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
6748 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
6749 -I$(srcdir)/lib/libgcrypt_wrap.
6750 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
6751 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
6752 password_pbkdf2.mod.
6753 (crypto_mod_SOURCES): New variable.
6754 (crypto_mod_CFLAGS): Likewise.
6755 (crypto_mod_LDFLAGS): Likewise.
6756 (hashsum_mod_SOURCES): New variable.
6757 (hashsum_mod_CFLAGS): Likewise.
6758 (hashsum_mod_LDFLAGS): Likewise.
6759 (pbkdf2_mod_SOURCES): New variable.
6760 (pbkdf2_mod_CFLAGS): Likewise.
6761 (pbkdf2_mod_LDFLAGS): Likewise.
6762 (password_pbkdf2_mod_SOURCES): New variable.
6763 (password_pbkdf2_mod_CFLAGS): Likewise.
6764 (password_pbkdf2_mod_LDFLAGS): Likewise.
6765 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
6766 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
6767 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
6768 Include conf/gcry.rmk.
6769 * include/grub/auth.h: Rewritten.
6770 * include/grub/crypto.h: New file.
6771 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
6772 * include/grub/normal.h (read_crypto_list): New prototype.
6773 * lib/crypto.c: New file.
6774 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
6775 * lib/pbkdf2.c: Likewise.
6776 * normal/auth.c (grub_auth_strcmp): Removed.
6777 (grub_iswordseparator): Likewise.
6778 (grub_auth_strword): Likewise.
6779 (is_authenticated): Use grub_strword.
6780 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
6781 and grub_strword. Pass entered password to authentication callback.
6782 * normal/crypto.c: New file.
6783 * normal/main.c: Call read_crypto_list.
6784 * util/grub-mkpasswd-pbkdf2.c: New file.
6785 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
6786
6787 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 Fix descent and ascent calculation.
6790
6791 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
6792 (options): New option "asce".
6793 (usage): Likewise.
6794 (add_char): Ignore invalid glyphs for descent calculation.
6795 Calculate ascent from actual content.
6796 (print_glyphs): Use 'asce'.
6797 (write_font): Likewise. Allow ascent override.
6798 (main): Handle "asce" option.
6799
6800 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6801
6802 * kern/err.c: Include `<grub/i18n.h>'.
6803 (grub_print_error): Add full stop. Gettextizze.
6804 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
6805 (grub_bsd_load_elf): Capitalise ELF.
6806 (grub_cmd_freebsd_loadenv): Add `s' in error string.
6807 (grub_cmd_freebsd_module): Likewise.
6808 (grub_cmd_freebsd_module_elf): Likewise.
6809 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
6810
6811 2010-01-06 Carles Pina i Estany <carles@pina.cat>
6812
6813 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
6814 * commands/search_file.c (HELP_MESSAGE): New macro.
6815 * commands/search_label.c (HELP_MESSAGE): Likewise.
6816 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
6817 * po/POTFILES: Add `commands/search_file.c',
6818 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
6819 `commands/search.c'.
6820
6821 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6822
6823 * config.rpath: Update from Gnulib.
6824
6825 2010-01-05 Yves Blusseau <blusseau@zetam.org>
6826
6827 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
6828
6829 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
6830
6831 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
6832
6833 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6834
6835 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
6836 arguments to fread so that we get a return value in bytes, rather
6837 than something that will normally be rounded down to 0.
6838 Adjust error handling to avoid producing garbage when size_t is not
6839 the same size as long long.
6840
6841 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
6842
6843 * util/mkisofs/write.c (padblock_write): Check return value of
6844 fread.
6845
6846 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
6847
6848 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
6849 floppy images now.
6850
6851 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
6852
6853 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6854
6855 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
6856 instead of manual alignment.
6857 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
6858 verbose). Avoid attempts to read past end of the device
6859 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
6860 but GRUB_DISK_CACHE_SIZE may exceed that).
6861
6862 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
6863
6864 * commands/crc.c (grub_cmd_crc): Abort on read errors.
6865 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
6866 it to upper layer.
6867
6868 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
6871 New constant.
6872 (grub_efi_piwg_device_path): New structure
6873 (grub_efi_piwg_device_path_t): New type.
6874 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
6875 (devpath_1): Transform to a structure. All users updated.
6876 (devpath_2): Likewise.
6877 (devpath_3): Likewise.
6878 (devpath_4): Likewise.
6879 (devpath_5): Likewise.
6880
6881 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * loader/efi/appleloader.c: Restored. Update all users.
6884
6885 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6886
6887 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
6888
6889 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
6890 (struct boot_blocklist): Move from here ...
6891 * include/grub/i386/pc/boot.h [ASM_FILE]
6892 (struct grub_boot_blocklist): ... to here. Update all users.
6893 (setup): Only initialize `start' member of `first_block'
6894 structure. Add assert() calls to verify the other members.
6895
6896 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
6897 (generate_image): Fix broken blocklist length initialization.
6898 Add assert() call to verify blocklist `segment' field.
6899
6900 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6901
6902 * loader/efi/appleloader.c: Remove. Update all users.
6903
6904 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
6905
6906 * boot/i386/pc/boot.S: Update copyright year.
6907 * boot/i386/pc/cdboot.S: Likewise.
6908 * boot/i386/pc/diskboot.S: Likewise.
6909 * boot/i386/pc/lnxboot.S: Likewise.
6910 * boot/i386/pc/pxeboot.S: Likewise.
6911 * bus/pci.c: Likewise.
6912 * commands/cmp.c: Likewise.
6913 * commands/help.c: Likewise.
6914 * commands/hexdump.c: Likewise.
6915 * commands/i386/pc/halt.c: Likewise.
6916 * commands/i386/pc/play.c: Likewise.
6917 * commands/i386/pc/vbeinfo.c: Likewise.
6918 * commands/ls.c: Likewise.
6919 * commands/test.c: Likewise.
6920 * disk/dmraid_nvidia.c: Likewise.
6921 * disk/i386/pc/biosdisk.c: Likewise.
6922 * disk/ieee1275/nand.c: Likewise.
6923 * disk/ieee1275/ofdisk.c: Likewise.
6924 * disk/lvm.c: Likewise.
6925 * disk/raid.c: Likewise.
6926 * disk/raid6_recover.c: Likewise.
6927 * disk/scsi.c: Likewise.
6928 * fs/affs.c: Likewise.
6929 * fs/cpio.c: Likewise.
6930 * fs/ext2.c: Likewise.
6931 * fs/hfs.c: Likewise.
6932 * fs/iso9660.c: Likewise.
6933 * fs/ntfs.c: Likewise.
6934 * fs/sfs.c: Likewise.
6935 * fs/udf.c: Likewise.
6936 * fs/ufs.c: Likewise.
6937 * fs/xfs.c: Likewise.
6938 * gencmdlist.sh: Likewise.
6939 * genmk.rb: Likewise.
6940 * include/grub/disk.h: Likewise.
6941 * include/grub/efi/api.h: Likewise.
6942 * include/grub/efi/efi.h: Likewise.
6943 * include/grub/efi/pe32.h: Likewise.
6944 * include/grub/elf.h: Likewise.
6945 * include/grub/fs.h: Likewise.
6946 * include/grub/i386/at_keyboard.h: Likewise.
6947 * include/grub/i386/pc/memory.h: Likewise.
6948 * include/grub/i386/pc/vbe.h: Likewise.
6949 * include/grub/i386/pci.h: Likewise.
6950 * include/grub/i386/tsc.h: Likewise.
6951 * include/grub/ieee1275/ieee1275.h: Likewise.
6952 * include/grub/ntfs.h: Likewise.
6953 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
6954 * include/grub/sparc64/libgcc.h: Likewise.
6955 * include/grub/symbol.h: Likewise.
6956 * include/grub/types.h: Likewise.
6957 * include/multiboot2.h: Likewise.
6958 * io/gzio.c: Likewise.
6959 * kern/device.c: Likewise.
6960 * kern/disk.c: Likewise.
6961 * kern/efi/efi.c: Likewise.
6962 * kern/efi/mm.c: Likewise.
6963 * kern/elf.c: Likewise.
6964 * kern/file.c: Likewise.
6965 * kern/i386/dl.c: Likewise.
6966 * kern/i386/pc/init.c: Likewise.
6967 * kern/i386/pc/startup.S: Likewise.
6968 * kern/ieee1275/ieee1275.c: Likewise.
6969 * kern/ieee1275/init.c: Likewise.
6970 * kern/main.c: Likewise.
6971 * kern/mm.c: Likewise.
6972 * kern/powerpc/dl.c: Likewise.
6973 * kern/sparc64/dl.c: Likewise.
6974 * kern/x86_64/dl.c: Likewise.
6975 * lib/hexdump.c: Likewise.
6976 * loader/efi/appleloader.c: Likewise.
6977 * loader/i386/ieee1275/linux.c: Likewise.
6978 * loader/i386/pc/chainloader.c: Likewise.
6979 * loader/i386/pc/linux.c: Likewise.
6980 * loader/i386/pc/multiboot2.c: Likewise.
6981 * loader/ieee1275/multiboot2.c: Likewise.
6982 * loader/multiboot2.c: Likewise.
6983 * loader/multiboot_loader.c: Likewise.
6984 * loader/powerpc/ieee1275/linux.c: Likewise.
6985 * normal/completion.c: Likewise.
6986 * normal/menu_entry.c: Likewise.
6987 * partmap/apple.c: Likewise.
6988 * util/grub.d/10_hurd.in: Likewise.
6989 * util/hostfs.c: Likewise.
6990 * video/readers/png.c: Likewise.
6991
6992 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
6993
6994 * include/grub/misc.h (GNUC_PREREQ): New macro.
6995 (ATTRIBUTE_ERROR): New macro.
6996 * include/grub/list.h (grub_bad_type_cast_real): Use
6997 ATTRIBUTE_ERROR.
6998
6999 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7000
7001 * normal/menu_text.c (print_message): Change messages.
7002
7003 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7004
7005 * normal/menu_entry.c (store_completion): Gettextizze.
7006
7007 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7008
7009 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
7010
7011 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7012
7013 * po/POTFILES: Sort correctly.
7014
7015 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7016
7017 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
7018 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
7019 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
7020 full stop.
7021 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
7022 summary. Gettextizze the strings.
7023 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
7024 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
7025 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
7026 full stop.
7027 (GRUB_MOD_INIT): Remove command name from summary.
7028 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
7029 summary.
7030 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
7031 * term/i386/pc/serial.c (options): Add full stops.
7032 (GRUB_MOD_INIT): Remove command name from the summary.
7033
7034 2010-01-03 Carles Pina i Estany <carles@pina.cat>
7035
7036 * commands/acpi.c: Gettextizze help strings and/or options. Include
7037 `grub/i18n.h' if needed.
7038 * commands/blocklist.c: Likewise.
7039 * commands/boot.c: Likewise.
7040 * commands/cat.c: Likewise.
7041 * commands/cmp.c: Likewise.
7042 * commands/configfile.c: Likewise.
7043 * commands/crc.c: Likewise.
7044 * commands/date.c: Likewise.
7045 * commands/echo.c: Likewise.
7046 * commands/efi/fixvideo.c: Likewise.
7047 * commands/efi/loadbios.c: Likewise.
7048 * commands/gptsync.c: Likewise.
7049 * commands/halt.c: Likewise.
7050 * commands/handler.c: Likewise.
7051 * commands/hdparm.c: Likewise.
7052 * commands/hexdump.c: Likewise.
7053 * commands/i386/cpuid.c: Likewise.
7054 * commands/i386/pc/drivemap.c: Likewise.
7055 * commands/i386/pc/halt.c: Likewise.
7056 * commands/i386/pc/pxecmd.c: Likewise.
7057 * commands/i386/pc/vbeinfo.c: Likewise.
7058 * commands/i386/pc/vbetest.c: Likewise.
7059 * commands/ieee1275/suspend.c: Likewise.
7060 * commands/keystatus.c: Likewise.
7061 * commands/loadenv.c: Likewise.
7062 * commands/ls.c: Likewise.
7063 * commands/lsmmap.c: Likewise.
7064 * commands/lspci.c: Likewise.
7065 * commands/memrw.c: Likewise.
7066 * commands/minicmd.c: Likewise.
7067 * commands/parttool.c: Likewise.
7068 * commands/password.c: Likewise.
7069 * commands/probe.c: Likewise.
7070 * commands/read.c: Likewise.
7071 * commands/reboot.c: Likewise.
7072 * commands/search.c: Likewise.
7073 * commands/sleep.c: Likewise.
7074 * commands/test.c: Likewise.
7075 * commands/true.c: Likewise.
7076 * commands/usbtest.c: Likewise.
7077 * commands/videotest.c: Likewise.
7078 * commands/xnu_uuid.c: Likewise.
7079 * disk/loopback.c: Likewise.
7080 * hello/hello.c: Likewise.
7081 * loader/i386/bsd.c: Likewise.
7082 * term/i386/pc/serial.c: Likewise.
7083 * po/POTFILES: Add new files.
7084
7085 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
7086
7087 * term/i386/pc/at_keyboard.c
7088 (keyboard_controller_wait_untill_ready): Rename to ...
7089 (keyboard_controller_wait_until_ready): ... this. Update all users.
7090
7091 2010-01-01 Carles Pina i Estany <carles@pina.cat>
7092
7093 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
7094 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
7095 string using string width.
7096 * normal/menu_text.c (grub_print_message_indented): Use
7097 grub_print_spaces and not print_spaces.
7098 (print_timeout): Likewise.
7099 (print_spaces): Move to...
7100 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
7101
7102 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
7103
7104 Import from Gnulib.
7105
7106 * gnulib/getdelim.c: New file.
7107 * gnulib/getline.c: Likewise.
7108
7109 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
7110
7111 * include/grub/list.h (grub_assert_fail): Removed.
7112 (grub_bad_type_cast_real): New function.
7113 (grub_bad_type_cast): New macro.
7114 (GRUB_AS_LIST): Use grub_bad_type_cast.
7115 (GRUB_AS_LIST_P): Likewise.
7116 (GRUB_AS_NAMED_LIST): Likewise.
7117 (GRUB_AS_NAMED_LIST_P): Likewise.
7118 (GRUB_AS_PRIO_LIST): Likewise.
7119 (GRUB_AS_PRIO_LIST_P): Likewise.
7120 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
7121
7122 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
7125 Fix syntax error.
7126
7127 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
7128
7129 * configure.ac: Check for TARGET_CFLAGS initialization before we
7130 initialize it ourselves (sigh).
7131 Move a few modifications to TARGET_CFLAGS to be unconditional
7132 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
7133 eh_frame)
7134
7135 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
7136 * term/i386/pc/at_keyboard.c
7137 (keyboard_controller_wait_untill_ready): Likewise.
7138 (keyboard_controller_led): Rename `led_status' paramter to avoid
7139 name conflict.
7140
7141 2009-12-28 Carles Pina i Estany <carles@pina.cat>
7142
7143 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
7144 quotes.
7145
7146 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
7149
7150 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * normal/menu_text.c (grub_print_message_indented): Prevent
7153 past-the-end-of-array dereference.
7154
7155 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
7158 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
7159
7160 2009-12-27 Carles Pina i Estany <carles@pina.cat>
7161
7162 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
7163 * normal/main.c (grub_normal_read_line): Remove a space from the
7164 default prompt.
7165
7166 2009-12-27 Carles Pina i Estany <carles@pina.cat>
7167
7168 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
7169 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7170 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
7171 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
7172 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7173 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7174 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7175
7176 2009-12-26 Carles Pina i Estany <carles@pina.cat>
7177
7178 * video/readers/jpeg.c (cmd): Declare.
7179 (grub_cmd_jpegtest): Use `grub_command_t' type.
7180 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7181 Assign to `cmd'.
7182 (GRUB_MOD_FINI): Use `cmd' to unregister.
7183 * video/readers/png.c (cmd): Declare.
7184 (grub_cmd_pngtest): Use `grub_command_t' type.
7185 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7186 Assign to `cmd'.
7187 (GRUB_MOD_FINI): Use `cmd' to unregister.
7188 * video/readers/tga.c (cmd): Declare.
7189 (grub_cmd_tgatest): Use `grub_command_t' type.
7190 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7191 Assign to `cmd'.
7192 (GRUB_MOD_FINI): Use `cmd' to unregister.
7193
7194 2009-12-26 Carles Pina i Estany <carles@pina.cat>
7195
7196 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
7197 stops.
7198 * kern/corecmd.c (grub_register_core_commands): Likewise.
7199 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
7200 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
7201 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
7202 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7203 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
7204 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
7205 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
7206 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
7207 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7208 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7209 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7210 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7211 * normal/handler.c (insert_handler): Likewise.
7212 * normal/main.c (GRUB_MOD_INIT): Likewise.
7213 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7214
7215 2009-12-26 Carles Pina i Estany <carles@pina.cat>
7216
7217 * commands/help.c (grub_cmd_help): Print the command name before the
7218 summary.
7219 (GRUB_MOD_INIT): Remove command name from the summary.
7220 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
7221 string as summary.
7222 * lib/arg.c (find_long): Print the command name before the summary.
7223 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
7224 summary.
7225 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
7226 * commands/cat.c (GRUB_MOD_INIT): Likewise.
7227 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
7228 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
7229 * commands/crc.c (GRUB_MOD_INIT): Likewise.
7230 * commands/date.c (GRUB_MOD_INIT): Likewise.
7231 * commands/echo.c (GRUB_MOD_INIT): Likewise.
7232 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
7233 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7234 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7235 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
7236 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
7237 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
7238 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
7239 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7240 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
7241 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
7242 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
7243 * commands/ls.c (GRUB_MOD_INIT): Likewise.
7244 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7245 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7246 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7247 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
7248 * commands/password.c (GRUB_MOD_INIT): Likewise.
7249 * commands/probe.c (GRUB_MOD_INIT): Likewise.
7250 * commands/read.c (GRUB_MOD_INIT): Likewise.
7251 * commands/search.c (GRUB_MOD_INIT): Likewise.
7252 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
7253 * commands/test.c (GRUB_MOD_INIT): Likewise.
7254 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
7255 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7256 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7257 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
7258 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7259 * lib/arg.c (GRUB_MOD_INIT): Likewise.
7260 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
7261 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
7262 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7263 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7264 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7265 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
7266 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
7267 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
7268
7269 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 Use search command for preliminar UUID search.
7272
7273 * commands/search.c: Split into ...
7274 * commands/search_wrap.c: ...this
7275 * commands/search.c: ...and this.
7276 * commands/search_file.c: New file.
7277 * commands/search_label.c: New file.
7278 * commands/search_uuid.c: New file.
7279 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
7280 Add commands/search_wrap.c, commands/search_file.c,
7281 commands/search_label.c and commands/search_uuid.c.
7282 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
7283 (search_mod_SOURCES): Set to commands/search_wrap.c.
7284 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
7285 search_label.mod.
7286 (search_fs_file_mod_SOURCES): New variable.
7287 (search_fs_file_mod_CFLAGS): Likewise.
7288 (search_fs_file_mod_LDFLAGS): Likewise.
7289 (search_label_mod_SOURCES): Likewise.
7290 (search_label_mod_CFLAGS): Likewise.
7291 (search_label_mod_LDFLAGS): Likewise.
7292 (search_fs_uuid_mod_SOURCES): New variable.
7293 (search_fs_uuid_mod_CFLAGS): Likewise.
7294 (search_fs_uuid_mod_LDFLAGS): Likewise.
7295 (fs_file_mod_SOURCES): Removed.
7296 (fs_file_mod_CFLAGS): Likewise.
7297 (fs_file_mod_LDFLAGS): Likewise.
7298 (fs_uuid_mod_SOURCES): Removed.
7299 (fs_uuid_mod_CFLAGS): Likewise.
7300 (fs_uuid_mod_LDFLAGS): Likewise.
7301 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
7302 Set to util/grub-install.in.
7303 * disk/fs_file.c: Removed.
7304 * disk/fs_uuid.c: Likewise.
7305 * include/grub/search.h: New file.
7306 * util/grub-install.in: Handle sparc64.
7307 Create and use load.cfg.
7308 * util/sparc64/ieee1275/grub-install.in: Removed.
7309
7310 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
7313 Ignore return status if CF is cleared.
7314 (grub_biosdisk_get_diskinfo_standard): Likewise.
7315
7316 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7317
7318 * term/i386/pc/at_keyboard.c
7319 (keyboard_controller_wait_untill_ready): New function.
7320 (grub_keyboard_controller_write, grub_keyboard_controller_read)
7321 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
7322 for keyboard polling, rather than duplicate the same loop. This
7323 saves a few bytes in code size.
7324
7325 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 Support for (pxe[:server[:gateway]]) syntax and
7328 use environment variable for PXE.
7329
7330 * commands/i386/pc/pxecmd.c (options): Removed.
7331 (print_ip): Removed.
7332 (grub_cmd_pxe): Removed
7333 (grub_cmd_pxe_unload): New function.
7334 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
7335 (grub_pxe_your_ip): Made static.
7336 (grub_pxe_default_server_ip): Likewise.
7337 (grub_pxe_default_gateway_ip): Likewise.
7338 (grub_pxe_blksize): Likewise.
7339 (parse_ip): New function.
7340 (grub_pxe_open): Support server and gateway specification.
7341 (grub_pxe_close): Free disk->data.
7342 (grub_pxefs_open): Use disk->data.
7343 (grub_pxefs_read): Likewise.
7344 (grub_env_write_readonly): New function.
7345 (set_mac_env): Likewise.
7346 (set_env_limn_ro): Likewise.
7347 (parse_dhcp_vendor): Likewise.
7348 (grub_pxe_detect): Set the environment variables.
7349 (set_ip_env): New function.
7350 (write_ip_env): Likewise.
7351 (grub_env_write_pxe_default_server): Likewise.
7352 (grub_env_write_pxe_default_gateway): Likewise.
7353 (grub_env_write_pxe_blocksize): Likewise.
7354 (GRUB_MOD_INIT(pxe)): Set environment variables.
7355 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
7356 (grub_pxe_mac_addr_t): ... this. All users updated.
7357 (grub_pxe_your_ip): Removed.
7358 (grub_pxe_server_ip): Likewise.
7359 (grub_pxe_gateway_ip): Likewise.
7360 (grub_pxe_blksize): Likewise.
7361
7362 2009-12-25 Carles Pina i Estany <carles@pina.cat>
7363
7364 * commands/help.c: Include `<grub/i18n.h>'.
7365 (grub_cmd_help): Gettextizze.
7366 (GRUB_MOD_INIT): Likewise.
7367 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
7368 (GRUB_MOD_INIT): Gettextizze.
7369 * commands/search.c: Include `<grub/i18n.h>'.
7370 (options): Gettextizze.
7371 (GRUB_MOD_INIT): Gettextizze.
7372 * lib/arg.c: Include `<grub/i18n.h>'.
7373 (help_options): Gettextizze.
7374 (find_long): Likewise.
7375 (grub_arg_show_help): Likewise.
7376 * normal/dyncmd.c: Include `<grub/i18n.h>'.
7377 (read_command_list): Gettextizze.
7378 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7379 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
7380
7381 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7382
7383 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
7384 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
7385 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
7386 (led_status): New variable.
7387 (keyboard_controller_led): New function.
7388 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
7389 update led status for caps lock, num lock and scroll lock.
7390
7391 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
7392
7393 * util/hostdisk.c (open_device): Fix a comment.
7394
7395 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 * util/grub-install.in (host_os): New variable.
7398 * util/i386/efi/grub-install.in (host_os): Likewise.
7399
7400 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7401
7402 * util/mkisofs/write.c (padblock_write): Abort when given an
7403 excedingly large embed image, instead of silently truncating it.
7404
7405 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7406
7407 * include/multiboot.h: Indentation fixes.
7408
7409 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7410
7411 * include/multiboot.h (struct multiboot_aout_symbol_table)
7412 (struct multiboot_elf_section_header_table): New structure
7413 declarations (stolen from GRUB Legacy).
7414 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
7415 table information.
7416
7417 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
7418 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
7419 type aliases.
7420
7421 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7422
7423 * include/multiboot.h: Make comments src2texi-friendly.
7424
7425 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7426
7427 For consistency with [multiboot]/docs/boot.S.
7428
7429 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7430 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7431 (MULTIBOOT_MAGIC2): Rename from this ...
7432 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7433
7434 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7435
7436 * include/multiboot.h: Remove `<grub/types.h>'.
7437 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7438 types. Update all users.
7439
7440 2009-12-25 Carles Pina i Estany <carles@pina.cat>
7441
7442 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7443 `couldn't' and `can not' by `cannot'.
7444 * commands/i386/pc/drivemap.c: Likewise.
7445 * disk/ata.c: Likewise.
7446 * disk/ieee1275/nand.c: Likewise.
7447 * fs/affs.c: Likewise.
7448 * fs/fat.c: Likewise.
7449 * fs/hfs.c: Likewise.
7450 * fs/hfsplus.c: Likewise.
7451 * fs/iso9660.c: Likewise.
7452 * fs/jfs.c: Likewise.
7453 * fs/minix.c: Likewise.
7454 * fs/reiserfs.c: Likewise.
7455 * fs/sfs.c: Likewise.
7456 * fs/udf.c: Likewise.
7457 * fs/ufs.c: Likewise.
7458 * fs/xfs.c: Likewise.
7459 * loader/powerpc/ieee1275/linux.c: Likewise.
7460 * loader/sparc64/ieee1275/linux.c: Likewise.
7461 * util/grub-probe.c: Likewise.
7462 * util/misc.c: Likewise.
7463
7464 2009-12-24 Carles Pina i Estany <carles@pina.cat>
7465
7466 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7467 grub_errno calls.
7468 * commands/acpi.c: Likewise.
7469 * commands/blocklist.c: Likewise.
7470 * commands/efi/loadbios.c: Likewise.
7471 * commands/i386/pc/drivemap.c: Likewise.
7472 * commands/loadenv.c: Likewise.
7473 * commands/memrw.c: Likewise.
7474 * commands/password.c: Likewise.
7475 * commands/videotest.c: Likewise.
7476 * disk/ata.c: Likewise.
7477 * disk/ata_pthru.c: Likewise.
7478 * disk/dmraid_nvidia.c: Likewise.
7479 * disk/ieee1275/nand.c: Likewise.
7480 * disk/ieee1275/ofdisk.c: Likewise.
7481 * disk/loopback.c: Likewise.
7482 * disk/lvm.c: Likewise.
7483 * disk/mdraid_linux.c: Likewise.
7484 * disk/raid.c: Likewise.
7485 * disk/raid6_recover.c: Likewise.
7486 * disk/scsi.c: Likewise.
7487 * efiemu/main.c: Likewise.
7488 * efiemu/mm.c: Likewise.
7489 * efiemu/pnvram.c: Likewise.
7490 * efiemu/symbols.c: Likewise.
7491 * font/font.c: Likewise.
7492 * fs/cpio.c: Likewise.
7493 * fs/hfsplus.c: Likewise.
7494 * fs/iso9660.c: Likewise.
7495 * fs/jfs.c: Likewise.
7496 * fs/minix.c: Likewise.
7497 * fs/ntfs.c: Likewise.
7498 * fs/ntfscomp.c: Likewise.
7499 * fs/reiserfs.c: Likewise.
7500 * fs/ufs.c: Likewise.
7501 * fs/xfs.c: Likewise.
7502 * gettext/gettext.c: Likewise.
7503 * include/grub/auth.h: Likewise.
7504 * kern/elf.c: Likewise.
7505 * kern/file.c: Likewise.
7506 * kern/ieee1275/init.c: Likewise.
7507 * kern/ieee1275/mmap.c: Likewise.
7508 * kern/ieee1275/openfw.c: Likewise.
7509 * kern/powerpc/dl.c: Likewise.
7510 * kern/sparc64/dl.c: Likewise.
7511 * lib/arg.c: Likewise.
7512 * loader/i386/bsd.c: Likewise.
7513 * loader/i386/bsdXX.c: Likewise.
7514 * loader/i386/efi/linux.c: Likewise.
7515 * loader/i386/efi/xnu.c: Likewise.
7516 * loader/i386/ieee1275/linux.c: Likewise.
7517 * loader/i386/linux.c: Likewise.
7518 * loader/i386/multiboot.c: Likewise.
7519 * loader/i386/pc/linux.c: Likewise.
7520 * loader/i386/pc/multiboot2.c: Likewise.
7521 * loader/i386/xnu.c: Likewise.
7522 * loader/ieee1275/multiboot2.c: Likewise.
7523 * loader/macho.c: Likewise.
7524 * loader/machoXX.c: Likewise.
7525 * loader/multiboot2.c: Likewise.
7526 * loader/multiboot_loader.c: Likewise.
7527 * loader/powerpc/ieee1275/linux.c: Likewise.
7528 * loader/sparc64/ieee1275/linux.c: Likewise.
7529 * loader/xnu.c: Likewise.
7530 * loader/xnu_resume.c: Likewise.
7531 * mmap/i386/pc/mmap.c: Likewise.
7532 * normal/menu_viewer.c: Likewise.
7533 * partmap/acorn.c: Likewise.
7534 * partmap/amiga.c: Likewise.
7535 * partmap/apple.c: Likewise.
7536 * script/lexer.c: Likewise.
7537 * term/gfxterm.c: Likewise.
7538 * term/i386/pc/serial.c: Likewise.
7539 * term/i386/pc/vga.c: Likewise.
7540 * term/ieee1275/ofconsole.c: Likewise.
7541 * term/terminfo.c: Likewise.
7542 * video/bitmap.c: Likewise.
7543 * video/efi_gop.c: Likewise.
7544 * video/efi_uga.c: Likewise.
7545 * video/fb/video_fb.c: Likewise.
7546 * video/i386/pc/vbe.c: Likewise.
7547 * video/readers/tga.c: Likewise.
7548 * video/video.c: Likewise.
7549
7550 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
7551
7552 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
7553 * commands/lspci.c: Likewise.
7554 * commands/probe.c: Likewise.
7555 * commands/xnu_uuid.c: Likewise.
7556 * conf/i386-coreboot.rmk: Likewise.
7557 * conf/i386-efi.rmk: Likewise.
7558 * conf/i386-ieee1275.rmk: Likewise.
7559 * conf/i386-pc.rmk: Likewise.
7560 * conf/powerpc-ieee1275.rmk: Likewise.
7561 * conf/sparc64-ieee1275.rmk: Likewise.
7562 * conf/x86_64-efi.rmk: Likewise.
7563 * fs/i386/pc/pxe.c: Likewise.
7564 * gettext/gettext.c: Likewise.
7565 * include/grub/efi/graphics_output.h: Likewise.
7566 * include/grub/i386/pc/memory.h: Likewise.
7567 * kern/env.c: Likewise.
7568 * kern/i386/qemu/startup.S: Likewise.
7569 * lib/i386/pc/biosnum.c: Likewise.
7570 * lib/i386/relocator.c: Likewise.
7571 * lib/i386/relocator_asm.S: Likewise.
7572 * lib/relocator.c: Likewise.
7573 * loader/i386/bsd.c: Likewise.
7574 * loader/i386/multiboot.c: Likewise.
7575 * loader/i386/pc/chainloader.c: Likewise.
7576 * loader/i386/xnu.c: Likewise.
7577 * loader/xnu.c: Likewise.
7578 * normal/main.c: Likewise.
7579 * normal/menu_text.c: Likewise.
7580 * util/getroot.c: Likewise.
7581 * util/grub-mkconfig_lib.in: Likewise.
7582 * util/grub.d/00_header.in: Likewise.
7583 * util/i386/pc/grub-mkimage.c: Likewise.
7584 * util/mkisofs/eltorito.c: Likewise.
7585 * util/mkisofs/exclude.h: Likewise.
7586 * util/mkisofs/hash.c: Likewise.
7587 * util/mkisofs/iso9660.h: Likewise.
7588 * util/mkisofs/joliet.c: Likewise.
7589 * util/mkisofs/mkisofs.c: Likewise.
7590 * util/mkisofs/mkisofs.h: Likewise.
7591 * util/mkisofs/multi.c: Likewise.
7592 * util/mkisofs/name.c: Likewise.
7593 * util/mkisofs/rock.c: Likewise.
7594 * util/mkisofs/tree.c: Likewise.
7595 * util/mkisofs/write.c: Likewise.
7596 * video/efi_gop.c: Likewise.
7597
7598 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
7601 size counting.
7602
7603 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
7604
7605 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
7606 * genmk.rb (class SCRIPT): Modify the target file instead of source.
7607
7608 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
7611 (GRUB_MOD_INIT(memrw)): Update help line.
7612
7613 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
7616 Use grub_extcmd_t. All users updated.
7617 (options): New variable.
7618 (grub_cmd_read): Restructure for readability. Support "-v" option.
7619 (grub_cmd_write): Restructure for readability.
7620
7621 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
7622
7623 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
7624
7625 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
7626
7627 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
7628 with the actual contents of the correspondending make variable.
7629 * util/grub-mkrescue.in (pkglib_DATA): New variable.
7630 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
7631 specifying `*.lst' and `efiemu??.o'
7632
7633 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
7634
7635 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
7636 after function name.
7637 Noticed by Rene Engelhard <rene@debian.org>.
7638
7639 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
7642 (options): New variable.
7643 (iospace): Likewise.
7644 (grub_lspci_iter): List IO spaces if "-i" was given.
7645 (grub_cmd_lspci): Parse options.
7646 (GRUB_MOD_INIT(lspci)): Use extcmd.
7647 (GRUB_MOD_FINI(lspci)): Likewise.
7648
7649 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
7650
7651 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
7652 `function' keyword.
7653 Patch by Tony Mancill <tmancill@debian.org>.
7654
7655 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
7658 (grub_uhci_portstatus): Likewise.
7659 (grub_uhci_portstatus): Add necessary delay.
7660 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
7661
7662 2009-12-21 Carles Pina i Estany <carles@pina.cat>
7663
7664 * commands/acpi.c (options): Fix capitalizations and/or full stops.
7665 (GRUB_MOD_INIT): Likewise.
7666 * commands/boot.c (GRUB_MOD_INIT): Likewise.
7667 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
7668 * commands/echo.c (options): Fix capitalizations and/or full stops.
7669 * commands/efi/loadbios.c (enable_rom_area): Likewise.
7670 (enable_rom_area): Likewise.
7671 (GRUB_MOD_INIT): Likewise.
7672 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7673 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
7674 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7675 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
7676 * commands/hexdump.c (options): Likewise.
7677 * commands/i386/cpuid.c (options): Likewise.
7678 (GRUB_MOD_INIT): Likewise.
7679 * commands/i386/pc/drivemap.c (options): Likewise.
7680 (GRUB_MOD_INIT): Likewise.
7681 * commands/i386/pc/halt (options): Likewise.
7682 (GRUB_MOD_INIT): Likewise.
7683 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7684 * commands/i386/pc/pxecmd.c (options): Likewise.
7685 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
7686 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
7687 * commands/keystatus.c (options): Likewise.
7688 (GRUB_MOD_INIT): Likewise.
7689 * commands/loadenv.c (options): Likewise.
7690 * commands/ls.c (options): Likewise.
7691 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7692 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7693 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7694 * commands/parttool.c (helpmsg): Likewise.
7695 * commands/probe.c (options): Likewise.
7696 * commands/read.c (GRUB_MOD_INIT): Likewise.
7697 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
7698 * commands/search.c (options): Likewise.
7699 * commands/sleep.c (options): Likewise.
7700 * commands/test.c (GRUB_MOD_INIT): Likewise.
7701 * commands/true.c (GRUB_MOD_INIT): Likewise.
7702 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
7703 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
7704 * lib/arg.c (help_options): Likewise.
7705 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
7706 `$(XGETTEXT)'.
7707 * po/POTFILES: Add `commands/loadenv.c'.
7708
7709 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
7710
7711 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
7712 instead of specifying them explicit.
7713
7714 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7715
7716 * NEWS: Add grub-probe support for GNU/Hurd.
7717
7718 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7719
7720 * NEWS: gettext was added after 1.97.
7721
7722 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7723
7724 * util/mkisofs/msdos_partition.h: New file (based on
7725 include/grub/msdos_partition.h).
7726 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
7727 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
7728 (ld_options, main): Recognize --protective-msdos-label.
7729 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
7730 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
7731 (padblock_write): If `use_protective_msdos_label' is set, patch a
7732 protective DOS-style label in the output image.
7733
7734 * util/grub-mkrescue.in: Use --protective-msdos-label.
7735
7736 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7737
7738 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
7739 boot.
7740
7741 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7742
7743 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
7744 variables.
7745 (ld_options, main): Recognize `--embedded-boot'.
7746 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
7747 declarations.
7748 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
7749 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
7750 (padblock_write): Likewise. Rewrite to support embedded boot image.
7751
7752 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
7753 for BIOS-based disk boot instead of only ElTorito.
7754
7755 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7756
7757 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
7758 build (not needed for bootstrap).
7759
7760 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7761
7762 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
7763 from i386-pc build (not needed for bootstrap).
7764 Rewrite a pair of strings.
7765
7766 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
7767
7768 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
7769
7770 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
7773
7774 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7775
7776 * kern/env.c (grub_env_context_open): Mark exported variable for
7777 reexport.
7778
7779 2009-12-21 Andreas Born <futur.andy@googlemail.com>
7780
7781 * kern/env.c (grub_env_export): Create nonexistent variables before
7782 exporting.
7783
7784 2009-12-20 Carles Pina i Estany <carles@pina.cat>
7785
7786 * include/grub/auth.h: Include `<grub/i18n.h>'.
7787 (GRUB_GET_PASSWORD): Gettextizze string.
7788 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
7789 menu_text.c.
7790 (grub_utf8_to_ucs4_alloc): Fix indentation.
7791 (grub_print_ucs4): Likewise.
7792 (grub_getstringwidth): Likewise.
7793 (print_message_indented): New declaration.
7794 * normal/auth.c: Include `<grub/i18n.h>'.
7795 (grub_auth_check_authentication): Gettexttize string.
7796 * normal/cmdline.c: Include `<grub/i18n.h>'.
7797 (grub_cmdline_get): Gettextizze.
7798 * normal/color.c: Include `<grub/i18n.h>'.
7799 (grub_parse_color_name_pair): Gettexttize strings.
7800 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
7801 string (use `print_message_indented').
7802 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
7803 `include/grub/normal.h'.
7804 (print_message_indented): Renamed to ...
7805 (grub_print_message_indented): ... this. Remove `static' qualifer (now
7806 used in normal/main.c).
7807 (print_message): Use `grub_print_message_indented' instead of
7808 `print_message_indented'.
7809 (print_timeout): Likewise.
7810 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
7811 (grub_normal_print_device_info): Gettexttize strings.
7812 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
7813
7814 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
7817 of arguments. Return number of tokens and not arguments. All users
7818 updated.
7819
7820 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
7823 non-MSDOS paritions.
7824
7825 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * include/grub/types.h (UNUSED): Removed since it conflicts with
7828 NetBSD headers. All users changed to direct __attribute__ ((unused)).
7829 Reported by Grégoire Sutre.
7830
7831 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7832
7833 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
7834 (grub_print_ucs4_alloc): Likewise.
7835 (grub_getstringwidth): Likewise.
7836 * normal/main.c (grub_normal_init_page): Gettextize version string.
7837 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
7838 (getstringwidth): Renamed to ...
7839 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
7840 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
7841 (grub_print_ucs4): Remove `static' qualifer (now used in
7842 normal/main.c).
7843 * po/POTFILES: Add normal/main.c.
7844
7845 2009-12-19 Carles Pina i Estany <carles@pina.cat>
7846
7847 * normal/menu_text.c (STANDARD_MARGIN): New macro.
7848 (print_message_indented): Add `margin_left' and `margin_right'
7849 parameters.
7850 (print_message): Update `print_message_indented' calls. Adds '\n' to the
7851 strings.
7852 (print_timeout): Use `print_message_indented' to print the message.
7853 Deletes `second_stage' parameter.
7854 (run_menu): Update `print_timeout' calls.
7855
7856 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Fix console palette on OpenFirmware.
7859
7860 * term/ieee1275/ofconsole.c (MAX): Removed.
7861 (colors): Redone based on VGA palette.
7862 (grub_ofconsole_setcolor): Discard brightness bit since only 8
7863 colors are supported.
7864 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
7865
7866 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 Fix potential EfiEmu double prepare.
7869
7870 * efiemu/main.c (prepared): New variable
7871 (grub_efiemu_unload): Set prepare to '0'.
7872 (grub_efiemu_prepare): Return if already prepared. Set prepared.
7873
7874 set_virtual_address_map support.
7875
7876 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
7877 prototype.
7878 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
7879 prototype.
7880 (grub_efiemu_crc32): Likewise.
7881 (grub_efiemu_crc64): Likewise.
7882 (grub_efiemu_set_virtual_address_map): Likewise.
7883 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
7884 New definition.
7885 (grub_autoefi_set_virtual_address_map): Likewise.
7886 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
7887 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
7888 Restructure flow to accomodate it.
7889 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
7890 (grub_efiemu_crc): Recompute CRC32.
7891 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
7892 (efiemu_ptv_relocated): ... this. Made global. All users updated.
7893 * efiemu/symbols.c (relocated_handle): New variable.
7894 (grub_efiemu_free_syms): Free relocated_handle.
7895 (grub_efiemu_alloc_syms): Allocate relocated_handle.
7896 (grub_efiemu_write_sym_markers): New function.
7897 (grub_efiemu_set_virtual_address_map): Likewise.
7898
7899 Newer XNU parameters.
7900
7901 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
7902 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
7903 (grub_xnu_fill_devicetree): New prototype.
7904 (grub_xnu_heap_real_start): New variable.
7905 * loader/xnu.c (get_name_ptr): New function.
7906 (grub_xnu_load_driver): Fill namelen and name.
7907
7908 64-bit xnu support.
7909
7910 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
7911 and 'loader/macho64.c'.
7912 * conf/i386-pc.rmk: Likewise.
7913 * conf/x86_64-efi.rmk: Likewise.
7914 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
7915 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
7916 * include/grub/macho.h (grub_macho_segment64): New structure.
7917 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
7918 (grub_macho_size32): ... to this.
7919 (grub_macho32_get_entry_point): Renamed from ...
7920 (grub_macho_get_entry_point32): ... to this.
7921 (grub_macho_contains_macho64): New prototype.
7922 (grub_macho_size64): Likewise.
7923 (grub_macho_get_entry_point64): Likewise.
7924 (grub_macho32_load): Renamed from ...
7925 (grub_macho_load32): ... to this.
7926 (grub_macho32_filesize): Renamed from ...
7927 (grub_macho_filesize32): ... to this.
7928 (grub_macho32_readfile): Renamed from ...
7929 (grub_macho_readfile32): ... to this.
7930 (grub_macho_filesize64): New prototype.
7931 (grub_macho_readfile64): Likewise.
7932 (grub_macho_parse32): Likewise.
7933 (grub_macho_parse64): Likewise.
7934 * loader/macho.c: Split into ...
7935 * loader/machoXX.c: ... and this. Replace 32 with XX.
7936 * loader/macho32.c: New file.
7937 * loader/macho64.c: Likewise.
7938 * loader/xnu.c (grub_xnu_is_64bit): New variable.
7939 (grub_cmd_xnu_kernel): Make 32-bit only.
7940 (grub_cmd_xnu_kernel64): New function.
7941 (grub_xnu_load_driver): Support Mach-O 64.
7942 (grub_cmd_xnu_mkext): Likewise.
7943 * util/grub.d/30_os-prober.in (osx_entry): New function.
7944 Generate entries for 64-bit boot too.
7945
7946 Eliminate ad-hoc tree format in XNU and EfiEmu.
7947
7948 * efiemu/main.c (grub_efiemu_prepare): Update comment.
7949 * efiemu/pnvram.c: Rewritten to use environment variables.
7950 All users updated.
7951
7952 Inline utf16_to_utf8.
7953
7954 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
7955 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
7956 All users updated.
7957 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
7958
7959 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
7960 * commands/usbtest.c (grub_usb_get_string): ... move here.
7961 (usb_print_str): Fix error handling.
7962 * include/grub/usb.h (grub_usb_get_string): Remove.
7963
7964 UTF-8 to UTF-16 transformation.
7965
7966 * conf/common.rmk (pkglib_MODULES): Add charset.mod
7967 (charset_mod_SOURCES): New variable.
7968 (charset_mod_CFLAGS): Likewise.
7969 (charset_mod_LDFLAGS): Likewise.
7970 * include/grub/utf.h: New file.
7971 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
7972
7973 Support for device properties.
7974
7975 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
7976 (grub_xnu_devprop_device_header): Likewise.
7977 (grub_xnu_devprop_device_descriptor): Likewise.
7978 (grub_xnu_devprop_add_device): New prototype.
7979 (grub_xnu_devprop_remove_device): Likewise.
7980 (grub_xnu_devprop_remove_property): Likewise.
7981 (grub_xnu_devprop_add_property_utf8): Likewise.
7982 (grub_xnu_devprop_add_property_utf16): Likewise.
7983 (grub_cpu_xnu_init): Likewise.
7984 (grub_cpu_xnu_fini): Likewise.
7985 (grub_cpu_xnu_unload): Likewise.
7986 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
7987 (property_descriptor): Likewise.
7988 (devices): New variable.
7989 (grub_xnu_devprop_remove_property): New function.
7990 (grub_xnu_devprop_add_device): Likewise.
7991 (grub_xnu_devprop_remove_device): Likewise.
7992 (grub_xnu_devprop_add_property): Likewise.
7993 (grub_xnu_devprop_add_property_utf8): Likewise.
7994 (grub_xnu_devprop_add_property_utf16): Likewise.
7995 (hextoval): Likewise.
7996 (grub_cpu_xnu_fill_devprop): Likewise.
7997 (grub_cmd_devprop_load): Likewise.
7998 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
7999 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
8000 (cmd_devprop_load): New variable.
8001 (grub_cpu_xnu_init): New function.
8002 (grub_cpu_xnu_fini): Likewise.
8003 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
8004 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
8005 (grub_cmd_xnu_devtree): Likewise.
8006 (hextoval): New function.
8007 (unescape): Likewise.
8008 (grub_xnu_fill_devicetree): Likewise.
8009
8010 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
8011 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
8012
8013 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 Workaround for broken ATI VBE.
8016
8017 * video/i386/pc/vbe.c (last_set_mode): New variable.
8018 (grub_vbe_set_video_mode): Set 'last_set_mode'.
8019 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
8020 (grub_video_vbe_setup): Don't check for reserved flag.
8021
8022 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
8023
8024 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
8025 the `find' command.
8026
8027 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 UUID support for HFS.
8030
8031 * fs/hfs.c (grub_hfs_uuid): New function.
8032 (grub_hfs_fs): New value .uuid.
8033 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
8034
8035 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
8036
8037 Fix a segfault with parsing unknown long options.
8038
8039 * util/grub-mkrelpath.c (options): Zero terminate it.
8040
8041 2009-12-13 Carles Pina i Estany <carles@pina.cat>
8042
8043 * include/grub/misc.h (grub_puts): New declaration.
8044 (grub_puts_): Likewise.
8045 * kern/misc.c (grub_puts): New definition.
8046 (grub_puts_): Likewise.
8047
8048 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
8049
8050 * util/grub-probe.c (probe): Improve error message.
8051
8052 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
8053
8054 * loader/i386/multiboot_elfxx.c
8055 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
8056 initialization.
8057
8058 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 Relocator framework
8061
8062 * loader/i386/xnu_helper.S: Removed. All users updated.
8063 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
8064 (relocator_mod_SOURCES): New variable.
8065 (relocator_mod_CFLAGS): Likewise.
8066 (relocator_mod_LDFLAGS): Likewise.
8067 (relocator_mod_ASFLAGS): Likewise.
8068 * conf/x86_64.rmk: Likewise.
8069 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
8070 (grub_multiboot_payload_entry_offset): Likewise.
8071 (grub_multiboot_forward_relocator): Likewise.
8072 (grub_multiboot_forward_relocator_end): Likewise.
8073 (grub_multiboot_backward_relocator): Likewise.
8074 (grub_multiboot_backward_relocator_end): Likewise.
8075 (grub_multiboot_payload_eip): New variable.
8076 (grub_multiboot_payload_orig): Likewise.
8077 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
8078 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
8079 * include/grub/i386/memory.h
8080 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
8081 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
8082 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
8083 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
8084 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
8085 * include/grub/i386/relocator.h: New file.
8086 * include/grub/x86_64/relocator.h: Likewise.
8087 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
8088 (XNU_RELOCATOR): New macro.
8089 (grub_xnu_launcher_start): Remove.
8090 (grub_xnu_launcher_end): Likewise.
8091 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
8092 (grub_xnu_heap_real_start): Remove.
8093 (grub_xnu_heap_start): Change to void *. All users updated.
8094 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
8095 * lib/i386/relocator.c: New file.
8096 * lib/i386/relocator_asm.S: Likewise.
8097 * lib/i386/relocator_backward.S: Likewise.
8098 * lib/mips/relocator.c: Likewise.
8099 * lib/mips/relocator_asm.S: Likewise.
8100 * lib/relocator.c: Likewise.
8101 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
8102 (entry): Removed.
8103 (playground): Likewise.
8104 (grub_multiboot_payload_orig): New variable.
8105 (grub_multiboot_payload_dest): Likewise.
8106 (grub_multiboot_payload_size): Likewise.
8107 (grub_multiboot_payload_eip): Likewise.
8108 (grub_multiboot_payload_esp): Likewise.
8109 (grub_multiboot_boot): Use grub_relocator32_boot.
8110 (grub_multiboot_unload): Free relocators.
8111 (grub_multiboot): Setup stack. Use relocators.
8112 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
8113 (grub_multiboot_load_elfXX): Use relocators.
8114 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
8115 (grub_multiboot_payload_size): Likewise.
8116 (grub_multiboot_payload_dest): Likewise.
8117 (grub_multiboot_payload_entry_offset): Likewise.
8118 (grub_multiboot_forward_relocator): Likewise.
8119 (grub_multiboot_backward_relocator): Likewise.
8120 (grub_multiboot_real_boot): Likewise.
8121 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
8122 (grub_xnu_entry_point): Likewise.
8123 (grub_xnu_arg1): Likewise.
8124 (grub_xnu_stack): Likewise.
8125 (grub_xnu_launch): Removed.
8126 (grub_xnu_boot_resume): New function.
8127 (grub_xnu_boot): Use relocators.
8128 * loader/i386/xnu_helper.S: Removed.
8129 * loader/xnu.c (grub_xnu_heap_start): New variable.
8130 (grub_xnu_heap_size): Likewise.
8131 (grub_xnu_heap_malloc): Use relocators.
8132 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
8133
8134 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
8137 anything.
8138
8139 2009-12-13 Carles Pina i Estany <carles@pina.cat>
8140
8141 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
8142 GRUB_ERR_NONE before calling grub_env_set.
8143
8144 2009-12-12 Robert Millan <rmh@aybabtu.com>
8145
8146 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
8147 * genmk.rb (video): New variable.
8148 (CLEANFILES, VIDEOFILES): Add #{video}.
8149 (#{video}): New target rule.
8150 * genvideolist.sh: New file.
8151 * Makefile.in (pkglib_DATA): Add video.lst.
8152 (video.lst): New target rule.
8153 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
8154 `video.lst'.
8155 * util/grub.d/30_os-prober.in: Replace `vbe' with
8156 ${GRUB_VIDEO_BACKEND}.
8157
8158 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
8159
8160 * THANKS: Add David Miller.
8161
8162 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 libpciaccess support.
8165
8166 * Makefile.in (LIBPCIACCESS): New variable.
8167 (enable_grub_emu_pci): Likewise.
8168 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
8169 util/pci.c and commands/lspci.c.
8170 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
8171 * configure.ac (grub-emu-pci): New option.
8172 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
8173 (grub_pci_device_unmap_range): Likewise.
8174 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
8175 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
8176 (grub_pci_address_t) [!GRUB_UTIL]: New type.
8177 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
8178 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
8179 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
8180 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
8181 * include/grub/pciutils.h: New file.
8182 * util/pci.c: Likewise.
8183
8184 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
8185
8186 * util/misc.c: Don't include <errno.h> twice.
8187
8188 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
8189
8190 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
8191 name in an error message.
8192 (grub_biosdisk_rw): Likewise.
8193
8194 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 Eliminate NTFS 4Gib barrier.
8197
8198 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
8199 (read_run_data): Likewise.
8200 (grub_ntfs_read_run_list): Likewise.
8201 (grub_ntfs_read_block): Likewise.
8202 (grub_ntfs_iterate_dir): Likewise.
8203 (read_mft): Likewise.
8204 (read_data): Likewise.
8205 Use COM_LOG_LEN.
8206 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
8207 to avoid 64-bit division
8208 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
8209 (grub_ntfs_rlst): Use grub_disk_addr_t.
8210
8211 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 Eliminate grub-fstest 4Gib barrier.
8214
8215 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
8216 (read_file): Fix error reporting.
8217
8218 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 Eliminate hexdump 4Gib barrier.
8221
8222 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
8223 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
8224
8225 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
8228 Fixes amarsh bug.
8229
8230 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
8231
8232 Remove miscellaneous files in distclean target.
8233
8234 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
8235
8236 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
8239 if they're already set. This resolves the conflict between my
8240 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
8241 fixing the --grub-probe option again.
8242 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
8243 change on 2009-10-06, so that we now once again source
8244 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8245
8246 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
8247
8248 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
8249 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
8250 `util/devicemap.c'.
8251
8252 2009-12-08 Carles Pina i Estany <carles@pina.cat>
8253
8254 * include/grub/misc.h (grub_printf_): New declaration.
8255 * kern/misc.c (grub_printf_): New definition.
8256 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
8257 instead of `grub_printf' and `_'.
8258 * normal/menu_entry.c (store_completion): Likewise.
8259 (run): Likewise.
8260 (grub_menu_entry_run): Likewise.
8261 * normal/menu_text.c (grub_wait_after_message): Likewise.
8262 (notify_booting): Likewise.
8263 (notify_fallback): Likewise.
8264 (notify_execution_failure): Likewise.
8265
8266 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
8267
8268 * configure.ac: Check for vasprintf.
8269 * util/misc.c (asprintf): Move allocation from here ...
8270 (vasprintf): ... to here. New function.
8271 (xasprintf): New function.
8272 * include/grub/util/misc.h (vasprintf, xasprintf): Add
8273 prototypes.
8274 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8275 * util/grub-mkfont.c (write_font): Likewise.
8276 * util/grub-probe.c (probe): Likewise.
8277 * util/hostdisk.c (make_device_name): Likewise.
8278
8279 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
8280
8281 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
8282 anything even prefixed with 'cdrom' as a cdrom.
8283
8284 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
8285
8286 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
8287 mount points.
8288
8289 2009-12-05 Carles Pina i Estany <carles@pina.cat>
8290
8291 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
8292 grub_gettext_msg_list.
8293 (grub_gettext_gettranslation_from_position): Return const char *
8294 and not char *.
8295 (grub_gettext_translate): Add the translated strings into a list,
8296 returns from the list if existing there.
8297 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
8298 (grub_gettext_delete_list): Delete the list.
8299 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
8300 lang environment variable is changed.
8301 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
8302
8303 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Rename kernel.mod to kernel.img.
8306
8307 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
8308 (kernel_mod_EXPORTS): Rename to ...
8309 (kernel_img_EXPORTS): ... this.
8310 (kernel_mod_SOURCES): Rename to ...
8311 (kernel_img_SOURCES): ... this.
8312 (kernel_mod_HEADERS): Rename to ...
8313 (kernel_img_HEADERS): ... this. All users updated.
8314 (kernel_mod_CFLAGS): Rename to ...
8315 (kernel_img_CFLAGS): ... this.
8316 (kernel_mod_ASFLAGS): Rename to ...
8317 (kernel_img_ASFLAGS): ... this.
8318 (kernel_mod_LDFLAGS): Rename to ...
8319 (kernel_img_LDFLAGS): ... this.
8320 * conf/x86_64-efi.rmk: Likewise.
8321 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
8322 (read_kernel_image): ... this. All users updated.
8323 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
8324
8325 2009-12-05 Carles Pina i Estany <carles@pina.cat>
8326
8327 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
8328 (print_spaces): New function.
8329 (grub_print_ucs4): New function.
8330 (getstringwidth): New function.
8331 (print_message_indented): New function.
8332 (print_message): Gettexttize strings using print_message_indented.
8333 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
8334 width.
8335 (get_entry_number): Gettextize and uses dynamic terminal width.
8336 (notify_booting, notify_fallback, notify_execution_failure):
8337 Gettextize.
8338 * normal/menu_entry.c (store_completion): Cleanup the gettextized
8339 string.
8340 (run): Likewise.
8341 (grub_menu_entry_run): Likewise.
8342 * PO/POTFILES: Add normal/menu_entry.c.
8343
8344 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
8347
8348 2009-12-05 Carles Pina i Estany <carles@pina.cat>
8349
8350 * util/grub-install.in: Install gettext .mo files.
8351 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
8352
8353 2009-12-05 Carles Pina i Estany <carles@pina.cat>
8354
8355 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
8356 grub_dprintf.
8357
8358 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
8359
8360 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
8361 non-firmware-dependant one in realmode.S takes precedence.
8362
8363 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
8364
8365 * commands/halt.c: Replace misc arch-specific headers with
8366 `<grub/misc.h>'.
8367 * commands/reboot.c: Likewise.
8368 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
8369 `<grub/misc.h>'.
8370 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
8371 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
8372 (kernel_img_SOURCES): ... to here.
8373
8374 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
8375 * include/grub/i386/pc/init.h: Likewise.
8376 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8377 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8378
8379 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
8380
8381 * include/grub/i386/halt.h: Remove.
8382 * include/grub/i386/reboot.h: Likewise.
8383
8384 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
8385
8386 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
8387
8388 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
8389 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
8390 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
8391 "progname.h"
8392 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8393 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8394 (usage): Add missing comma in printf.
8395
8396 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
8397
8398 Use the same reboot approach on i386 coreboot and qemu as we do on
8399 BIOS.
8400
8401 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
8402 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
8403 * kern/i386/reboot.c: Remove.
8404 * include/grub/i386/reboot.h (grub_reboot): Export function.
8405 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
8406 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
8407 0xf000:0xfff0 instead of 0xffff:0x0000.
8408 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
8409 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
8410
8411 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
8412
8413 Fix $srcdir != $objdir build.
8414
8415 * Makefile.in (po/%.po): Rewrite as ...
8416 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
8417
8418 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
8419
8420 Fix GNU/Hurd grub-install crash.
8421 * util/grub-probe.c (probe): Try to access `path' only when it is not
8422 NULL.
8423
8424 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 Correct module naming.
8427
8428 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8429 (GRUB_MOD_INIT(efi_uga)): ... to this
8430 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8431 (GRUB_MOD_FINI(efi_uga)): ... to this
8432 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8433 (GRUB_MOD_INIT(efi_gop)): ... to this
8434 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8435 (GRUB_MOD_FINI(efi_gop)): ... to this
8436
8437 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8438
8439 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8440 translatable.
8441 (usage): Translate `arg' strings using gettext().
8442 Thanks to Jordi Mallach for the suggestion.
8443
8444 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 GOP support. Based on patch from Bean
8447 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8448
8449 * video/efi_gop.c: New file.
8450 * include/grub/efi/graphics_output.h: Likewise.
8451 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8452 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8453 variables.
8454 * conf/x86_64-efi.rmk: Likewise.
8455
8456 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 Rename efi_fb to efi_uga.
8459
8460 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8461 'efi_uga.mod'.
8462 (efi_fb_mod_SOURCES): Rename this ...
8463 (efi_uga_mod_SOURCES): ... to this.
8464 (efi_fb_mod_CFLAGS): Rename this ...
8465 (efi_uga_mod_CFLAGS): ... to this.
8466 (efi_fb_mod_LDFLAGS): Rename this ...
8467 (efi_uga_mod_LDFLAGS): ... to this.
8468 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8469 'efi_uga.mod'.
8470 (efi_fb_mod_SOURCES): Rename this ...
8471 (efi_uga_mod_SOURCES): ... to this.
8472 (efi_fb_mod_CFLAGS): Rename this ...
8473 (efi_uga_mod_CFLAGS): ... to this.
8474 (efi_fb_mod_LDFLAGS): Rename this ...
8475 (efi_uga_mod_LDFLAGS): ... to this.
8476 * video/efi_fb.c: Move this ...
8477 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8478
8479 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8480
8481 * po/README: New file. Explain our PO file workflow.
8482
8483 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8484
8485 * po/ChangeLog: Remove. Move relevant entries back to ...
8486 * ChangeLog: ... here.
8487 * po/ca.po: Remove (now handled by TLP).
8488 * po/id.po: Likewise.
8489 * po/zh_CN.po: Likewise.
8490 * Makefile.in (LINGUAS): Initialize in a way that supports
8491 empty set.
8492
8493 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8494
8495 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8496 reliing on po/LINGUAS.
8497 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8498 (po/%.po): ... this.
8499
8500 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
8501
8502 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8503 (main): Use `program_name' instead of nonexistent `progname'.
8504
8505 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
8506
8507 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8508 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8509
8510 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8511
8512 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8513 commit.
8514 * conf/i386-efi.rmk: Likewise.
8515 * conf/i386-ieee1275.rmk: Likewise.
8516 * conf/powerpc-ieee1275.rmk: Likewise.
8517 * conf/sparc64-ieee1275.rmk: Likewise.
8518 * conf/x86_64-efi.rmk: Likewise.
8519
8520 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
8521
8522 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
8523
8524 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
8525
8526 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
8527
8528 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8529
8530 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
8531 (grub_mkdevicemap_SOURCES): New variable.
8532 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
8533 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
8534 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
8535 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
8536 (grub_mkdevicemap_SOURCES): Remove.
8537 * conf/i386-efi.rmk: Likewise.
8538 * conf/i386-ieee1275.rmk: Likewise.
8539 * conf/i386-pc.rmk: Likewise.
8540 * conf/powerpc-ieee1275.rmk: Likewise.
8541 * conf/sparc64-ieee1275.rmk: Likewise.
8542 * conf/x86_64-efi.rmk: Likewise.
8543 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
8544 (usage): Fix strings to use `program_name'.
8545 (main): Initialize gettext.
8546 * util/grub-editenv.c: Likewise.
8547 * util/grub-emu.c: Likewise.
8548 * util/grub-fstest.c: Likewise.
8549 * util/grub-mkdevicemap.c: Likewise.
8550 * util/grub-mkfont.c: Likewise.
8551 * util/grub-mkrelpath.c: Likewise.
8552 * util/grub-pe2elf.c: Likewise.
8553 * util/grub-probe.c: Likewise.
8554 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
8555 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8556 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8557
8558 * util/misc.c: Include `"progname.h"'.
8559 (progname): Remove variable.
8560 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
8561
8562 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
8563
8564 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
8565 printf and print a newline after the menuentry header line.
8566 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8567
8568 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
8569
8570 autoconf >= 2.60 support $(localedir).
8571
8572 * INSTALL: Note that autoconf 2.60 is required.
8573 * configure.ac (AC_PREREQ): Bump to 2.60.
8574 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
8575 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8576
8577 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
8578
8579 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
8580 aclocal is run.
8581
8582 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8583
8584 * normal/main.c (grub_normal_read_line): Fix off-by-one
8585 buffer overflow.
8586
8587 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
8588
8589 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
8590 "parser.grub" in grub_command_execute() call.
8591
8592 2009-11-24 Carles Pina i Estany <carles@pina.cat>
8593
8594 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
8595 * conf/i386-efi.rmk: Likewise.
8596 * conf/i386-ieee1275.rmk: Likewise.
8597 * conf/i386-pc.rmk: Likewise.
8598 * conf/powerpc-ieee1275.rmk: Likewise.
8599 * conf/sparc64-ieee1275.rmk: Likewise.
8600 * conf/x86_64-efi.rmk: Likewise.
8601 * gettext/gettex.c: Include <grub/i18n.h>.
8602 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
8603 here ...
8604 * include/grub/i18n.h: ... to here
8605 * include/grub/i18n.h: ... to here.
8606 * kern/misc.c: Include <grub/i18n.h>
8607 (grub_gettext_dummy): Move above user.
8608
8609 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8610
8611 * util/Makefile.in (install-local): Convert a `for' into a normal
8612 shell expansion.
8613
8614 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
8615
8616 * autogen.sh: Add automake call.
8617 * config.guess: Remove.
8618 * config.sub: Likewise.
8619 * install-sh: Likewise.
8620
8621 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8622
8623 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
8624
8625 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8626
8627 * util/Makefile.in (install-local): Convert a make `$(foreach)'
8628 function to a normal shell `for'.
8629
8630 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8631
8632 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8633
8634 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8635
8636 * util/grub-mkrelpath.c: New file.
8637 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
8638 (grub_mkrelpath_SOURCES): New variable.
8639 * include/grub/util/misc.h: New function prototype.
8640 * util/misc.c (make_system_path_relative_to_its_root): New function.
8641
8642 * util/grub-mkconfig_lib.in (bindir): New variable.
8643 (grub_mkrelpath): Likewise.
8644 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
8645
8646 * util/probe.c (probe): Make the file path relative to its root.
8647 Change a info message to use the GRUB path. Enable again the
8648 check if we can read the file with GRUB facilities.
8649
8650 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
8651 to its root.
8652
8653 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8654
8655 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
8656 platform.
8657
8658 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8659
8660 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
8661 strncmp().
8662
8663 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
8664
8665 * util/getroot.c (grub_util_is_dmraid): New function.
8666 (grub_util_get_dev_abstraction): Treat dmraid and multipath
8667 devices as normal ones, not as LVM.
8668
8669 2009-11-23 Carles Pina i Estany <carles@pina.cat>
8670
8671 * conf/common.rmk: Add grub-gettext_lib target and updates
8672 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
8673 LDFLAGS.
8674 * gettext/gettext.c: New file. (Reads mo files).
8675 * include/grub/file.h (grub_file_pread): New prototype.
8676 * include/grub/i18n.h (_): New prototype.
8677 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
8678 prototypes.
8679 * kern/misc.c (grub_gettext_dummy): New function.
8680 * normal/menu_text.c: Include <grub/i18n.h>.
8681 * normal/menu_text.c (print_timeout): Gettexttize string.
8682 * normal/menu_text.c (print_message): Gettexttize string.
8683 * po/POTFILES: Add `normal/menu_text.c'.
8684 * po/ca.po: Add new translations.
8685 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
8686 gettext module and defines locale_dir and lang in grub.cfg.
8687 * NEWS: Add gettext support.
8688
8689 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8690
8691 * util/hostdisk.c: Include `<grub/i18n.h>'.
8692 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
8693 (make_device_name): Rewrite using asprintf.
8694 (convert_system_partition_to_system_disk): Replace 0 with NULL.
8695 (find_system_device): If a device is not found, generate one just
8696 by reusing the OS path name.
8697 (read_device_map): Make it permissible for device.map not to exist.
8698
8699 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8700
8701 * script/sh/execute.c: Move from here ...
8702 * script/execute.c: ... to here. Update all users.
8703 * script/sh/function.c: Move from here ...
8704 * script/function.c: ... to here. Update all users.
8705 * script/sh/lexer.c: Move from here ...
8706 * script/lexer.c: ... to here. Update all users.
8707 * script/sh/main.c: Move from here ...
8708 * script/main.c: ... to here. Update all users.
8709 * script/sh/parser.y: Move from here ...
8710 * script/parser.y: ... to here. Update all users.
8711 * script/sh/script.c: Move from here ...
8712 * script/script.c: ... to here. Update all users.
8713
8714 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8715
8716 * configure.ac: Detect all `emu' platforms. Define
8717 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
8718 --enable-grub-emu logic. Disable include/grub/machine
8719 symlink on `emu' platforms.
8720
8721 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
8722 * gensymlist.sh.in: Likewise.
8723
8724 * include/grub/i386/coreboot/machine.h: Remove file.
8725 * include/grub/i386/efi/machine.h: Likewise.
8726 * include/grub/i386/ieee1275/machine.h: Likewise.
8727 * include/grub/i386/pc/machine.h: Likewise.
8728 * include/grub/i386/qemu/machine.h: Likewise.
8729 * include/grub/powerpc/ieee1275/machine.h: Likewise.
8730 * include/grub/sparc64/ieee1275/machine.h: Likewise.
8731 * include/grub/x86_64/efi/machine.h: Likewise.
8732
8733 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
8734 * commands/halt.c: Likewise.
8735 * commands/reboot.c: Likewise.
8736 * include/grub/autoefi.h: Likewise.
8737 * include/grub/i386/at_keyboard.h: Likewise.
8738 * include/grub/i386/kernel.h: Likewise.
8739 * include/grub/i386/loader.h: Likewise.
8740 * include/grub/i386/pc/memory.h: Likewise.
8741 * kern/dl.c: Likewise.
8742 * kern/i386/coreboot/init.c: Likewise.
8743 * loader/i386/bsd.c: Likewise.
8744 * loader/i386/linux.c: Likewise.
8745 * loader/multiboot_loader.c: Likewise.
8746 * term/i386/pc/serial.c: Likewise.
8747 * term/usb_keyboard.c: Likewise.
8748
8749 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
8750 `<grub/machine/machine.h>'
8751 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
8752 * util/misc.c: Remove `<grub/machine/machine.h>' and
8753 `<grub/machine/time.h>'.
8754
8755 * Makefile.in (enable_grub_emu): Remove variable.
8756 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
8757
8758 * conf/any-emu.rmk: New file.
8759 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
8760 (grub_emu_init.c): Move from here ...
8761 * conf/any-emu.rmk: ... to here.
8762
8763 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
8764 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
8765 * conf/any-emu.rmk: ... to here.
8766
8767 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8768
8769 * include/grub/parser.h (grub_parser_register): Document need
8770 of `name' parameter.
8771 * normal/main.c (grub_normal_read_line): Simplify prompt string.
8772 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
8773 "sh" to "grub".
8774
8775 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8776
8777 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
8778 `$(XGETTEXT)'.
8779 * include/grub/i18n.h (N_): New macro.
8780 * util/mkisofs/mkisofs.h: Likewise.
8781 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
8782 around N_().
8783 (usage): Use gettext() to translate help strings when printing them.
8784
8785 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
8786
8787 Based on patch from Bean
8788 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8789
8790 * video/efi_fb.c: New file.
8791 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
8792 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8793 variables.
8794 * conf/x86_64-efi.rmk: Likewise.
8795
8796 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
8797
8798 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
8799 * util/i386/pc/grub-setup.c: Likewise.
8800
8801 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8802
8803 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
8804 <hurd/fs.h>
8805 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
8806 file_get_storage_info to implement grub_guess_root_device.
8807
8808 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8809
8810 * Makefile.in (target): Use make's builtin $(shell) function
8811 instead of calling directly $(SHELL) to create the locale directories,
8812 inside the $(foreach) function.
8813
8814 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8815
8816 * util/grub-mkrescue.in: Print an error and usage if output option
8817 has not been given.
8818
8819 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
8820
8821 Patch from Loïc Minier <loic.minier@ubuntu.com>.
8822 * util/grub.d/30_os-prober.in: Cope with Linux entries where
8823 root and /boot are on different devices.
8824
8825 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8826
8827 Fix build for srcdir != objdir.
8828
8829 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
8830 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
8831 $(srcdir).
8832 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
8833 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
8834 reference for input.
8835
8836 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8837
8838 * util/grub-mkrescue.in: Use source directory direcly (without copiing
8839 or hardlinking it). Remove -J option, Joliet is not compatible with
8840 multiple source directories.
8841
8842 2009-11-21 Carles Pina i Estany <carles@pina.cat>
8843 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
8844
8845 * util/grub-mkrescue.in: Recognize `--override-directory' option.
8846 (process_input_dir): New function. Process an arbitrary input
8847 directory.
8848 Misc adjustments to support both "override mode" and system-wide mode.
8849
8850 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8851
8852 * configure.ac (UNIFONT_BDF): Rename to ...
8853 (FONT_SOURCE): ... this. Update all users.
8854
8855 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
8856
8857 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
8858 to the list of unifont files to look for.
8859
8860 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8861
8862 Patch from Joe Auricchio <jauricchio@gmail.com>
8863 * commands/minicmd.c (grub_mini_cmd_clear): New function.
8864 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
8865 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
8866
8867 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8868
8869 * Makefile.in (install-local): Add a missing backslash.
8870
8871 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
8872
8873 * include/grub/x86_64/io.h: New file.
8874
8875 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8876
8877 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
8878 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
8879 Include `"progname.h"'.
8880 (main): Initialize gettext.
8881 * util/i386/pc/grub-setup.c: Gettexttize.
8882 * util/i386/pc/grub-mkimage.c: Likewise.
8883
8884 * Makefile.in (po/*.po): Redefine as ...
8885 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
8886
8887 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
8888
8889 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
8890
8891 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
8892 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
8893 (program_name): Remove.
8894 (main): Initialize gettext support.
8895 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
8896 Include `<libintl.h>'.
8897 (_): New macro.
8898
8899 * util/mkisofs/eltorito.c: Gettexttize.
8900 * util/mkisofs/joliet.c: Likewise.
8901 * util/mkisofs/mkisofs.c: Likewise.
8902 * util/mkisofs/multi.c: Likewise.
8903 * util/mkisofs/rock.c: Likewise.
8904 * util/mkisofs/tree.c: Likewise.
8905 * util/mkisofs/write.c: Likewise.
8906
8907 * po/POTFILES: Update with new files.
8908
8909 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8910
8911 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
8912 * util/mkisofs/iso9660.h: Likewise.
8913 * util/mkisofs/joliet.c: Likewise.
8914 * util/mkisofs/mkisofs.c: Likewise.
8915 * util/mkisofs/mkisofs.h: Likewise.
8916 * util/mkisofs/rock.c: Likewise.
8917 * util/mkisofs/tree.c: Likewise.
8918 * util/mkisofs/write.c: Likewise.
8919
8920 * util/mkisofs/eltorito.c (rcsid): Remove.
8921 * util/mkisofs/hash.c: Likewise.
8922 * util/mkisofs/joliet.c: Likewise.
8923 * util/mkisofs/name.c: Likewise.
8924 * util/mkisofs/rock.c: Likewise.
8925 * util/mkisofs/tree.c: Likewise.
8926 * util/mkisofs/write.c: Likewise.
8927
8928 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8929
8930 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
8931 instead of static allocation.
8932 * util/mkisofs/match.h: Likewise.
8933
8934 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8935
8936 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
8937 and `util/grub.d/10_linux.in'.
8938 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
8939 translatable Shell files.
8940
8941 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
8942
8943 * Makefile.in ($(srcdir)/aclocal.m4): New target.
8944
8945 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8946
8947 * INSTALL: Document Automake is needed for bootstrap.
8948 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
8949 * util/grub.d/10_kfreebsd.in (bindir): New variable.
8950 Add gettext initialization.
8951 (kfreebsd_entry): Make menuentry output translatable.
8952
8953 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8954
8955 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
8956 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
8957 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
8958 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
8959 (LINGUAS): Auto-generate using `po/LINGUAS'.
8960 * po/LINGUAS: New file.
8961
8962 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8963
8964 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
8965 other things).
8966 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
8967 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
8968 bindtextdomain() calls for gettext initialization.
8969
8970 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8971
8972 * gnulib/progname.c: New file (imported from Gnulib).
8973 * gnulib/progname.h: Likewise.
8974 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8975 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
8976 (usage): Replace `progname' with `program_name'.
8977 (main): Use set_program_name() for program name initialization.
8978
8979 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
8980
8981 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
8982 from here ...
8983 * Makefile.in (CPPFLAGS): ... to here.
8984
8985 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8986
8987 * aclocal.m4: Move from here ...
8988 * acinclude.m4: ... to here.
8989 * autogen.sh: Add call to `aclocal'.
8990 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
8991
8992 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
8993
8994 * Makefile.in (CLEANFILES): Add `po/*.mo'.
8995 (LINGUAS): New variable.
8996 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
8997 (install-local): Install MO files.
8998 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
8999 * include/grub/i18n.h: New file.
9000 * po/POTFILES: New file.
9001 * po/ca.po: New file.
9002 * util/grub.d/10_linux.in (bindir): New variable.
9003 Add gettext initialization.
9004 (linux_entry): Make menuentry output translatable.
9005 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
9006 (usage): Make --help output translatable.
9007 (main): Initialize gettext.
9008
9009 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9010
9011 * import_gcry.py: New file (written by Vladimir with minor
9012 adjustments).
9013 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
9014 ciphers.
9015 * INSTALL: Document that Python is required for bootstrap.
9016
9017 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9018
9019 Import ciphers from libgcrypt 1.4.4.
9020
9021 * lib/libgcrypt/cipher/ChangeLog
9022 * lib/libgcrypt/cipher/ac.c
9023 * lib/libgcrypt/cipher/arcfour.c
9024 * lib/libgcrypt/cipher/bithelp.h
9025 * lib/libgcrypt/cipher/blowfish.c
9026 * lib/libgcrypt/cipher/camellia-glue.c
9027 * lib/libgcrypt/cipher/camellia.c
9028 * lib/libgcrypt/cipher/camellia.h
9029 * lib/libgcrypt/cipher/cast5.c
9030 * lib/libgcrypt/cipher/cipher.c
9031 * lib/libgcrypt/cipher/crc.c
9032 * lib/libgcrypt/cipher/des.c
9033 * lib/libgcrypt/cipher/dsa.c
9034 * lib/libgcrypt/cipher/ecc.c
9035 * lib/libgcrypt/cipher/elgamal.c
9036 * lib/libgcrypt/cipher/hash-common.c
9037 * lib/libgcrypt/cipher/hash-common.h
9038 * lib/libgcrypt/cipher/hmac-tests.c
9039 * lib/libgcrypt/cipher/md.c
9040 * lib/libgcrypt/cipher/md4.c
9041 * lib/libgcrypt/cipher/md5.c
9042 * lib/libgcrypt/cipher/primegen.c
9043 * lib/libgcrypt/cipher/pubkey.c
9044 * lib/libgcrypt/cipher/rfc2268.c
9045 * lib/libgcrypt/cipher/rijndael-tables.h
9046 * lib/libgcrypt/cipher/rijndael.c
9047 * lib/libgcrypt/cipher/rmd.h
9048 * lib/libgcrypt/cipher/rmd160.c
9049 * lib/libgcrypt/cipher/rsa.c
9050 * lib/libgcrypt/cipher/seed.c
9051 * lib/libgcrypt/cipher/serpent.c
9052 * lib/libgcrypt/cipher/sha1.c
9053 * lib/libgcrypt/cipher/sha256.c
9054 * lib/libgcrypt/cipher/sha512.c
9055 * lib/libgcrypt/cipher/tiger.c
9056 * lib/libgcrypt/cipher/twofish.c
9057 * lib/libgcrypt/cipher/whirlpool.c
9058
9059 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9060
9061 Fix build for systems without error().
9062
9063 * gnulib/error.c: New file (imported from Gnulib).
9064 * gnulib/error.h: Likewise.
9065 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
9066 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
9067 (this variable is now used by error()).
9068
9069 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
9070
9071 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
9072 instead of relying that char is signed.
9073
9074 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
9077 blocksize different from specified.
9078 (grub_pxefs_read): Likewise.
9079
9080 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
9081
9082 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
9083
9084 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
9085 (grub_ata_readwrite): Likewise. Update 2 format strings.
9086 (grub_atapi_read): Likewise.
9087
9088 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
9089 * conf/i386.rmk (pkglib_MODULES): ... to here ...
9090 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
9091 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
9092 (ata_mod_LDFLAGS): Move from here ...
9093 * conf/i386.rmk: ... to here ...
9094 * conf/x86_64-efi.rmk: ... and here.
9095 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
9096 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
9097
9098 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9099
9100 Relicense multiboot.h, with RMS' blessing.
9101
9102 * include/multiboot.h: Change to X11 license.
9103
9104 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
9105
9106 Support --version in grub-mkisofs.
9107
9108 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
9109 (OPTION_VERSION): New macro.
9110 (ld_options): Recognize --version.
9111 (usage): Move `program_name' from here ...
9112 (program_name): ... to here. Add `static' qualifier.
9113 (main): Recognize `OPTION_VERSION'.
9114
9115 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
9116
9117 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
9118 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
9119
9120 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
9121
9122 Fix help2man generation for mkisofs.
9123
9124 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
9125 (usage): Send output to stdout (rather than stderr).
9126
9127 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
9128
9129 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
9130 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
9131 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
9132 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
9133 (bin_SCRIPTS): Add `grub-mkfloppy'.
9134 (grub_mkfloppy_SOURCES): New variable.
9135
9136 * util/grub-mkrescue.in: New file.
9137 * util/i386/pc/grub-mkfloppy.in: New file.
9138
9139 * util/i386/coreboot/grub-mkrescue.in: Remove.
9140 * util/i386/pc/grub-mkrescue.in: Remove.
9141
9142 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9143
9144 * include/grub/multiboot.h (struct grub_multiboot_header): Move
9145 from here ...
9146 * include/multiboot.h (struct multiboot_header): ... to here. Update
9147 all users.
9148 * include/grub/multiboot.h (struct grub_multiboot_info): Move
9149 from here ...
9150 * include/multiboot.h (struct multiboot_info): ... to here. Update
9151 all users.
9152 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
9153 from here ...
9154 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
9155 Update all users.
9156 * include/grub/multiboot.h (struct grub_mod_list): Move
9157 from here ...
9158 * include/multiboot.h (struct multiboot_mod_list): ... to here.
9159 Update all users.
9160
9161 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9162
9163 * include/multiboot2.h (multiboot_word): Rename from this ...
9164 (multiboot2_word): ... to this. Update all users.
9165 (multiboot_header): Rename from this ...
9166 (multiboot2_header): ... to this. Update all users.
9167 (multiboot_tag_header): Rename from this ...
9168 (multiboot2_tag_header): ... to this. Update all users.
9169 (multiboot_tag_start): Rename from this ...
9170 (multiboot2_tag_start): ... to this. Update all users.
9171 (multiboot_tag_name): Rename from this ...
9172 (multiboot2_tag_name): ... to this. Update all users.
9173 (multiboot_tag_module): Rename from this ...
9174 (multiboot2_tag_module): ... to this. Update all users.
9175 (multiboot_tag_memory): Rename from this ...
9176 (multiboot2_tag_memory): ... to this. Update all users.
9177 (multiboot_tag_unused): Rename from this ...
9178 (multiboot2_tag_unused): ... to this. Update all users.
9179 (multiboot_tag_end): Rename from this ...
9180 (multiboot2_tag_end): ... to this. Update all users.
9181
9182 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9183
9184 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
9185 this platform we should support Multiboot1 first.
9186
9187 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9188 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
9189 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
9190
9191 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
9192
9193 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
9194 of write calls (converting them to fwrite() if they aren't already).
9195 (get_torito_desc): Likewise.
9196 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
9197
9198 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
9199
9200 * util/i386/pc/grub-install.in: Move from here ...
9201 * util/grub-install.in: ... to here. Update all users.
9202
9203 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
9204
9205 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
9206
9207 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
9208
9209 Support for El Torito without floppy emulation.
9210
9211 * util/mkisofs/eltorito.c: Include `<errno.h>'.
9212 (init_boot_catalog): Improve error handling.
9213 (get_torito_desc): Don't use floppy emulation unless requested by
9214 user. Patch boot information table when requested via
9215 `-boot-info-table'.
9216 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
9217 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
9218 (use_boot_info_table): New variables.
9219 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
9220 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
9221 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
9222 `--eltorito-emul-floppy'.
9223 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
9224 and `OPTION_ELTORITO_EMUL_FLOPPY'.
9225 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
9226 (use_boot_info_table, get_731): New prototypes.
9227 * util/mkisofs/write.c (get_731): New function.
9228
9229 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
9230
9231 Fix the generation of the man page.
9232
9233 * util/pc/i386/grub-install.in: Source
9234 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
9235
9236 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
9237
9238 Large file support for grub-mkisofs.
9239
9240 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
9241 * util/mkisofs/mkisofs.c (next_extent, last_extent)
9242 (session_start): Upgrade type to `uint64_t'. Update all users.
9243 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
9244 (struct directory_entry): Upgrade type of `starting_block' and
9245 `size' to `uint64_t'. Update all users.
9246 (struct deferred): Remove unused structure.
9247 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
9248 Update all users.
9249 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
9250 file is larger than `UINT32_MAX'.
9251 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
9252 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
9253 return value.
9254 (struct deferred_write): Upgrade type of `extent' and `size' to
9255 `uint64_t'. Update all users.
9256 (last_extent_written): Upgrade type to `uint64_t'. Update all
9257 users.
9258 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
9259 Update all users. Upgrade type of `remain' to `int64_t' and
9260 `use' to `size_t'. Use error() to handle fread() errors.
9261 (write_files): Rely on write_one_file() rather than calling
9262 xfwrite() directly.
9263
9264 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
9265
9266 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
9267
9268 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9269
9270 * util/mkisofs/fnmatch.c: Remove.
9271 * util/mkisofs/getopt1.c: Likewise.
9272 * util/mkisofs/getopt.c: Likewise.
9273 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
9274 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
9275 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
9276 `gnulib/getopt1.c' and `gnulib/getopt.c'.
9277 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
9278
9279 * configure.ac: Detect `mingw32msvc' host_os.
9280 Check for lstat(), getuid() and getgid().
9281
9282 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
9283 instances of `u_char' with `uint8_t'.
9284
9285 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
9286 [!HAVE_GETUID] (getuid): New function (stub).
9287 [!HAVE_GETGID] (getgid): Likewise.
9288 [!HAVE_LSTAT] (lstat): Likewise.
9289 [!S_IROTH] (S_IROTH): New macro (dummy).
9290 [!S_IRGRP] (S_IRGRP): Likewise.
9291
9292 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9293
9294 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
9295 conditional expression).
9296
9297 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9298
9299 Import from Gnulib.
9300
9301 * gnulib/fnmatch.c: New file.
9302 * gnulib/fnmatch.h: Likewise.
9303 * gnulib/fnmatch_loop.c: Likewise.
9304 * gnulib/getopt.c: Likewise.
9305 * gnulib/getopt.h: Likewise.
9306 * gnulib/getopt1.c: Likewise.
9307 * gnulib/getopt_int.h: Likewise.
9308 * gnulib/gettext.h: Likewise.
9309
9310 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9311
9312 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
9313 * normal/handler.c (read_handler_list): Likewise.
9314
9315 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9316
9317 Misc cleanup.
9318
9319 * kern/command.c (grub_register_command_prio): Use
9320 grub_zalloc() instead of explicitly zeroing data.
9321 * kern/list.c: Include `<grub/mm.h>'.
9322 (grub_named_list_find): Replace `0' with `NULL'.
9323 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
9324 (fs_module_list): Change type to `grub_named_list_t'. Update all
9325 users.
9326 * normal/dyncmd.c (read_command_list): Add space between function
9327 call and parenthesis.
9328 * normal/handler.c (read_handler_list): Likewise.
9329
9330 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9331
9332 * normal/auth.c (punishment_delay): Moved from here ...
9333 (grub_auth_strcmp): ... to here (inside function).
9334
9335 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9336
9337 * include/grub/list.h (struct grub_named_list): Remove `const'
9338 qualifier from `name'.
9339 (struct grub_prio_list): Likewise.
9340
9341 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9342
9343 * normal/auth.c: Include `<grub/time.h>'.
9344 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
9345
9346 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9347
9348 * normal/auth.c (punishment_delay): New variable.
9349 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
9350 (grub_auth_check_authentication): Punish failed login attempts with
9351 an incremental (2^N) delay.
9352
9353 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9354
9355 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
9356 path with $(srcdir).
9357
9358 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
9361
9362 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9363
9364 * util/i386/coreboot/grub-mkrescue.in: New file.
9365 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
9366 variables.
9367
9368 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
9369 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
9370 * configure.ac: Add header and function checks to satisfy grub-mkisofs
9371 requirements.
9372 * util/mkisofs/defaults.h: New file.
9373 * util/mkisofs/eltorito.c: Likewise.
9374 * util/mkisofs/exclude.h: Likewise.
9375 * util/mkisofs/fnmatch.c: Likewise.
9376 * util/mkisofs/getopt.c: Likewise.
9377 * util/mkisofs/getopt1.c: Likewise.
9378 * util/mkisofs/hash.c: Likewise.
9379 * util/mkisofs/include/fctldefs.h: Likewise.
9380 * util/mkisofs/include/mconfig.h: Likewise.
9381 * util/mkisofs/include/prototyp.h: Likewise.
9382 * util/mkisofs/include/statdefs.h: Likewise.
9383 * util/mkisofs/iso9660.h: Likewise.
9384 * util/mkisofs/joliet.c: Likewise.
9385 * util/mkisofs/match.c: Likewise.
9386 * util/mkisofs/match.h: Likewise.
9387 * util/mkisofs/mkisofs.c: Likewise.
9388 * util/mkisofs/mkisofs.h: Likewise.
9389 * util/mkisofs/multi.c: Likewise.
9390 * util/mkisofs/name.c: Likewise.
9391 * util/mkisofs/rock.c: Likewise.
9392 * util/mkisofs/tree.c: Likewise.
9393 * util/mkisofs/write.c: Likewise.
9394
9395 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
9398 being insecure.
9399
9400 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9401
9402 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
9403 `grub-mkimage' (and use $0 when possible).
9404
9405 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9406
9407 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
9408 error message for excessively large memory map.
9409
9410 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9411
9412 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
9413 executable bit.
9414
9415 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9416
9417 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
9418 message for coreboot users.
9419
9420 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
9421
9422 Fix build with GNU gold.
9423
9424 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9425 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9426 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9427 link addresses.
9428 * aclocal.m4: Likewise.
9429
9430 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
9431
9432 * configure.ac (AC_PREREQ): Bump to 2.59d.
9433 * INSTALL: Make it more clear when Autoconf and Ruby are
9434 needed and when to run `./autogen.sh'.
9435
9436 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9437
9438 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9439 OSes.
9440
9441 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9442
9443 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9444
9445 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9446
9447 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9448 giving it to GNU Mach.
9449
9450 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9451
9452 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9453 GNU partition number to get internal GRUB partition number.
9454
9455 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9456
9457 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9458 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9459
9460 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9461
9462 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9463 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9464 case.
9465
9466 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
9467
9468 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9469
9470 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9471
9472 Fix build problem.
9473
9474 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9475 `-isystem=$(srcdir)/include'.
9476
9477 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9478
9479 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9480 checked (grub-install doesn't currently rely on it).
9481
9482 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9483
9484 Revert SVN r2660.
9485
9486 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9487 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9488 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9489 * conf/i386-ieee1275.rmk: Likewise.
9490 * conf/i386-pc.rmk: Likewise.
9491 * conf/powerpc-ieee1275.rmk: Likewise.
9492 * conf/sparc64-ieee1275.rmk: Likewise.
9493 * conf/x86_64-efi.rmk: Likewise.
9494
9495 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9496
9497 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9498
9499 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9500
9501 * include/grub/misc.h: Stop checking for APPLE_CC.
9502
9503 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9504
9505 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9506 doesn't cause an infinite call loop.
9507
9508 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
9509
9510 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9511 strings.
9512
9513 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9514
9515 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9516 variable.
9517 * Makefile.in: Likewise.
9518
9519 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9520
9521 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
9522
9523 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9524
9525 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
9526
9527 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9528
9529 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
9530
9531 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9532
9533 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
9534 from here ...
9535 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
9536
9537 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9538
9539 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
9540 in $(MAKEINFO) invocation. This makes it clear in output that
9541 errors are being ignored.
9542
9543 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9544
9545 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
9546 from here ...
9547 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9548 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
9549 * conf/i386-ieee1275.rmk: Likewise.
9550 * conf/i386-pc.rmk: Likewise.
9551 * conf/powerpc-ieee1275.rmk: Likewise.
9552 * conf/sparc64-ieee1275.rmk: Likewise.
9553 * conf/x86_64-efi.rmk: Likewise.
9554
9555 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
9556
9557 * util/grub-editenv.c (main): If only a command is given, use
9558 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
9559 (usage): FILENAME is now optional and has a default.
9560
9561 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
9562
9563 Improve grub-mkconfig performance when there are several menu
9564 entries on a single filesystem.
9565
9566 * util/grub.d/10_linux.in (linux_entry): Cache the output of
9567 prepare_grub_to_access_device.
9568 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9569 * util/grub.d/30_os-prober.in: Likewise.
9570
9571 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9572
9573 * util/grub.d/10_freebsd.in: Remove.
9574 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
9575 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
9576
9577 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9578
9579 * docs/grub.cfg: Fix example usage of *BSD loaders.
9580
9581 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9582
9583 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
9584 grub_util_error() call.
9585
9586 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9587
9588 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
9589 `reserved_first_sector' member.
9590 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
9591 `reserved_first_sector' to 1.
9592 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
9593 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
9594 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
9595 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
9596 filesystems which begin at first sector.
9597 (options): New option --skip-fs-probe.
9598 (main): Handle --skip-fs-probe and pass it to setup().
9599
9600 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9601
9602 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
9603 (memset): Fix function prototype.
9604
9605 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9606 2009-10-25 Vasily Averin <vvs@parallels.com>
9607
9608 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
9609 `dirent.direntlen == 0'.
9610
9611 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9612
9613 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
9614 `cpio'.
9615 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
9616
9617 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9618
9619 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
9620 `__trampoline_setup' and `__ucmpdi2'.
9621 * include/grub/powerpc/libgcc.h: Only export symbols for functions
9622 that libgcc provides.
9623
9624 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9625
9626 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
9627 * include/grub/sparc64/libgcc.h (memset): Likewise.
9628 * include/grub/misc.h (memset, memcmp): New function prototypes.
9629
9630 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9631
9632 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
9633 `cpio'.
9634 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
9635
9636 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9637
9638 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
9639 * docs/grub.cfg: Compensate for recent change in multiboot
9640 loader (since 2009-08-14 it won't pass filename to payload).
9641 * util/grub.d/10_hurd.in: Likewise.
9642
9643 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
9644
9645 * config.guess: Update to latest version from config git
9646 repository.
9647 * config.sub: Likewise.
9648
9649 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
9650
9651 Fix build on sparc64.
9652
9653 * configure.ac: Perform checks for libgcc symbols before
9654 adding `-nostdlib' to LDFLAGS.
9655
9656 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Let user specify OpenBSD root device.
9659
9660 * loader/i386/bsd.c (openbsd_root): New variable.
9661 (openbsd_opts): New option 'root'.
9662 (OPENBSD_ROOT_ARG): New macro.
9663 (grub_openbsd_boot): Use 'openbsd_root'.
9664 (grub_cmd_openbsd): Fill 'openbsd_root'.
9665
9666 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9667
9668 * NEWS: Misc adjustments.
9669
9670 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
9673
9674 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
9675
9676 * configure.ac: Bump version to 1.97.
9677
9678 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
9679
9680 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
9681 -mno-3dnow on x86 architectures. Some toolchains enable these
9682 features by default, but they rely on registers that aren't enabled
9683 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
9684
9685 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 Make entry text a bit more readable.
9688
9689 * util/grub.d/10_linux.in: Add `with' before `Linux'.
9690
9691 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
9694
9695 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
9698 operations.
9699
9700 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * configure.ac: Add missing dollar.
9703
9704 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
9707
9708 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
9709 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
9710 exports.
9711 * include/grub/sparc64/libgcc.h: Likewise. Use
9712 preprocessor conditionals.
9713
9714 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9715
9716 * conf/common.rmk (grub-dumpbios): Remove rule.
9717 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
9718 * util/grub-dumpbios.in: Remove file.
9719
9720 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
9721
9722 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
9723 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
9724
9725 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
9726 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
9727 users.
9728
9729 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
9730 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
9731 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
9732 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
9733 users.
9734
9735 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
9736
9737 * term/tparm.c: Switch to GPLv3.
9738
9739 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9740
9741 * include/grub/i386/cpuid.h: Add header protection.
9742
9743 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
9744
9745 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
9746
9747 * include/grub/i386/cpuid.h: New file.
9748 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
9749 (has_longmode): Rename to ...
9750 (grub_cpuid_has_longmode): ... this. Update all users. Remove
9751 `static' attribute.
9752 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
9753 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
9754 on a CPU that doesn't implement AMD64 instruction set.
9755
9756 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9757
9758 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
9759 that version.texi is rebuilt on version number changes.
9760
9761 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
9764 Fixes bug #27602.
9765
9766 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * util/i386/pc/grub-install.in: Source
9769 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
9770 that the --grub-probe option will work.
9771 * util/sparc64/ieee1275/grub-install.in: Likewise.
9772
9773 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
9774
9775 * configure.ac: Bump version to 1.97~beta4.
9776
9777 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
9778
9779 Resync grub-mkdevicemap in x86_64-efi.
9780
9781 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
9782 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
9783 `util/devicemap.c'.
9784
9785 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
9786
9787 * util/grub-editenv.c (create_envblk_file): Write new block with a
9788 .new suffix and then rename it into place, to ensure atomic
9789 creation.
9790
9791 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
9792
9793 Do not automatically install headers.
9794
9795 * Makefile.in (include_DATA): Remove. Update all users.
9796
9797 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
9798
9799 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
9800 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
9801
9802 * util/osdetect.lua: Remove.
9803 * script/lua/lauxlib.c: Likewise.
9804 * script/lua/ldebug.c: Likewise.
9805 * script/lua/grub_main.c: Likewise.
9806 * script/lua/lauxlib.h: Likewise.
9807 * script/lua/ldebug.h: Likewise.
9808 * script/lua/ltablib.c: Likewise.
9809 * script/lua/liolib.c: Likewise.
9810 * script/lua/lstrlib.c: Likewise.
9811 * script/lua/lualib.h: Likewise.
9812 * script/lua/ldo.c: Likewise.
9813 * script/lua/ldump.c: Likewise.
9814 * script/lua/ldo.h: Likewise.
9815 * script/lua/loslib.c: Likewise.
9816 * script/lua/lundump.c: Likewise.
9817 * script/lua/grub_lib.c: Likewise.
9818 * script/lua/ldblib.c: Likewise.
9819 * script/lua/lundump.h: Likewise.
9820 * script/lua/lmem.c: Likewise.
9821 * script/lua/grub_lib.h: Likewise.
9822 * script/lua/lmathlib.c: Likewise.
9823 * script/lua/lstate.c: Likewise.
9824 * script/lua/ltm.c: Likewise.
9825 * script/lua/lvm.c: Likewise.
9826 * script/lua/lmem.h: Likewise.
9827 * script/lua/lstate.h: Likewise.
9828 * script/lua/ltm.h: Likewise.
9829 * script/lua/ltable.c: Likewise.
9830 * script/lua/lvm.h: Likewise.
9831 * script/lua/llex.c: Likewise.
9832 * script/lua/lgc.c: Likewise.
9833 * script/lua/grub_lua.h: Likewise.
9834 * script/lua/loadlib.c: Likewise.
9835 * script/lua/lfunc.c: Likewise.
9836 * script/lua/lopcodes.c: Likewise.
9837 * script/lua/lparser.c: Likewise.
9838 * script/lua/ltable.h: Likewise.
9839 * script/lua/llex.h: Likewise.
9840 * script/lua/lgc.h: Likewise.
9841 * script/lua/lfunc.h: Likewise.
9842 * script/lua/lbaselib.c: Likewise.
9843 * script/lua/lopcodes.h: Likewise.
9844 * script/lua/lparser.h: Likewise.
9845 * script/lua/lzio.c: Likewise.
9846 * script/lua/linit.c: Likewise.
9847 * script/lua/lobject.c: Likewise.
9848 * script/lua/llimits.h: Likewise.
9849 * script/lua/lstring.c: Likewise.
9850 * script/lua/lzio.h: Likewise.
9851 * script/lua/lapi.c: Likewise.
9852 * script/lua/lcode.c: Likewise.
9853 * script/lua/lua.h: Likewise.
9854 * script/lua/lobject.h: Likewise.
9855 * script/lua/lstring.h: Likewise.
9856 * script/lua/lapi.h: Likewise.
9857 * script/lua/lcode.h: Likewise.
9858 * script/lua/luaconf.h: Likewise.
9859
9860 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
9861
9862 * docs/grub.texi (Command-line and menu entry commands): Document
9863 date and echo commands.
9864
9865 2009-09-24 Pavel Roskin <proski@gnu.org>
9866
9867 * include/grub/kernel.h (struct grub_module_header): Remove
9868 `grub_module_header_types'. Make `type' unsigned. Make `size'
9869 32-bit on all platforms.
9870 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
9871 8-bit field. Use grub_host_to_target32() for `size'.
9872 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
9873 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
9874 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
9875
9876 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9877
9878 Fix "lost keypress" bug in at_keyboard.
9879
9880 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
9881 Checks for readyness of input buffer (without flushing it).
9882 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
9883 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
9884
9885 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9886
9887 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
9888 size check within GRUB_MACHINE_PCBIOS section.
9889
9890 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
9891
9892 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
9893 return value.
9894 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
9895 KEYBOARD_ISREADY check.
9896 (grub_at_keyboard_checkkey): Rename to ...
9897 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
9898 Remove gratuitous cast.
9899
9900 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * configure.ac: Call AC_PROG_MKDIR_P.
9903 * Makefile.in (docs/stamp-vti): Create docs directory. Create
9904 version.texi in $(builddir) rather than $(srcdir).
9905 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
9906 to makeinfo's @include search path.
9907
9908 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9909
9910 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
9911
9912 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
9913
9914 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
9915 for `*.dpkg-new'.
9916
9917 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
9918
9919 Build info documentation. Some code borrowed from Automake.
9920
9921 * configure.ac: Check for makeinfo.
9922 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
9923 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
9924 docs/version.texi.
9925 (MOSTLYCLEANFILES): Add vti.tmp.
9926 (docs/version.texi, docs/stamp-vti): Update automatically.
9927 (docs/grub.info): Build info documentation. Use --force and ignore
9928 errors for now.
9929 (all-local): Add $(INFOS).
9930 (install-local): Install info files.
9931 (uninstall): Uninstall info files.
9932 * docs/version.texi: Remove from revision control. This file is
9933 automatically generated on build now.
9934 * gendistlist.sh: Add `*.info'.
9935
9936 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9937
9938 * kern/term.c: Fix indentation.
9939
9940 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
9941
9942 * util/hostdisk.c: Fix a comment.
9943
9944 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
9945
9946 Fix regression introduced in r2539.
9947
9948 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
9949 to 0xA1.
9950
9951 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
9952
9953 * util/grub.d/30_os-prober.in: Don't throw away stderr from
9954 os-prober. Under normal operation, it does not print anything to
9955 stderr; if it does, we need to debug it, and throwing away stderr
9956 makes that excessively difficult.
9957
9958 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
9961
9962 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9963
9964 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
9965 AC_LANG_PROGRAM from autoconf.
9966 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
9967 prototypes (fixes warning).
9968
9969 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
9970 `--disable-werror' was used.
9971
9972 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
9973
9974 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
9975 uninitialized `lastaddr'.
9976
9977 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
9980
9981 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9982
9983 * commands/test.c (get_fileinfo): Return immediately if
9984 grub_fs_probe fails.
9985
9986 2009-09-14 José Martínez <xosemp@gmail.com>
9987
9988 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
9989
9990 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
9991
9992 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
9993 output.
9994
9995 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
9996
9997 * configure.ac: Remove --enable-grub-pe2elf. Only build
9998 grub-pe2elf when needed by the build system itself.
9999 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
10000
10001 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10002
10003 * configure.ac: Bump version to 1.97~beta3.
10004 * docs/version.texi: Likewise.
10005
10006 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10007
10008 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
10009 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
10010 from here ...
10011 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
10012 (grub_linux_setup_video): ... to here (with some adjustments).
10013
10014 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10015
10016 Fix memory corruption issue (spotted by Colin Watson).
10017
10018 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
10019 causing returned size to be stored in an incorrect memory location.
10020 Fix use of uninitialized value when storing the returned size.
10021
10022 2009-09-12 Yves Blusseau <blusseau@zetam.org>
10023
10024 Change clean rules to properly remove files
10025
10026 * genmk.rb: add new clean rules
10027 * Makefile.in (clean): add the new targets
10028 (mostlyclean): likewise
10029
10030 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
10031
10032 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
10033 to grub_uint64_t.
10034 * fs/ntfs.c (init_file): Understand 64-bit sizes for
10035 non-resident files.
10036
10037 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * configure.ac: Don't look for help2man when cross-compiling. Fixes
10040 part of bug #27349.
10041
10042 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
10043
10044 * util/grub-mkconfig.in: Make the created config mode 400 and
10045 print a warning if it fails.
10046
10047 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
10048
10049 * util/grub.d/40_custom.in: Ask user to type custom entries below
10050 comment, rather than below 'exec tail' line.
10051
10052 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
10053
10054 * util/grub.d/40_custom.in: Make sure that the explanatory text is
10055 visible in grub.cfg.
10056
10057 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
10058
10059 * util/grub.d/40_custom.in: Make it a little clearer how to use this
10060 file.
10061
10062 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
10063
10064 * docs/grub.cfg: Add an example menu entry for memtest86+.
10065
10066 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
10067
10068 * config.guess: Update to latest version from config git.
10069 * config.sub: Likewise.
10070
10071 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
10072
10073 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
10074 unknown-command case. Fixes bug #27320.
10075
10076 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
10077
10078 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
10079 `help' if the command exists.
10080
10081 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
10082
10083 * INSTALL: Require GCC 4.1.3 or later.
10084
10085 2009-09-06 Yves Blusseau <blusseau@zetam.org>
10086
10087 * Makefile.in (RMKFILES): add i386-qemu.rmk
10088 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
10089 $(srcdir)/stamp-h.in
10090
10091 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
10092
10093 * util/grub-probe.c (probe): Comment out buggy codepath, which
10094 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
10095 should be re-enabled after 1.97.
10096
10097 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
10098
10099 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
10100 find searches for.
10101
10102 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
10105 unnecessary calls to grub_error.
10106
10107 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
10108
10109 * NEWS: Mention `keystatus' and Unicode fonts.
10110
10111 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
10112
10113 * configure.ac: Bump version to 1.97~beta2.
10114 * docs/version.texi: Likewise.
10115
10116 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
10117
10118 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
10119 containing unwind information in some cases where it previously did
10120 not. Use -fno-dwarf2-cfi-asm if available to restore the old
10121 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
10122 discussion.
10123
10124 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
10125
10126 Embedding loadenv module into grub-emu
10127
10128 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
10129 commands/loadenv.c
10130 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
10131 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
10132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
10133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
10134 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
10135 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
10136
10137 2009-09-03 Magnus Granberg <zorry@ume.nu>
10138
10139 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
10140 include -fPIE in the default specs.
10141 * configure.ac: Check if pie_possible is yes and add -fno-PIE
10142 to TARGET_CFLAGS.
10143
10144 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
10145
10146 * INSTALL: Note that GNU Bison 2.3 or later is required.
10147
10148 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
10149
10150 * kern/i386/pc/startup.S: Fix typo.
10151
10152 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
10155 according to GCS.
10156
10157 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
10158
10159 * docs/grub.texi (Naming convention): Describe one-based partition
10160 numbering.
10161 (Device syntax): Likewise.
10162 (File name syntax): Likewise.
10163 (Block list syntax): Likewise.
10164 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
10165 menu.lst.
10166 (File name syntax): Likewise.
10167 (Command-line and menu entry commands): Document acpi, blocklist,
10168 crc, export, insmod, keystatus, ls, set, and unset commands.
10169
10170 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
10171
10172 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
10173 to avoid implying that only one of --shift, --ctrl, or --alt may be
10174 used.
10175
10176 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
10177
10178 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
10179 rather than comparing against S_IFREG, which will almost never work.
10180
10181 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
10184 (write_blocklists): Likewise.
10185
10186 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
10187
10188 * script/lua/grub_lua.h (fputs): Supply a format string as the first
10189 argument to grub_printf.
10190
10191 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
10192
10193 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
10194 non GNU test.
10195
10196 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * kern/file.c (grub_file_read): Spelling fix
10199
10200 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
10203 loading of headers in some cases.
10204
10205 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
10206
10207 * configure.ac: Bump version to 1.97~beta1.
10208 * docs/version.texi: Likewise.
10209
10210 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * include/grub/i386/xnu.h: Add license header.
10213 include grub/err.h explicitly.
10214
10215 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
10216
10217 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
10218 to `ufs' in the vfs.root.mountfrom kernel parameter.
10219
10220 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
10221
10222 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
10223
10224 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
10225 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
10226
10227 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
10228 `ARRAY_SIZE' macro.
10229
10230 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * kern/file.c (grub_file_read): Check offset.
10233 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
10234 * fs/jfs.c (grub_jfs_read_file): Likewise.
10235 * fs/ntfs.c (grub_ntfs_read): Likewise.
10236 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
10237 * fs/minix.c (grub_minix_read_file): Correct offset check.
10238 * fs/ufs.c (grub_ufs_read_file): Likewise.
10239
10240 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
10241
10242 * term/i386/pc/console.c (bios_data_area): Cast
10243 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
10244
10245 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 1-bit optimised blitters.
10248
10249 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
10250 prototype.
10251 (grub_video_fbblit_replace_24bit_1bit): Likewise.
10252 (grub_video_fbblit_replace_16bit_1bit): Likewise.
10253 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10254 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10255 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
10256 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
10257 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
10258 function.
10259 (grub_video_fbblit_replace_24bit_1bit): Likewise.
10260 (grub_video_fbblit_replace_16bit_1bit): Likewise.
10261 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10262 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10263 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
10264 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
10265 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
10266 when possible.
10267 * video/video.c (grub_video_get_blit_format): Return
10268 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
10269
10270 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
10271
10272 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
10273 the first argument to grub_printf.
10274
10275 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
10276 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
10277
10278 Add `getkeystatus' terminal method. Add a new `keystatus' command
10279 to query it.
10280
10281 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
10282 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
10283 modifier key bitmasks.
10284 (struct grub_term_input): Add `getkeystatus' member.
10285 (grub_getkeystatus): Add prototype.
10286 * kern/term.c (grub_getkeystatus): New function.
10287
10288 * include/grub/i386/pc/memory.h
10289 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
10290 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
10291 Data Area layout.
10292 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
10293 (grub_console_term_input): Set `getkeystatus' member.
10294 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
10295 constants.
10296 (grub_usb_keyboard_getreport): Likewise.
10297 (grub_usb_keyboard_checkkey): Likewise.
10298 (grub_usb_keyboard_getkeystatus): New function.
10299 (grub_usb_keyboard_term): Set `getkeystatus' member.
10300
10301 * commands/keystatus.c: New file.
10302 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
10303 (keystatus_mod_SOURCES): New variable.
10304 (keystatus_mod_CFLAGS): Likewise.
10305 (keystatus_mod_LDFLAGS): Likewise.
10306 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
10307 commands/keystatus.c.
10308 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10310 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10312 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10313 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10314
10315 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 Split befs.mod and afs.mod into *_be.mod and *.mod
10318
10319 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
10320 (grub_fstest_SOURCES): Likewise.
10321 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
10322 (afs_be_mod_SOURCES): New variable.
10323 (afs_be_mod_CFLAGS): Likewise.
10324 (afs_be_mod_LDFLAGS): Likewise.
10325 (befs_be_mod_SOURCES): Likewise.
10326 (befs_be_mod_CFLAGS): Likewise.
10327 (befs_be_mod_LDFLAGS): Likewise.
10328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
10329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10331 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10332 (grub_emu_SOURCES): Likewise.
10333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10334 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10335 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10336 * fs/afs_be.c: New file.
10337 * fs/befs_be.c: New file.
10338 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
10339 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
10340 (U16): Replaced with ...
10341 (grub_afs_to_cpu16): ...this. All users updated.
10342 (U32): Replaced with ...
10343 (grub_afs_to_cpu32): ...this. All users updated.
10344 (U64): Replaced with ...
10345 (grub_afs_to_cpu64): ...this. All users updated.
10346 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
10347 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
10348 (grub_afs_validate_sblock): Check only one endianness.
10349 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10350 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10351 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10352 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10353 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10354 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10355 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10356 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10357
10358 2009-08-26 Bean <bean123ch@gmail.com>
10359
10360 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
10361 64-bit number.
10362 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10363 (grub_xfs_inode_block): Change return type to grub_uint64_t.
10364 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
10365
10366 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 NetBSD memory map support.
10369
10370 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
10371 (grub_netbsd_btinfo_mmap_header): New structure.
10372 (grub_netbsd_btinfo_mmap_entry): Likewise.
10373 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
10374
10375 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10376
10377 Enable bsd.mod on coreboot.
10378
10379 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
10380 (bsd_mod_SOURCES): New variable.
10381 (bsd_mod_CFLAGS): Likewise.
10382 (bsd_mod_LDFLAGS): Likewise.
10383 (bsd_mod_ASFLAGS): Likewise.
10384 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
10385 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
10386
10387 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 Cleanup NetBSD root support.
10390
10391 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
10392 grub_bsd_get_device.
10393 Fix typo.
10394
10395 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
10396
10397 * util/grub.d/00_header.in: Move check for the video backend of
10398 gfxterm from here ...
10399 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
10400 a suitable video backend.
10401
10402 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 Fix breakage in grub-setup.
10405
10406 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
10407 "msdos_partition_map".
10408
10409 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Fix breakage in normal/auth.c.
10412
10413 * normal/auth.c (grub_iswordseparator): New function.
10414
10415 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 Authentication support.
10418
10419 * commands/password.c: New file.
10420 * conf/common.rmk (pkglib_MODULES): Add password.mod.
10421 (password_mod_SOURCES): New variable.
10422 (password_mod_CFLAGS): Likewise.
10423 (password_mod_LDFLAGS): Likewise.
10424 (normal_mod_SOURCES): Add normal/auth.c.
10425 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10426 normal/auth.c.
10427 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10428 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10429 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10431 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10432 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10433 * include/grub/auth.h: New file.
10434 * include/grub/err.h (grub_err_t): New enum value
10435 GRUB_ERR_ACCESS_DENIED.
10436 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10437 'users'.
10438 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10439 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10440 users updated.
10441 * normal/auth.c: New file.
10442 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10443 (grub_cmdline_run): Don't allow to go to command line without
10444 authentication.
10445 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10446 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10447 menuentry without superuser rights.
10448 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10449 user isn't a superuser.
10450
10451 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Save space by inlining misc.c functions.
10454
10455 * kern/misc.c (grub_iswordseparator): Made static.
10456 * kern/misc.c (grub_strcat): Moved from here ...
10457 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10458 * kern/misc.c (grub_strncat): Moved from here ...
10459 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10460 * kern/misc.c (grub_strcasecmp): Moved from here ...
10461 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10462 * kern/misc.c (grub_strncasecmp): Moved from here ...
10463 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10464 * kern/misc.c (grub_isalpha): Moved from here ...
10465 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10466 * kern/misc.c (grub_isdigit): Moved from here ...
10467 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10468 * kern/misc.c (grub_isgraph): Moved from here ...
10469 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10470 * kern/misc.c (grub_tolower): Moved from here ...
10471 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10472
10473 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * script/sh/function.c (grub_script_function_find): Cut error message
10476 not to flood terminal.
10477 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10478 limit.
10479 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10480
10481 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
10482
10483 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10484 `report' grub_uint8_t *.
10485 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10486 Use a 50-millisecond timeout rather than just repeating
10487 grub_usb_keyboard_getreport 50 times.
10488 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10489
10490 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 Rename *_partition_map to part_*
10493
10494 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10495 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10496 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10497 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10498 All users updated.
10499 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10500 All users updated.
10501 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10502 * util/grub-probe.c (probe_partmap): Don't transform partition name
10503 to get module name.
10504
10505 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 Fix OpenBSD and NetBSD support.
10508
10509 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10510 memory address conflict.
10511 (OPENBSD_MMAP_ACPI): New definition.
10512 (OPENBSD_MMAP_NVS): Likewise.
10513 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10514 and OPENBSD_MMAP_NVS.
10515 Add memory map terminator
10516 Explicit cast when calling grub_unix_real_boot.
10517 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
10518
10519 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 Let user specify NetBSD root device.
10522
10523 * loader/i386/bsd.c (netbsd_root): New variable.
10524 (netbsd_opts): New option 'root'.
10525 (NETBSD_ROOT_ARG): New macro.
10526 (grub_netbsd_boot): Use 'netbsd_root'.
10527 (grub_bsd_unload): Free 'netbsd_root'.
10528 (grub_cmd_netbsd): Fill 'netbsd_root'.
10529
10530 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 Support for 64-bit NetBSD.
10533
10534 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
10535 point when booting non-FreeBSD.
10536
10537 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Support --no-smp and --no-acpi for NetBSD.
10540
10541 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
10542 (NETBSD_AB_NOACPI): Likewise.
10543 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
10544 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
10545
10546 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
10549 errors.
10550 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
10551 errors. Call grub_error when needed.
10552
10553 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * commands/search.c (search_fs): Try searching without autoload first.
10556 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10557 filesystem module explicitly for faster booting.
10558
10559 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
10560
10561 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
10562
10563 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
10564
10565 * util/grub.d/30_os-prober.in: Disable os-prober if
10566 `GRUB_DISABLE_OS_PROBER' was set to true.
10567
10568 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
10569
10570 * partmap/pc.c: Rename to ...
10571 * partmap/msdos.c: ... this. Update all users.
10572 (grub_pc_partition_map): Rename to ...
10573 (grub_msdos_partition_map): ... this. Update all users.
10574
10575 * parttool/pcpart.c: Rename to ...
10576 * parttool/msdospart.c: ... this. Update all users.
10577
10578 * include/grub/pc_partition.h: Rename to ...
10579 * include/grub/msdos_partition.h: ... this. Update all users.
10580 (grub_pc_partition_bsd_entry): Rename to ...
10581 (grub_msdos_partition_bsd_entry): ... this. Update all users.
10582 (grub_pc_partition_disk_label): Rename to ...
10583 (grub_msdos_partition_disk_label): ... this. Update all users.
10584 (grub_pc_partition_entry): Rename to ...
10585 (grub_msdos_partition_entry): ... this. Update all users.
10586 (grub_pc_partition_mbr): Rename to ...
10587 (grub_msdos_partition_mbr): ... this. Update all users.
10588 (grub_pc_partition): Rename to ...
10589 (grub_msdos_partition): ... this. Update all users.
10590 (grub_pc_partition_is_empty): Rename to ...
10591 (grub_msdos_partition_is_empty): ... this. Update all users.
10592 (grub_pc_partition_is_extended): Rename to ...
10593 (grub_msdos_partition_is_extended): ... this. Update all users.
10594 (grub_pc_partition_is_bsd): Rename to ...
10595 (grub_msdos_partition_is_bsd): ... this. Update all users.
10596
10597 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
10598 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
10599 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
10600 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
10601 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
10602 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
10603 (gpt_mod_LDFLAGS): Rename to ...
10604 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
10605 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
10606 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
10607 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
10608 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
10609 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
10610 (part_gpt_mod_LDFLAGS): ... this.
10611 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
10612 `pcpart.mod' to `msdospart.mod'.
10613 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
10614 to ...
10615 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
10616 (msdospart_mod_LDFLAGS): ... this.
10617
10618 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
10621 (openbsd_opts): Likewise.
10622 (netbsd_opts): Likewise.
10623 (freebsd_flags): Added 0 terminator.
10624 (openbsd_flags): Likewise.
10625 (netbsd_flags): Likewise.
10626 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
10627 (grub_cmd_freebsd): Transformed into extended command.
10628 (grub_cmd_openbsd): Likewise.
10629 (grub_cmd_netbsd): Likewise.
10630 (cmd_freebsd): Changed type to grub_extcmd_t.
10631 (cmd_openbsd): Likewise.
10632 (cmd_netbsd): Likewise.
10633 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
10634 grub_cmd_openbsd as extended commands.
10635 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
10636 cmd_netbsd and cmd_openbsd
10637
10638 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
10641
10642 2009-08-21 Pavel Roskin <proski@gnu.org>
10643
10644 * Makefile.in (install-local): When checking if a file is in the
10645 build directory, use "test -e" to detect symlinks.
10646
10647 * Makefile.in (install-local): Remove all files in
10648 $(DESTDIR)$(pkglibdir) before installing new files there.
10649
10650 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
10651
10652 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
10653 grub-mkelfimage.
10654
10655 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
10656
10657 * util/grub-mkconfig.in: Don't use gfxterm by default if not
10658 explicitly specified by the user.
10659
10660 2009-08-18 Pavel Roskin <proski@gnu.org>
10661
10662 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
10663 grub_uint8_t pointer for data.
10664 * include/grub/fbutil.h (struct grub_video_fbblit_info):
10665 Likewise.
10666 * video/fb/fbutil.c: Remove unnecessary casts.
10667
10668 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10669
10670 VBE cleanup.
10671
10672 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
10673 (grub_vbe_set_video_mode): Save active mode info
10674 only after setting the mode.
10675 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
10676 second argument.
10677
10678 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10679
10680 Rename variables for clarity.
10681
10682 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
10683 (active_vbe_mode_info): ... this. All users updated.
10684 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
10685 All users updated.
10686 (initial_mode): Rename to ...
10687 (initial_vbe_mode): ... this. All users updated.
10688 (mode_in_use): Rename to ..
10689 (vbe_mode_in_use): ... this. All users updated.
10690 (mode_list): Rename to ..
10691 (vbe_mode_list): ... this. All users updated.
10692 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
10693 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
10694 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
10695 'mode_list_size' to 'vbe_mode_list_size'.
10696 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
10697 'best_mode_info' to 'best_vbe_mode_info' and
10698 'best_mode' to 'best_vbe_mode'
10699
10700 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
10701
10702 Remove duplicate grub_video_fb_get_video_ptr.
10703
10704 * include/grub/fbutil.h (get_data_ptr): Rename to ...
10705 (grub_video_fb_get_video_ptr): ... this.
10706 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
10707 * video/fb/fbutil.c: Add comment about addressing.
10708 (get_data_ptr): Rename to ...
10709 (grub_video_fb_get_video_ptr): ... this. All users updated.
10710 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
10711
10712 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10713
10714 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
10715 grub_dprintf() that was just added.
10716
10717 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
10718
10719 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
10720 (DEFAULT_VIDEO_MODE): Remove macros.
10721 (grub_linux_boot): Remove assumption that Linux has FB support,
10722 and use "text" as default video mode.
10723
10724 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
10727 grub_dprintf.
10728 * fs/fat.c (grub_fat_read_data): Likewise.
10729
10730 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
10733 payload.
10734 (grub_module): Likewise.
10735
10736 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
10739 mbi->cmdline but free playground.
10740
10741 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 Handle group offset on UFS1.
10744
10745 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
10746 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
10747
10748 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 Split ufs.mod into ufs1.mod and ufs2.mod.
10751
10752 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
10753 (grub_fstest_SOURCES): Likewise.
10754 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
10755 (ufs_mod_SOURCES): Remove.
10756 (ufs_mod_CFLAGS): Likewise.
10757 (ufs_mod_LDFLAGS): Likewise.
10758 (ufs1_mod_SOURCES): New variable.
10759 (ufs1_mod_CFLAGS): Likewise.
10760 (ufs1_mod_LDFLAGS): Likewise.
10761 (ufs2_mod_SOURCES): New variable.
10762 (ufs2_mod_CFLAGS): Likewise.
10763 (ufs2_mod_LDFLAGS): Likewise.
10764 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
10765 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10766 Likewise.
10767 (grub_emu_SOURCES): Likewise.
10768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10769 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10770 (grub_setup_SOURCES): Likewise.
10771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10772 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
10773 (grub_setup_SOURCES): Likewise.
10774 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
10775 Likewise.
10776 * fs/ufs2.c: New file.
10777 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
10778
10779 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 Framebuffer split.
10782
10783 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
10784 subsystem at the end.
10785 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
10786 (video_fb_mod_SOURCES): New variable.
10787 (video_fb_mod_CFLAGS): Likewise.
10788 (video_fb_mod_LDFLAGS): Likewise.
10789 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
10790 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
10791 * video/i386/pc/vbeblit.c: Moved from here ...
10792 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
10793 * video/i386/pc/vbefill.c: Moved from here ...
10794 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
10795 * video/i386/pc/vbeutil.c: Moved from here ...
10796 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
10797 * include/grub/i386/pc/vbeblit.h: Moved from here ...
10798 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
10799 * include/grub/i386/pc/vbefill.h: Moved from here ...
10800 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
10801 * include/grub/i386/pc/vbeutil.h: Moved from here ...
10802 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
10803 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
10804 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
10805 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
10806 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
10807 (grub_video_adapter): Added 'get_info_and_fini'.
10808 (grub_video_get_info_and_fini): New prototype.
10809 (grub_video_set_mode): make modestring const char *.
10810 * loader/i386/linux.c (grub_linux_setup_video): Use
10811 grub_video_get_info_and_fini.
10812 (grub_linux_boot): Move modesetting just before booting.
10813 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
10814 grub_video_get_info_and_fini.
10815 * video/i386/pc/vbe.c: Moved framebuffer part ...
10816 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
10817 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
10818 grub_video_fbstd_colors and grub_video_fb_set_palette.
10819 (grub_video_vbe_init): Clear 'framebuffer' variable and use
10820 grub_video_fb_init.
10821 (grub_video_vbe_fini): Use grub_video_fb_fini.
10822 (grub_video_vbe_setup): Use framebuffer.render_target instead of
10823 render_target and use grub_video_fb_set_active_render_target and
10824 grub_video_fb_set_palette.
10825 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
10826 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
10827 (grub_video_vbe_adapter): Use framebuffer.
10828 * video/video.c (grub_video_get_info_and_fini): New function.
10829 (grub_video_set_mode): Make modestring const char *.
10830 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
10831 values are already initialised.
10832
10833 2009-08-14 Pavel Roskin <proski@gnu.org>
10834
10835 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
10836 ABS and APPLE_CC.
10837 * boot/i386/pc/diskboot.S: Likewise.
10838 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
10839 sectors allow compilation on MacOSX.
10840 * conf/i386-pc.rmk: Enable unconditional compilation of
10841 lnxboot.img.
10842
10843 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
10844
10845 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
10846 * util/grub.d/00_header.in: Enter interruptible sleep if
10847 GRUB_HIDDEN_TIMEOUT is set.
10848
10849 2009-08-13 Yves Blusseau <blusseau@zetam.org>
10850
10851 * include/grub/symbol.h: Add the LOCAL macro.
10852 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
10853 starting with "L_".
10854
10855 2009-08-13 Pavel Roskin <proski@gnu.org>
10856
10857 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
10858 any modern compilers we support.
10859
10860 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
10861 Use local labels starting with "L_" so that Apple assembler
10862 knows they are local.
10863
10864 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
10865
10866 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
10867 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
10868 (bsd_kernel_types): ... this enum.
10869
10870 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
10871 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
10872 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
10873
10874 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
10875 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
10876 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
10877 messages.
10878
10879 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10880
10881 * util/grub-dumpdevtree: Moved from here ...
10882 * util/i386/efi/grub-dumpdevtree: ... to here.
10883 (hexify): New function. Converts a string to its hex version.
10884 Generate hex versions of "efi" and "device-properties" by calling
10885 hexify() on the ASCII strings rather than by hardcoding numbers.
10886
10887 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
10888
10889 * fs/jfs.c: Update copyright year.
10890
10891 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10892
10893 * util/grub.d/00_header.in: Fix a comment.
10894 * util/grub.d/10_linux.in: Likewise.
10895 * util/grub.d/10_windows.in: Likewise.
10896 * util/grub.d/10_hurd.in: Likewise.
10897
10898 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
10899
10900 * util/grub-mkconfig.in: Allow the user to specify the used font
10901 with GRUB_FONT.
10902
10903 2009-08-08 Pavel Roskin <proski@gnu.org>
10904
10905 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
10906 available, xfs.mod needs it now.
10907
10908 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
10909 the "g" modifier in sed when the intention is to strip something
10910 once. This fixes comparison of kernels with multiple dashes.
10911
10912 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
10913 on it. Add missing space before closing bracket. Fix
10914 misleading formatting.
10915
10916 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10917
10918 * docs/grub.texi: Major overhaul. Remove all sections that are
10919 specific to GRUB Legacy, or mostly composed of Legacy-specific
10920 information.
10921
10922 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10923
10924 * docs/version.texi: New file. Provides version information for
10925 grub.texi.
10926
10927 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10928
10929 * docs/grub.texi: Update CVS information to SVN.
10930 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
10931
10932 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10933
10934 * util/grub-mkconfig.in: Remove a wrong `fi'.
10935
10936 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10937
10938 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
10939 (grub_jfs_uuid): New function.
10940 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
10941
10942 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
10943
10944 * util/grub-mkconfig_lib.in (font_path): Move the functionality
10945 of it to ...
10946 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
10947 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
10948
10949 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10950
10951 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
10952 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
10953 Update all users.
10954
10955 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
10956 not just "vmlinu[zx]".
10957 Moved from here ...
10958 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
10959 all users.
10960
10961 * util/grub.d/10_linux.in (find_latest): Moved from here ...
10962 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
10963 all users.
10964
10965 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
10966
10967 * util/grub.d/10_freebsd.in: Use an absolute device path for
10968 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
10969
10970 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
10971
10972 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
10973 handling of multiple abstraction modules.
10974
10975 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
10976
10977 Fix a bug resulting in black screen when loading Linux using a
10978 packed video mode.
10979
10980 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
10981 function.
10982
10983 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
10984 (grub_vbe_bios_getset_dac_palette_width): New function.
10985 (grub_vbe_bios_get_dac_palette_width)
10986 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
10987 grub_vbe_bios_getset_dac_palette_width()).
10988
10989 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
10990 check for return status.
10991 (grub_vbe_get_video_mode_info): When getting information for a packed
10992 mode (<= 8 bpp), obtain DAC palette width using
10993 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
10994 {red,green,blue}_mark_size.
10995
10996 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
10997
10998 * commands/search.c (options): Fix help output to match actual code.
10999
11000 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
11003 of homegrown code.
11004
11005 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
11008 on XFS or ReiserFS.
11009
11010 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 Support Apple partition map with sector size different from 512 bytes.
11013
11014 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
11015 (apple_partition_map_iterate): Respect 'aheader.blocksize'
11016 and 'apart.partmap_size'.
11017
11018 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11019 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
11020
11021 Fix cpuid command.
11022
11023 * commands/i386/cpuid.c (options): New variable.
11024 (grub_cmd_cpuid): Return real error.
11025 (GRUB_MOD_INIT(cpuid)): Declare options.
11026
11027 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
11030 valid.
11031
11032 2009-07-31 Bean <bean123ch@gmail.com>
11033
11034 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
11035 log2_inode.
11036 (grub_fshelp_node): Move inode field to the end.
11037 (grub_xfs_data): Remove inode field.
11038 (grub_xfs_inode_block): Calculate inode size using sblock.
11039 (grub_xfs_inode_offset): Likewise.
11040 (grub_xfs_read_inode): Calculate inode size using sblock.
11041 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
11042 (grub_xfs_iterate_dir): Calculate inode size using sblock.
11043 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
11044 to match inode size.
11045 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
11046 not accessible when data is null.
11047 (grub_xfs_open): Likewise.
11048
11049 2009-07-31 Bean <bean123ch@gmail.com>
11050
11051 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
11052 Don't change pv->disk if it's already set.
11053
11054 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
11055 (grub_raid_register): ... here.
11056 (grub_raid_rescan): Removed.
11057
11058 * include/grub/raid.h (grub_raid_rescan): Removed.
11059
11060 * util/grub-fstest.c: Remove include file <grub/raid.h>.
11061 (fstest): Replace grub_raid_rescan with module fini function followed
11062 by init function.
11063
11064 * util/grub-probe.c: Add include file <grub/raid.h>.
11065 (probe_raid_level): New function.
11066 (probe): Detect abstraction by walking the disk device, support two
11067 level of abstraction (LVM on RAID) when detecting partition map.
11068
11069 2009-07-31 Pavel Roskin <proski@gnu.org>
11070
11071 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
11072 to grub_zalloc(), it was erroneous.
11073 Reported by Bean <bean123ch@gmail.com>
11074
11075 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
11078 embedding zone, not only the first one.
11079
11080 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
11081
11082 * term/gfxterm.c (clear_char): New function.
11083 (grub_virtual_screen_setup): Use clear_char.
11084 (scroll_up): Likewise.
11085 (grub_virtual_screen_cls): Likewise.
11086
11087 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
11088
11089 * util/deviceiter.c (get_acceleraid_disk_name): New static
11090 function.
11091 (grub_util_iterate_devices): Handle Accelraid devices.
11092 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
11093
11094 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
11095
11096 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
11097 separator for the suggested gfxpayload string (';' collides with the
11098 parser and needs escaping).
11099
11100 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
11103 Clear direction flag before jumping to OS.
11104 (grub_multiboot2_real_boot): Likewise.
11105
11106 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
11107
11108 * util/i386/pc/grub-install: Fix parsing of --disk-module
11109 option.
11110
11111 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
11112
11113 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
11114 when embedding.
11115
11116 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
11117
11118 * util/grub-mkconfig.in (package_version): New variable.
11119 Use it do display the version.
11120
11121 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
11122
11123 * kern/file.c (grub_file_open): Revert to previous check with
11124 grub_errno.
11125
11126 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
11129 from help line. It's out of sync with code.
11130
11131 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
11134 entries on failed boot.
11135
11136 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
11137
11138 * kern/file.c (grub_file_open): Fix an error check.
11139
11140 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
11143 partition map couldn't be identified.
11144
11145 2009-07-23 Pavel Roskin <proski@gnu.org>
11146
11147 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
11148 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
11149 case of little endian words becomes just an optimization.
11150 Respect const modifier.
11151 (md5_final): Use code that doesn't depend on endianness.
11152
11153 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
11154 to avoid loss of upper bits if align is unsigned and shorter
11155 than addr.
11156
11157 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 UUID support for UFS
11160
11161 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
11162 (grub_ufs_uuid): New function.
11163 (grub_ufs_fs): add .uuid
11164
11165 2009-07-21 Pavel Roskin <proski@gnu.org>
11166
11167 * kern/dl.c (grub_dl_check_header): Make static.
11168
11169 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
11170
11171 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
11172 add drivemap for Vista. It breaks Windows 7.
11173
11174 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
11177 128 bytes
11178
11179 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Add BFS support
11182
11183 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
11184 (grub_fstest_SOURCES): Likewise.
11185 (pkglib_MODULES): Add befs.mod.
11186 (befs_mod_SOURCES): New variable.
11187 (befs_mod_CFLAGS): Likewise.
11188 (befs_mod_LDFLAGS): Likewise.
11189 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11190 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11191 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11192 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11193 (grub_setup_SOURCES): Likewise.
11194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11195 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11196 (grub_setup_SOURCES): Likewise.
11197 * fs/befs.c: New file.
11198 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
11199 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
11200 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
11201 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
11202 (B_KEY_INDEX_ALIGN): New declaration.
11203 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
11204 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
11205 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
11206 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
11207 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
11208 (grub_afs_mount) [MODE_BFS]: Likewise.
11209 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
11210 (grub_afs_fs): Use GRUB_AFS_FSNAME
11211 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
11212 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
11213 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
11214 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
11215
11216 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
11217
11218 * util/getroot.c (find_root_device): Add support for MacOSX.
11219 * util/hostdisk.c: Likewise.
11220
11221 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * font/font.c (find_glyph): Check whether a font is present to avoid
11224 segmentation fault.
11225
11226 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
11227
11228 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
11229
11230 2009-07-20 Pavel Roskin <proski@gnu.org>
11231
11232 * configure.ac: Trim excessively wordy excuses.
11233
11234 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11235
11236 Add symlink, mtime and label support to AtheFS.
11237
11238 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
11239 (grub_afs_iterate_dir): Handle symlinks.
11240 (grub_afs_open): Use grub_afs_read_symlink.
11241 (grub_afs_dir): Likewise.
11242 Pass mtime.
11243 (grub_afs_label): New function.
11244 (grub_afs_fs): Add grub_afs_label.
11245 (grub_afs_read_symlink): New function.
11246
11247 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 Fix AtheFS support.
11250
11251 * fs/afs.c: Fix comments style.
11252 (grub_afs_blockrun): Declare as packed.
11253 (grub_afs_datastream): Likewise.
11254 (grub_afs_bnode): Likewise.
11255 (grub_afs_btree): Likewise.
11256 (grub_afs_sblock): Likewise.
11257 Declare `name' as char.
11258 (grub_afs_inode): Declare as packed.
11259 Change void *vnode to grub_uint32_t unused.
11260 (grub_afs_iterate_dir): Check that key_size is positive.
11261 (grub_afs_mount): Don't read superblock twice.
11262 (grub_afs_dir): Don't free node in case of error,
11263 grub_fshelp_find_file already handles this.
11264 (grub_afs_open): Likewise.
11265
11266 2009-07-19 Pavel Roskin <proski@gnu.org>
11267
11268 * Makefile.in: Remove LIBLZO and enable_lzo.
11269 * conf/i386-pc.rmk: Remove lzo support.
11270 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
11271 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
11272 support.
11273 * kern/i386/pc/lzo1x.S: Remove.
11274 * kern/i386/pc/startup.S: Remove lzo support.
11275 * util/i386/pc/grub-mkimage.c: Likewise.
11276
11277 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
11280 * fs/xfs.c (grub_xfs_dir): Likewise.
11281 * fs/afs.c (grub_afs_dir): Likewise.
11282 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11283 (grub_iso9660_open): Likewise.
11284 * fs/jfs.c (grub_jfs_open): Likewise.
11285 * fs/ext2.c (grub_ext2_dir): Likewise.
11286 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
11287 * script/sh/lexer.c (grub_script_yylex): Likewise.
11288
11289 2009-07-16 Pavel Roskin <proski@gnu.org>
11290
11291 * configure.ac: Never add "-c" to CFLAGS.
11292
11293 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
11294
11295 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
11296 grub_cv_cc_efiemu should be used.
11297
11298 * configure.ac: Typo fixes.
11299
11300 * kern/mm.c (grub_zalloc): New function.
11301 (grub_debug_zalloc): Likewise.
11302 * include/grub/mm.h: Declare grub_zalloc() and
11303 grub_debug_zalloc().
11304 * util/misc.c (grub_zalloc): New function.
11305 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
11306 instead of grub_malloc(), remove unneeded initializations.
11307 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
11308 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
11309 * commands/parttool.c (grub_cmd_parttool): Likewise.
11310 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11311 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
11312 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
11313 * disk/usbms.c (grub_usbms_finddevs): Likewise.
11314 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
11315 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
11316 (grub_cmd_efiemu_pnvram): Likewise.
11317 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
11318 * fs/iso9660.c (grub_iso9660_mount): Likewise.
11319 (grub_iso9660_iterate_dir): Likewise.
11320 * fs/jfs.c (grub_jfs_opendir): Likewise.
11321 * fs/ntfs.c (list_file): Likewise.
11322 (grub_ntfs_mount): Likewise.
11323 * kern/disk.c (grub_disk_open): Likewise.
11324 * kern/dl.c (grub_dl_load_core): Likewise.
11325 * kern/elf.c (grub_elf_file): Likewise.
11326 * kern/env.c (grub_env_context_open): Likewise.
11327 (grub_env_set): Likewise.
11328 (grub_env_set_data_slot): Likewise.
11329 * kern/file.c (grub_file_open): Likewise.
11330 * kern/fs.c (grub_fs_blocklist_open): Likewise.
11331 * loader/i386/multiboot.c (grub_module): Likewise.
11332 * loader/xnu.c (grub_xnu_create_key): Likewise.
11333 (grub_xnu_create_value): Likewise.
11334 * normal/main.c (grub_normal_add_menu_entry): Likewise.
11335 (read_config_file): Likewise.
11336 * normal/menu_entry.c (make_screen): Likewise.
11337 * partmap/sun.c (sun_partition_map_iterate): Likewise.
11338 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
11339 * script/sh/script.c (grub_script_parse): Likewise.
11340 * video/bitmap.c (grub_video_bitmap_create): Likewise.
11341 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11342 * video/readers/png.c (grub_png_output_byte): Likewise.
11343 (grub_video_reader_png): Likewise.
11344
11345 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 Enable all targets that can be built by default
11348
11349 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
11350 grub-mkfont and grub-fstest if they can be built
11351
11352 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 Fix hang and segmentation fault in grub-emu-usb
11355
11356 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
11357 * util/usb.c (grub_libusb_devices): likewise
11358 (grub_libusb_init): rename to ...
11359 (GRUB_MOD_INIT (libusb)):...this
11360 (grub_libusb_fini): rename to ..
11361 (GRUB_MOD_FINI (libusb)):...this
11362 * disk/usbms.c (grub_usbms_transfer): fix retry logic
11363 * include/grub/disk.h (grub_raid_init): removed, it's useless
11364 (grub_raid_fini): likewise
11365 (grub_lvm_init): likewise
11366 (grub_lvm_fini): likewise
11367 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
11368 by grub_init_all
11369
11370 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 Fix libusb
11373
11374 * Makefile.in (LIBUSB): new macro
11375 * genmk.rb (Utility/print_tail): new method
11376 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
11377 (top level): call util.print_tail at the end.
11378
11379 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 Make FreeBSD accept zpool.cache
11382
11383 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
11384 type is /boot/zfs/zpool.cache
11385
11386 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 Fix 64-bit efiemu
11389
11390 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
11391 correct wrong typedef
11392 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
11393
11394 2009-07-15 Pavel Roskin <proski@gnu.org>
11395
11396 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
11397 * kern/disk.c (struct grub_disk_cache): Likewise.
11398
11399 * commands/probe.c (options): Typo fix.
11400
11401 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
11402 Increase to 0x5a to accommodate FAT32. Adjust other offsets
11403 accordingly.
11404 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
11405
11406 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
11407 the end of "Error" to make the message more readable.
11408
11409 * boot/i386/pc/boot.S (kernel_segment): Remove.
11410 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
11411 for destination.
11412
11413 * boot/i386/pc/boot.S (boot_version): Remove.
11414 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11415 Remove.
11416
11417 * include/grub/i386/pc/boot.h: Sort all offsets.
11418 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
11419 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
11420 * boot/i386/pc/boot.S: Assert location of every offset listed in
11421 include/grub/i386/pc/boot.h.
11422
11423 2009-07-13 Pavel Roskin <proski@gnu.org>
11424
11425 * include/grub/i386/coreboot/machine.h: Rename
11426 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11427 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11428 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11429
11430 * kern/dl.c: Force native word size to suppress warnings when
11431 compiling grub-emu.
11432
11433 * kern/device.c (grub_device_iterate): Change struct part_ent to
11434 hold the name, not a pointer to it. Use one grub_malloc() per
11435 partition, not two. Free partition_name if grub_malloc() fails.
11436 Set ents to NULL only before grub_partition_iterate() is called.
11437
11438 2009-07-11 Bean <bean123ch@gmail.com>
11439
11440 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11441 childname.
11442
11443 2009-07-10 Bean <bean123ch@gmail.com>
11444 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11445
11446 * kern/ieee1275/openfw.c (grub_children_iterate)
11447 (grub_devalias_iterate): Fix size evaluation for property or path
11448 strings, which was broken since r2132.
11449
11450 2009-07-07 Pavel Roskin <proski@gnu.org>
11451
11452 * commands/search.c (search_file): Merge into ...
11453 (search_fs): ... this. Accept search type as argument.
11454 (grub_cmd_search): Pass search type to search_fs().
11455
11456 * include/grub/util/console.h: New file.
11457 * util/console.c: Use it instead of grub/machine/console.h.
11458 * util/grub-emu.c: Likewise.
11459
11460 * lib/arg.c (find_long_option): Remove.
11461 (find_long): Add `len' argument, make `s' const char *.
11462 (grub_arg_parse): Parse long options in place, not in a
11463 temporary buffer.
11464
11465 2009-07-06 Pavel Roskin <proski@gnu.org>
11466
11467 * commands/search.c (search_fs): Fix potential NULL pointer
11468 dereference.
11469
11470 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11471 function pointer.
11472
11473 2009-07-06 Daniel Mierswa <impulze@impulze.org>
11474
11475 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11476 comparison.
11477
11478 2009-07-05 Pavel Roskin <proski@gnu.org>
11479
11480 * include/grub/i386/linux.h (struct linux_kernel_params):
11481 Restore padding3, it's still needed.
11482
11483 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11484 FreeBSD.
11485 * util/osdetect.lua: Likewise.
11486
11487 2009-07-05 Bean <bean123ch@gmail.com>
11488
11489 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11490
11491 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11492 (grub_lua_getenv): Likewise.
11493 (grub_lua_setenv): Likewise.
11494 (save_errno): New function.
11495 (push_result): Likewise.
11496 (grub_lua_enum_device): Likewise.
11497 (grub_lua_enum_file): Likewise.
11498 (grub_lua_file_open): Likewise.
11499 (grub_lua_file_close): Likewise.
11500 (grub_lua_file_seek): Likewise.
11501 (grub_lua_file_read): Likewise.
11502 (grub_lua_file_getline): Likewise.
11503 (grub_lua_file_getsize): Likewise.
11504 (grub_lua_file_getpos): Likewise.
11505 (grub_lua_file_eof): Likewise.
11506 (grub_lua_file_exist): Likewise.
11507 (grub_lua_add_menu): Likewise.
11508
11509 * script/lua/grub_lua.h (isupper): New inline function.
11510 (islower): Likewise.
11511 (ispunct): Likewise.
11512 (isxdigit): Likewise.
11513 (strcspn): Change to normal function.
11514 (strpbkr): New function declaration.
11515 (memchr): Likewise.
11516
11517 * script/lua/grub_main.c (scan_str): New function.
11518 (strcspn): Likewise.
11519 (strpbrk): Likewise.
11520 (memchr): Likewise.
11521
11522 * script/lua/linit.c (lualibs): Enable the string library.
11523
11524 * util/osdetect.lua: New file.
11525
11526 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
11527
11528 * include/grub/i386/linux.h (struct linux_kernel_params): Add
11529 `capabilities' member.
11530
11531 2009-07-02 Pavel Roskin <proski@gnu.org>
11532
11533 * genparttoollist.sh: Add missing newline at the end.
11534
11535 2009-07-01 Pavel Roskin <proski@gnu.org>
11536
11537 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
11538
11539 * util/hostdisk.c (open_device): Remove `const' from
11540 `sysctl_size', as sysctlbyname() can change it (in this case it
11541 doesn't actually happen).
11542
11543 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
11544 using signed long int constants.
11545
11546 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
11547 constant to avoid a warning on FreeBSD.
11548
11549 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
11550 where it's needed.
11551
11552 * Makefile.in: Install include/grub/machine symlink.
11553
11554 * Makefile.in: When installing symlinks, use "cp -fR", which
11555 works on FreeBSD and MacOSX.
11556 From Yves Blusseau <cl7m42e02@sneakemail.com>
11557
11558 * kern/dl.c (grub_dl_resolve_symbol): Make static.
11559 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
11560
11561 * util/misc.c: Move grub_reboot() and grub_halt() ...
11562 * util/grub-emu.c: ... here. Make main_env static.
11563 * include/grub/util/misc.h: Remove main_env.
11564
11565 * kern/mm.c: Use correct format to print size_t.
11566
11567 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
11568 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
11569 * kern/powerpc/dl.c: Likewise.
11570 * kern/sparc64/dl.c: Likewise.
11571 * kern/x86_64/dl.c: Likewise.
11572
11573 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11574
11575 Fix grub-emu build on sparc64-ieee1275.
11576
11577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
11578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
11579
11580 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11581
11582 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
11583 (grub_reboot, grub_halt): New functions.
11584
11585 * util/i386/pc/misc.c: Delete. Update all users.
11586 * util/sparc64/ieee1275/misc.c: Likewise.
11587 * util/powerpc/ieee1275/misc.c: Likewise.
11588
11589 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11590
11591 * conf/i386.rmk (setjmp_mod_SOURCES)
11592 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
11593 * conf/common.rmk (setjmp_mod_SOURCES)
11594 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
11595 to use $(target_cpu).
11596 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
11597 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
11598 * conf/powerpc-ieee1275.rmk: Likewise.
11599 * conf/sparc64-ieee1275.rmk: Likewise.
11600
11601 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
11602 $(target_cpu) for kern/$(target_cpu)/dl.c.
11603 * conf/i386-efi.rmk: Likewise.
11604 * conf/i386-ieee1275.rmk: Likewise.
11605 * conf/x86_64-efi.rmk: Likewise.
11606 * conf/i386-coreboot.rmk: Likewise.
11607 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
11608 $(target_cpu) for kern/$(target_cpu)/dl.c and for
11609 kern/$(target_cpu)/cache.S.
11610 * conf/sparc64-ieee1275.rmk: Likewise.
11611
11612 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
11613
11614 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
11615 type to `grub_uint8_t', and adjust `padding9' accordingly.
11616
11617 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11618
11619 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
11620
11621 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
11622 assembly in final jump, using register constraints.
11623
11624 (grub_linux_boot): For text mode, initialize `have_vga' using
11625 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
11626
11627 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
11628 right before the final jump.
11629
11630 Set `video_mode' to 0x3.
11631
11632 Document initialization of `video_page', `video_mode' and
11633 `video_ega_bx'.
11634
11635 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11636
11637 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
11638 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
11639 and set GRUB_LINUX_FLAG_QUIET appropriately.
11640
11641 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
11642
11643 Fix build on Debian / sparc.
11644
11645 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
11646
11647 2009-06-28 Pavel Roskin <proski@gnu.org>
11648
11649 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
11650 fix a warning.
11651
11652 * util/grub.d/10_linux.in: Match SUSE style initrd names.
11653
11654 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11655
11656 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
11657 `err'.
11658
11659 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11660
11661 Revert r2338.
11662
11663 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
11664 file can't be opened. grub_file_open() is already supposed to set
11665 grub_errno / grub_errmsg appropriately.
11666 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11667
11668 2009-06-27 Pavel Roskin <proski@gnu.org>
11669 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
11670
11671 * include/grub/dl.h: Include grub/elf.h.
11672 (struct grub_dl): Add symtab field.
11673 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
11674 GRUB_MODULES_MACHINE_READONLY.
11675 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
11676 of the header for read-only modules.
11677 (grub_dl_unload): Free mod->symtab for read-only modules.
11678 * kern/i386/dl.c: Use mod->symtab.
11679 * kern/powerpc/dl.c: Likewise.
11680 * kern/sparc64/dl.c: Likewise.
11681 * kern/x86_64/dl.c: Likewise.
11682
11683 * conf/i386-qemu.rmk: New file.
11684 * kern/i386/qemu/startup.S: Likewise.
11685 * kern/i386/qemu/mmap.c: Likewise.
11686 * boot/i386/qemu/boot.S: Likewise.
11687 * include/grub/i386/qemu/time.h: Likewise.
11688 * include/grub/i386/qemu/serial.h: Likewise.
11689 * include/grub/i386/qemu/kernel.h: Likewise.
11690 * include/grub/i386/qemu/console.h: Likewise.
11691 * include/grub/i386/qemu/boot.h: Likewise.
11692 * include/grub/i386/qemu/init.h: Likewise.
11693 * include/grub/i386/qemu/machine.h: Likewise.
11694 * include/grub/i386/qemu/loader.h: Likewise.
11695 * include/grub/i386/qemu/memory.h: Likewise.
11696
11697 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
11698 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
11699 [qemu] (pkglib_IMAGES): Add `boot.img'.
11700 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
11701 [qemu] (boot_img_FORMAT): New variables.
11702 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
11703 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
11704 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
11705 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11706 [qemu] (kernel_img_FORMAT): New variables.
11707
11708 * configure.ac: Recognise `i386-qemu'.
11709
11710 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
11711 (for no compression).
11712 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
11713 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
11714 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
11715 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
11716 ifdefs).
11717
11718 2009-06-27 Pavel Roskin <proski@gnu.org>
11719
11720 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
11721 read.
11722 * efiemu/prepare32.c: Likewise.
11723 * efiemu/prepare64.c: Likewise.
11724
11725 2009-06-26 Pavel Roskin <proski@gnu.org>
11726
11727 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
11728 * include/grub/elf.h: Define symbols without "32" or "64" based
11729 on GRUB_TARGET_WORDSIZE.
11730 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
11731 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
11732 ELF definitions.
11733 * efiemu/loadcore64.c: Likewise.
11734 * loader/i386/bsd32.c: Likewise.
11735 * loader/i386/bsd64.c: Likewise.
11736 * kern/dl.c: Remove own ELF definitions.
11737 * util/i386/efi/grub-mkimage.c: Likewise.
11738
11739 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
11740
11741 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
11742 segment 0x0 unconditionally, because the reference generated by
11743 GAS is an absolute address.
11744
11745 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11746
11747 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
11748 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
11749
11750 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11751
11752 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
11753 indexes. Check for -f explicitly.
11754 (search_file): Improve error message.
11755 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
11756
11757 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11758
11759 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
11760 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
11761
11762 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11763
11764 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
11765 * conf/i386-ieee1275.rmk: Likewise.
11766 * conf/i386-coreboot.rmk: Likewise.
11767
11768 * kern/i386/pc/startup.S (grub_stop): Remove function.
11769 * kern/i386/ieee1275/startup.S: Likewise.
11770 * kern/i386/coreboot/startup.S: Likewise.
11771 * kern/i386/misc.S (grub_stop): New function.
11772
11773 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11774
11775 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
11776 * kern/i386/realmode.S (real_to_prot): ... to here.
11777
11778 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
11779
11780 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
11781 with `kernel.img'.
11782 (kernel_elf_SOURCES): Rename to ...
11783 (kernel_img_SOURCES): ... this.
11784 (kernel_elf_HEADERS): Rename to ...
11785 (kernel_img_HEADERS): ... this. Update all users.
11786 (kernel_elf_ASFLAGS): Rename to ...
11787 (kernel_img_ASFLAGS): ... this.
11788 (kernel_elf_CFLAGS): Rename to ...
11789 (kernel_img_CFLAGS): ... this.
11790 (kernel_elf_LDFLAGS): Rename to ...
11791 (kernel_img_LDFLAGS): ... this.
11792 * conf/i386-coreboot.rmk: Likewise.
11793 * conf/powerpc-ieee1275.rmk: Likewise.
11794
11795 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
11796 with "kernel.img".
11797
11798 2009-06-21 Pavel Roskin <proski@gnu.org>
11799
11800 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
11801 to match nested functions.
11802 * loader/sparc64/ieee1275/linux.c: Likewise.
11803
11804 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
11805
11806 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11807
11808 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
11809 all i386 platforms.
11810
11811 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
11812
11813 Fix asm file handling on ELF, and remove workarounds.
11814
11815 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
11816 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
11817 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
11818 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
11819
11820 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 Load BSD ELF modules
11823
11824 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
11825 and loader/i386/bsd64.c
11826 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
11827 (FREEBSD_MODTYPE_ELF_MODULE): New definition
11828 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
11829 (grub_freebsd_load_elfmodule32): New declaration
11830 (grub_freebsd_load_elfmoduleobj64): Likewise
11831 (grub_freebsd_load_elf_meta32): Likewise
11832 (grub_freebsd_load_elf_meta64): Likewise
11833 (grub_freebsd_add_meta): Likewise
11834 (grub_freebsd_add_meta_module): Likewise
11835 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
11836 (grub_freebsd_add_meta_module): Likewise and move module-specific
11837 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
11838 (grub_cmd_freebsd): Add elf-kernel specific parts
11839 based on grub_freebsd_add_meta_module
11840 (grub_cmd_freebsd_module): Add type parsing moved from
11841 grub_freebsd_add_meta_module
11842 (grub_cmd_freebsd_module_elf): New function
11843 (cmd_freebsd_module_elf): New variable
11844 (GRUB_MOD_INIT): Register freebsd_module_elf
11845 * loader/i386/bsd32.c: New file
11846 * loader/i386/bsd64.c: Likewise
11847 * loader/i386/bsdXX.c: Likewise
11848 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
11849 (grub_elf64_load): Likewise
11850 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
11851 All users updated
11852 (grub_elf64_load_hook_t): Likewise
11853
11854 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
11855
11856 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
11857 variable.
11858 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
11859 don't write a menu entry for recovery mode.
11860
11861 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11862
11863 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
11864 after it's no longer needed.
11865
11866 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
11867
11868 * include/grub/i386/loader.h (grub_linux_prot_size)
11869 (grub_linux_tmp_addr, grub_linux_real_addr)
11870 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
11871 GRUB_MACHINE_PCBIOS.
11872 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
11873 common grub_util_info() call to ...
11874 (generate_image): ... here.
11875 Fix use of uninitialized memory, comparison of signed with
11876 unsigned integers and memory leak.
11877 Remove bogus module address message.
11878
11879 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
11882 grub_raid_register
11883 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
11884
11885 2009-06-19 Pavel Roskin <proski@gnu.org>
11886
11887 * configure.ac: Remove stray AC_MSG_CHECKING.
11888
11889 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * disk/scsi.c (grub_scsi_open): use continue instead of big if
11892
11893 2009-06-18 Pavel Roskin <proski@gnu.org>
11894
11895 * conf/common.rmk: Add fs_file.mod.
11896 * disk/fs_file.c: New file.
11897 * include/grub/disk.h (enum grub_disk_dev_id): Add
11898 GRUB_DISK_DEVICE_FILE_ID.
11899
11900 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 Fix build with Apple's toolchain. Part 2
11903
11904 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
11905 a fake start
11906
11907 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 Fix build with Apple's toolchain. Part 1
11910
11911 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
11912 for long calls
11913 * configure.ac: remove a leftover AC_MSG_RESULT
11914 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
11915 Apple's toolchain
11916
11917 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 Fix warnings
11920
11921 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
11922 (decomp_block): initialize ch
11923 use grub_memcpy instead of memcpy
11924
11925 2009-06-17 Pavel Roskin <proski@gnu.org>
11926
11927 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
11928 version, use declarations needed to use vga_text as the startup
11929 console.
11930
11931 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
11932 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
11933 the kernel.
11934 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
11935 and grub_at_keyboard_fini(), it's done on module load and
11936 unload.
11937
11938 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
11939
11940 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
11941 file can't be found.
11942 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11943
11944 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Fix newline handling
11947
11948 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
11949 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
11950 (grub_script_yylex): don't segfault on unterminated script
11951 newline terminates command and variable
11952
11953 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 avoid double grub_adjust_range call. Bug reported by David Simner
11956
11957 * kern/disk.c (grub_disk_write): change to raw disk access before
11958 calling disk_read
11959
11960 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
11961
11962 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
11963 spaces, for the benefit of help2man.
11964 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11965
11966 2009-06-16 Pavel Roskin <proski@gnu.org>
11967
11968 * kern/i386/halt.c: Include grub/machine/init.h.
11969 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
11970
11971 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
11972
11973 * util/grub.d/30_os-prober.in: Use ${root} in the generated
11974 drivemap menuentry.
11975
11976 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
11977
11978 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
11979 `echo' command.
11980
11981 2009-06-16 Pavel Roskin <proski@gnu.org>
11982
11983 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
11984 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
11985 save %dx, we only need %dl and we never change it.
11986 * boot/i386/pc/cdboot.S: Don't set the root drive.
11987 * boot/i386/pc/pxeboot.S: Likewise.
11988 * include/grub/i386/pc/boot.h: Remove
11989 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
11990 GRUB_BOOT_MACHINE_DRIVE_CHECK.
11991 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
11992 * kern/i386/pc/init.c (make_install_device): Remove references
11993 to grub_root_drive.
11994 * kern/i386/pc/startup.S: Likewise.
11995 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
11996
11997 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 xnu_uuid command
12000
12001 * commands/xnu_uuid.c: new file
12002 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
12003 (xnu_uuid_mod_SOURCES): new variable
12004 (xnu_uuid_mod_CFLAGS): likewise
12005 (xnu_uuid_mod_LDFLAGS): likewise
12006 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
12007 * conf/i386-ieee1275.rmk: likewise
12008 * conf/i386-pc.rmk: likewise
12009 * conf/powerpc-ieee1275.rmk: likewise
12010 * conf/sparc64-ieee1275.rmk: likewise
12011 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
12012
12013 2009-06-16 Pavel Roskin <proski@gnu.org>
12014
12015 * configure.ac: Avoid '==' in test command, it's not portable.
12016
12017 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Probe command
12020
12021 * commands/probe.c: new file
12022 * conf/common.rmk (pkglib_MODULES): add probe.mod
12023 (probe_mod_SOURCES): new variable
12024 (probe_mod_CFLAGS): likewise
12025 (probe_mod_LDFLAGS): likewise
12026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
12027 * conf/i386-ieee1275.rmk: likewise
12028 * conf/i386-pc.rmk: likewise
12029 * conf/powerpc-ieee1275.rmk: likewise
12030 * conf/sparc64-ieee1275.rmk: likewise
12031
12032 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 Fix handling of string like \"hello\" and "a
12035 b"
12036
12037 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
12038 (grub_script_yylex): fix parsing of quoting, escaping and newline
12039
12040 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
12043 handling
12044
12045 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
12046
12047 * util/grub-mkconfig.in: Fix parsing of --output option.
12048
12049 2009-06-12 Pavel Roskin <proski@gnu.org>
12050
12051 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
12052 genmk.rb don't need to be generated or installed.
12053
12054 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * commands/i386/pc/drivemap_int13h.S: add more comments
12057
12058 2009-06-11 Pavel Roskin <proski@gnu.org>
12059
12060 * Makefile.in (uninstall): Uninstall manuals.
12061
12062 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
12063 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
12064 and update-grub_lib in two places.
12065 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
12066
12067 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
12068 a compiler warning.
12069
12070 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
12071 `entry_lo' to fix variable shadowing.
12072
12073 2009-06-11 Christian Franke <franke@computer.org>
12074
12075 * kern/misc.c (__enable_execute_stack): Add missing return type
12076 to prevent gcc warning.
12077
12078 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
12079
12080 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
12081
12082 2009-06-11 Pavel Roskin <proski@gnu.org>
12083
12084 * Makefile.in: Don't rely on any scripts being executable.
12085 Always use $(SHELL) to run shell scripts.
12086
12087 * configure.ac: Always define ___main if using -nostdlib. This
12088 fixes tests on Cygwin.
12089
12090 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
12091
12092 UDF fix
12093
12094 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
12095 is in bytes and not in blocks
12096
12097 2009-06-11 Pavel Roskin <proski@gnu.org>
12098
12099 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
12100 warning.
12101
12102 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
12103
12104 * util/grub.d/30_os-prober.in: Fix a comment. Source
12105 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
12106 to set the root device. Place drivemap command in the generated
12107 chain entry.
12108
12109 2009-06-11 Pavel Roskin <proski@gnu.org>
12110
12111 * configure.ac: Remove host_m32. Issues with 64-bit utilities
12112 have long been resolved.
12113
12114 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
12115
12116 * util/grub.d/10_linux.in: Capitalise "Linux".
12117
12118 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
12119
12120 2009-06-11 Pavel Roskin <proski@gnu.org>
12121
12122 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
12123 fix a gcc warning and ensure that the function won't ever exit.
12124
12125 * kern/i386/ieee1275/init.c: Add missing prototype for
12126 grub_stop_floppy().
12127
12128 * loader/ieee1275/multiboot2.c [__i386__]: Include
12129 grub/cpu/multiboot.h.
12130
12131 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
12132 casts to short - they are not portable and cause warnings. Fix
12133 use of uninitialized values in input_buf. Use ARRAY_SIZE.
12134
12135 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 Drivemap fixes
12138
12139 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
12140 new function
12141 (grub_get_root_biosnumber_saved): new variable
12142 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
12143 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
12144 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
12145 %dx after the call if necessary
12146 * conf/common.rmk (pkglib_MODULES): remove boot.mod
12147 (boot_mod_SOURCES): remove
12148 (boot_mod_CFLAGS): remove
12149 (boot_mod_LDFLAGS): remove
12150 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
12151 (boot_mod_SOURCES): new variable
12152 (boot_mod_CFLAGS): likewise
12153 (boot_mod_LDFLAGS): likewise
12154 * conf/i386-efi.rmk: likewise
12155 * conf/i386-ieee1275.rmk: likewise
12156 * conf/i386-pc.rmk: likewise
12157 * conf/powerpc-ieee1275.rmk: likewise
12158 * conf/sparc64-ieee1275.rmk: likewise
12159 * conf/x86_64-efi.rmk: likewise
12160 * include/grub/i386/pc/biosnum.h: new file
12161 * lib/i386/pc/biosnum.c: likewise
12162 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
12163 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
12164 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
12165
12166 2009-06-10 Pavel Roskin <proski@gnu.org>
12167
12168 * io/gzio.c (test_header): Don't reuse one buffer for all data.
12169 Use separate variables. Read only the file size at the end, but
12170 not the checksum that we don't use.
12171
12172 * kern/file.c (grub_file_read): Use void pointer for the buffer.
12173 Adjust all callers.
12174
12175 * kern/ieee1275/openfw.c: Remove libc includes.
12176 * kern/ieee1275/cmain.c: Likewise.
12177 * include/grub/ieee1275/ieee1275.h: Likewise.
12178
12179 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
12180 compiler warnings.
12181
12182 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
12183
12184 * Makefile.in: Remove all trailing whitespace.
12185 * conf/i386-pc.rmk: Likewise.
12186 * conf/powerpc-ieee1275.rmk: Likewise.
12187 * conf/sparc64-ieee1275.rmk: Likewise.
12188 * docs/grub.texi: Likewise.
12189 * docs/texinfo.tex: Likewise.
12190 * disk/fs_uuid.c: Likewise.
12191 * disk/lvm.c: Likewise.
12192 * disk/scsi.c: Likewise.
12193 * disk/ata.c: Likewise.
12194 * disk/ieee1275/ofdisk.c: Likewise.
12195 * disk/i386/pc/biosdisk.c: Likewise.
12196 * disk/host.c: Likewise.
12197 * disk/raid.c: Likewise.
12198 * disk/efi/efidisk.c: Likewise.
12199 * disk/usbms.c: Likewise.
12200 * disk/memdisk.c: Likewise.
12201 * disk/loopback.c: Likewise.
12202 * kern/powerpc/dl.c: Likewise.
12203 * kern/device.c: Likewise.
12204 * kern/dl.c: Likewise.
12205 * kern/sparc64/dl.c: Likewise.
12206 * kern/ieee1275/ieee1275.c: Likewise.
12207 * kern/term.c: Likewise.
12208 * kern/fs.c: Likewise.
12209 * kern/i386/dl.c: Likewise.
12210 * kern/i386/pc/startup.S: Likewise.
12211 * kern/i386/pc/init.c: Likewise.
12212 * kern/i386/pc/mmap.c: Likewise.
12213 * kern/i386/pc/lzo1x.S: Likewise.
12214 * kern/i386/ieee1275/init.c: Likewise.
12215 * kern/i386/realmode.S: Likewise.
12216 * kern/i386/tsc.c: Likewise.
12217 * kern/partition.c: Likewise.
12218 * kern/corecmd.c: Likewise.
12219 * kern/file.c: Likewise.
12220 * kern/efi/efi.c: Likewise.
12221 * kern/efi/init.c: Likewise.
12222 * kern/efi/mm.c: Likewise.
12223 * kern/main.c: Likewise.
12224 * kern/err.c: Likewise.
12225 * kern/env.c: Likewise.
12226 * kern/disk.c: Likewise.
12227 * kern/generic/millisleep.c: Likewise.
12228 * kern/generic/rtc_get_time_ms.c: Likewise.
12229 * kern/misc.c: Likewise.
12230 * kern/parser.c: Likewise.
12231 * genmk.rb: Likewise.
12232 * configure.ac: Likewise.
12233 * boot/i386/pc/diskboot.S: Likewise.
12234 * boot/i386/pc/pxeboot.S: Likewise.
12235 * boot/i386/pc/boot.S: Likewise.
12236 * boot/i386/pc/lnxboot.S: Likewise.
12237 * boot/i386/pc/cdboot.S: Likewise.
12238 * parttool/pcpart.c: Likewise.
12239 * video/readers/tga.c: Likewise.
12240 * video/video.c: Likewise.
12241 * video/bitmap.c: Likewise.
12242 * lib/envblk.c: Likewise.
12243 * lib/i386/setjmp.S: Likewise.
12244 * fs/xfs.c: Likewise.
12245 * fs/afs.c: Likewise.
12246 * fs/fat.c: Likewise.
12247 * fs/ntfs.c: Likewise.
12248 * fs/udf.c: Likewise.
12249 * fs/affs.c: Likewise.
12250 * fs/iso9660.c: Likewise.
12251 * fs/hfs.c: Likewise.
12252 * fs/fshelp.c: Likewise.
12253 * fs/ext2.c: Likewise.
12254 * fs/jfs.c: Likewise.
12255 * fs/reiserfs.c: Likewise.
12256 * fs/hfsplus.c: Likewise.
12257 * fs/minix.c: Likewise.
12258 * fs/cpio.c: Likewise.
12259 * fs/sfs.c: Likewise.
12260 * fs/ufs.c: Likewise.
12261 * efiemu/prepare.c: Likewise.
12262 * efiemu/loadcore_common.c: Likewise.
12263 * efiemu/runtime/efiemu.sh: Likewise.
12264 * efiemu/runtime/efiemu.S: Likewise.
12265 * efiemu/runtime/efiemu.c: Likewise.
12266 * efiemu/pnvram.c: Likewise.
12267 * efiemu/main.c: Likewise.
12268 * efiemu/i386/pc/cfgtables.c: Likewise.
12269 * efiemu/i386/loadcore64.c: Likewise.
12270 * efiemu/i386/loadcore32.c: Likewise.
12271 * efiemu/loadcore.c: Likewise.
12272 * efiemu/symbols.c: Likewise.
12273 * efiemu/mm.c: Likewise.
12274 * include/grub/autoefi.h: Likewise.
12275 * include/grub/datetime.h: Likewise.
12276 * include/grub/term.h: Likewise.
12277 * include/grub/hfs.h: Likewise.
12278 * include/grub/lvm.h: Likewise.
12279 * include/grub/i386/tsc.h: Likewise.
12280 * include/grub/i386/linux.h: Likewise.
12281 * include/grub/i386/xnu.h: Likewise.
12282 * include/grub/i386/efiemu.h: Likewise.
12283 * include/grub/i386/pc/biosdisk.h: Likewise.
12284 * include/grub/i386/pc/memory.h: Likewise.
12285 * include/grub/i386/pc/vbe.h: Likewise.
12286 * include/grub/parttool.h: Likewise.
12287 * include/grub/video.h: Likewise.
12288 * include/grub/memory.h: Likewise.
12289 * include/grub/fs.h: Likewise.
12290 * include/grub/partition.h: Likewise.
12291 * include/grub/xnu.h: Likewise.
12292 * include/grub/efi/api.h: Likewise.
12293 * include/grub/efi/pe32.h: Likewise.
12294 * include/grub/efi/memory.h: Likewise.
12295 * include/grub/multiboot.h: Likewise.
12296 * include/grub/usbdesc.h: Likewise.
12297 * include/grub/multiboot2.h: Likewise.
12298 * include/grub/acpi.h: Likewise.
12299 * include/grub/efiemu/efiemu.h: Likewise.
12300 * include/grub/disk.h: Likewise.
12301 * include/grub/ieee1275/ieee1275.h: Likewise.
12302 * include/grub/net.h: Likewise.
12303 * include/grub/machoload.h: Likewise.
12304 * include/grub/macho.h: Likewise.
12305 * include/multiboot.h: Likewise.
12306 * genmoddep.awk: Likewise.
12307 * normal/main.c: Likewise.
12308 * normal/menu_entry.c: Likewise.
12309 * normal/menu_viewer.c: Likewise.
12310 * normal/completion.c: Likewise.
12311 * normal/cmdline.c: Likewise.
12312 * normal/misc.c: Likewise.
12313 * normal/datetime.c: Likewise.
12314 * bus/usb/usbtrans.c: Likewise.
12315 * bus/usb/ohci.c: Likewise.
12316 * bus/usb/uhci.c: Likewise.
12317 * bus/usb/usb.c: Likewise.
12318 * mmap/efi/mmap.c: Likewise.
12319 * mmap/i386/pc/mmap_helper.S: Likewise.
12320 * mmap/i386/pc/mmap.c: Likewise.
12321 * mmap/i386/mmap.c: Likewise.
12322 * mmap/i386/uppermem.c: Likewise.
12323 * mmap/mmap.c: Likewise.
12324 * commands/acpi.c: Likewise.
12325 * commands/echo.c: Likewise.
12326 * commands/blocklist.c: Likewise.
12327 * commands/loadenv.c: Likewise.
12328 * commands/usbtest.c: Likewise.
12329 * commands/boot.c: Likewise.
12330 * commands/parttool.c: Likewise.
12331 * commands/search.c: Likewise.
12332 * commands/cat.c: Likewise.
12333 * commands/i386/pc/play.c: Likewise.
12334 * commands/i386/pc/drivemap.c: Likewise.
12335 * commands/i386/pc/vbeinfo.c: Likewise.
12336 * commands/i386/pc/acpi.c: Likewise.
12337 * commands/i386/pc/vbetest.c: Likewise.
12338 * commands/ls.c: Likewise.
12339 * commands/cmp.c: Likewise.
12340 * commands/test.c: Likewise.
12341 * commands/efi/acpi.c: Likewise.
12342 * commands/gptsync.c: Likewise.
12343 * commands/help.c: Likewise.
12344 * partmap/amiga.c: Likewise.
12345 * partmap/apple.c: Likewise.
12346 * partmap/acorn.c: Likewise.
12347 * partmap/pc.c: Likewise.
12348 * partmap/sun.c: Likewise.
12349 * partmap/gpt.c: Likewise.
12350 * script/sh/lexer.c: Likewise.
12351 * script/sh/function.c: Likewise.
12352 * font/font.c: Likewise.
12353 * font/font_cmd.c: Likewise.
12354 * loader/powerpc/ieee1275/linux.c: Likewise.
12355 * loader/efi/chainloader.c: Likewise.
12356 * loader/multiboot_loader.c: Likewise.
12357 * loader/macho.c: Likewise.
12358 * loader/i386/multiboot.c: Likewise.
12359 * loader/i386/linux.c: Likewise.
12360 * loader/i386/pc/linux.c: Likewise.
12361 * loader/i386/pc/multiboot2.c: Likewise.
12362 * loader/i386/pc/chainloader.c: Likewise.
12363 * loader/i386/pc/xnu.c: Likewise.
12364 * loader/i386/bsd_trampoline.S: Likewise.
12365 * loader/i386/efi/linux.c: Likewise.
12366 * loader/i386/multiboot_elfxx.c: Likewise.
12367 * loader/i386/bsd_helper.S: Likewise.
12368 * loader/i386/bsd.c: Likewise.
12369 * loader/i386/linux_trampoline.S: Likewise.
12370 * loader/i386/xnu_helper.S: Likewise.
12371 * loader/i386/xnu.c: Likewise.
12372 * loader/i386/bsd_pagetable.c: Likewise.
12373 * loader/i386/multiboot_helper.S: Likewise.
12374 * loader/xnu.c: Likewise.
12375 * loader/xnu_resume.c: Likewise.
12376 * io/gzio.c: Likewise.
12377 * term/efi/console.c: Likewise.
12378 * term/terminfo.c: Likewise.
12379 * term/ieee1275/ofconsole.c: Likewise.
12380 * term/i386/pc/serial.c: Likewise.
12381 * term/i386/pc/vesafb.c: Likewise.
12382 * term/i386/pc/vga.c: Likewise.
12383 * term/usb_keyboard.c: Likewise.
12384 * term/gfxterm.c: Likewise.
12385 * aclocal.m4: Likewise.
12386 * util/lvm.c: Likewise.
12387 * util/grub.d/30_os-prober.in: Likewise.
12388 * util/grub.d/10_hurd.in: Likewise.
12389 * util/console.c: Likewise.
12390 * util/grub-macho2img.c: Likewise.
12391 * util/grub-probe.c: Likewise.
12392 * util/hostfs.c: Likewise.
12393 * util/i386/pc/grub-mkimage.c: Likewise.
12394 * util/i386/pc/grub-setup.c: Likewise.
12395 * util/i386/efi/grub-mkimage.c: Likewise.
12396 * util/grub-mkconfig.in: Likewise.
12397 * util/raid.c: Likewise.
12398 * util/resolve.c: Likewise.
12399 * util/grub-mkdevicemap.c: Likewise.
12400 * util/grub-emu.c: Likewise.
12401 * util/getroot.c: Likewise.
12402 * util/hostdisk.c: Likewise.
12403 * util/usb.c: Likewise.
12404 * util/grub-editenv.c: Likewise.
12405 * util/misc.c: Likewise.
12406
12407 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
12408
12409 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
12410 `genparttoollist.sh'.
12411 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
12412 Add `*.sh' to the list find searches for and change `mdate.sh'
12413 to `mdate-sh'.
12414
12415 2009-06-10 Pavel Roskin <proski@gnu.org>
12416
12417 * include/grub/multiboot2.h: Provide compatibility defines for
12418 multiboot2.h.
12419 * include/multiboot2.h: Include stdint.h only if needed, using
12420 angle brackets.
12421 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
12422 grub/multiboot2.h.
12423 * loader/ieee1275/multiboot2.c: Likewise.
12424 * loader/multiboot2.c: Likewise.
12425 * loader/multiboot_loader.c: Likewise.
12426
12427 * configure.ac: Use -nostdlib when probing for the target. It
12428 should not be required to have libc for the target.
12429
12430 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12431 they fail without libc headers for the target.
12432 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12433 exports.
12434 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12435 preprocessor conditionals.
12436
12437 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12438 build system doesn't need to be aware of the tar.c internals.
12439
12440 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
12441
12442 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
12443
12444 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12445
12446 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12447 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12448
12449 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
12450
12451 * util/i386/pc/grub-install.in: Change the error message if UUIDs
12452 aren't available if ata.mod gets used.
12453
12454 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
12455
12456 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
12457 initialising controller.
12458 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12459
12460 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
12461
12462 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12463 to choose between ata and biosdisk module on i386-pc.
12464
12465 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
12466
12467 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12468 Subclass and Programming Interface fields in terms of the 3 byte
12469 Class Code register.
12470 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12471
12472 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12473 interface is OHCI. Add grub_dprintf for symmetry with
12474 bus/usb/uhci.c.
12475 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12476 interface is UHCI. Add interf variable for programming
12477 interface. Print interface with class/subclass.
12478
12479 * bus/usb/ohci.c: Set interf with correct field.
12480
12481 * bus/usb/uhci.c: Remove unneeded doubled lines.
12482 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12483 Remove whitespace inside comment.
12484
12485 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12486
12487 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12488 as fallback an equivalent option without depth.
12489
12490 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 Not fail if unable to retrieve C/H/S on LBA disks
12493
12494 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
12495 if unable to retrieve C/H/S on LBA disks
12496
12497 2009-06-08 Pavel Roskin <proski@gnu.org>
12498
12499 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12500 about aliasing.
12501
12502 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
12503
12504 * Makefile.in (uninstall): Remove all $lib_DATA files.
12505
12506 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 Bugfix: install on partitionless device
12509
12510 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12511 is a whole disk
12512
12513 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
12514
12515 * Makefile.in (uninstall): Remove all $include_DATA files.
12516
12517 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
12518
12519 * commands/true.c: New file. Implement the true and false commands.
12520 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12521 (true_mod_SOURCES): New variable.
12522 (true_mod_CFLAGS): Likewise.
12523 (true_mod_LDFLAGS): Likewise.
12524
12525 2009-06-05 Colin D Bennett <colin@gibibit.com>
12526
12527 Optimized font character lookup using binary search instead of linear
12528 search. Fonts now are required to have the character index ordered by
12529 code point.
12530
12531 * font/font.c (load_font_index): Verify that fonts have ordered
12532 character indices.
12533 (find_glyph): Use binary search instead of linear search to find a
12534 character in a font.
12535
12536 2009-06-05 Michael Scherer <misc@mandriva.org>
12537
12538 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
12539 uses case sensitive btree.
12540 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
12541 only for case insensitive filesystems.
12542
12543 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
12546 * conf/common.rmk (search_mod_CFLAGS): likewise
12547
12548 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
12551 compensate a compiler bug
12552
12553 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
12556 instead of '\b'
12557
12558 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Definitions for creating asm symbols with Apple's CC
12561
12562 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
12563 [APPLE_CC] (VARIABLE): likewise
12564
12565 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 Disable lnxboot.img when compiled
12568 with Apple's CC
12569
12570 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
12571 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
12572 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
12573 [! APPLE_CC] (CODE_LENG): skip
12574 [! APPLE_CC] (setup_sects): likewise
12575 [! APPLE_CC]: skip filling
12576
12577 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Address in trampolines based on 32-bit registers when compiled
12580 with Apple's CC
12581
12582 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
12583 for addresses
12584 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
12585
12586 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 Avoid aliases when compiling with Apple's CC for PCBIOS machine
12589
12590 * kern/misc.c [APPLE_CC] (memcpy): new function
12591 [APPLE_CC] (memmove): likewise
12592 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
12593 (memcpy): define alias conditionally on !APPLE_CC
12594 (memset): likewise
12595 (abort): likewise
12596 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
12597 APPLE_CC are defined
12598 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
12599 (grub_assert_fail): make prototype conditional
12600
12601 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
12604
12605 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
12606 grub-macho2img
12607 (CLEANFILES): add grub-macho2img
12608 (grub_macho2img_SOURCES): new variable
12609 * kern/i386/pc/startup.S (bss_start): new variable
12610 (bss_end): likewise
12611 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
12612 * util/grub-macho2img.c: new file
12613
12614 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 Use objconv when compiling with Apple's CC
12617
12618 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
12619 (efiemu64.o): likewise
12620 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
12621 when compiling with Apple's CC
12622 (efiemu64_s.o): likewise
12623 * configure.ac: check for objconv when compiling with Apple's CC
12624 * genmk.rb: use objconv for modules when compiled with Apple's CC
12625
12626 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 Define segment as well as section when compiling with
12629 Apple's CC
12630
12631 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
12632 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
12633 (efiemu_convert_pointer): likewise
12634 (efiemu_set_virtual_address_map): likewise
12635 (efiemu_convert_pointer): likewise
12636 (efiemu_getcrc32): likewise
12637 (init_crc32_table): likewise
12638 (reflect): likewise
12639 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
12640 (GRUB_MOD_DEP): likewise
12641
12642 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 Allow a compilation without -mcmodel=large
12645
12646 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
12647 when compiled without -mcmodel=large
12648 (filter_memory_map): remove memory post 4 GiB when compiled
12649 without -mcmodel=large
12650 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
12651 TARGET_CFLAGS when -mcmodel=large isn't supported
12652
12653 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Remove nested functions in efiemu core
12656
12657 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
12658
12659 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
12662
12663 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
12664 temporary storage
12665 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
12666 using Apple's CC
12667 (grub_cpu_is_tsc_supported): likewise
12668 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
12669
12670 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 Absolute addressing through constant with Apple's cc
12673
12674 * kern/i386/pc/startup.S: Define necessary constants
12675 and address through it when using ABS with Apple's CC
12676 * boot/i386/pc/diskboot.S: likewise
12677 * boot/i386/pc/boot.S: likewise
12678 * boot/i386/pc/lnxboot.S: likewise
12679 * boot/i386/pc/cdboot.S: likewise
12680 * mmap/i386/pc/mmap_helper.S: likewise
12681 * commands/i386/pc/drivemap_int13h.S: likewise
12682
12683 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 Check if compiler is apple cc
12686
12687 * Makefile.in (ASFLAGS): new variable
12688 (TARGET_ASFLAGS): likewise
12689 (TARGET_MODULE_FORMAT): likewise
12690 (TARGET_APPLE_CC): likewise
12691 (OBJCONV): likewise
12692 (TARGET_IMG_CFLAGS): likewise
12693 (TARGET_CPPFLAGS): add includedir
12694 * configure.ac: call grub_apple_cc and grub_apple_target_cc
12695 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
12696 Check for linker script only if compiler isn't Apple's CC
12697 (TARGET_MODULE_FORMAT): set
12698 (TARGET_APPLE_CC): likewise
12699 (TARGET_ASFLAGS): likewise
12700 (ASFLAGS): likewise
12701 Check for objcopy only if compiler isn't Apple's CC
12702 Check for BSS symbol only if compiler isn't Apple's CC
12703 * genmk.rb: adapt nm options if we use Apple's utils
12704 * aclocal.m4 (grub_apple_cc): new test
12705 (grub_apple_target_cc): likewise
12706
12707 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 Simplify sed expressions and improve awk
12710
12711 * Makefile.in (install-local): simplify sed expression
12712 * gencmdlist.sh: likewise
12713 * genmoddep.awk: avoid adding module as a dependency of itself
12714
12715 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 Add missing start symbols
12718
12719 * boot/i386/pc/boot.S: add start
12720 * boot/i386/pc/pxeboot.S: likewise
12721
12722 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 Fix wrong assumptions with grub-mkimage on EFI
12725
12726 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
12727 (relocate_addresses): consider both r_addend and value at offset
12728 (make_mods_section): zerofill modinfo and header
12729 (convert_elf): write prefix here
12730
12731 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Use .asciz instead of .string
12734
12735 * i386/pc/diskboot.S: use .asciz instead of .string
12736 * i386/pc/boot.S: likewise
12737 * include/grub/dl.h (GRUB_MOD_DEP): likewise
12738 (GRUB_MOD_NAME): likewise
12739
12740 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 gfxpayload support
12743
12744 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
12745 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
12746 (grub_video_setup): remove
12747 (grub_video_set_mode): new prototype
12748 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
12749 (vid_mode): remove
12750 (linux_vesafb_res): compile only on PCBIOS
12751 (grub_linux_boot): support gfxpayload
12752 * loader/i386/pc/xnu.c (video_hook): new function
12753 (grub_xnu_set_video): support gfxpayload
12754 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
12755 (DEFAULT_VIDEO_HEIGHT): likewise
12756 (DEFAULT_VIDEO_FLAGS): likewise
12757 (DEFAULT_VIDEO_MODE): new definition
12758 (video_hook): new function
12759 (grub_gfxterm_init): use grub_video_set_mode
12760 * util/grub.d/30_os-prober.in: remove explicit modesetting before
12761 loading xnu
12762 * video/video.c (grub_video_setup): removed
12763 (grub_video_set_mode): new function based on grub_gfxterm_init and
12764 grub_video_setup
12765
12766 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 Avoid calling biosdisk in drivemap
12769
12770 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
12771 (revparse_biosdisk): likewise
12772 (list_mappings): derive name from id directly
12773 (grub_cmd_drivemap): use tryparse_diskstring
12774
12775 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Script fixes
12778
12779 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
12780 (grub_lexer_param): add tokenonhold
12781 (grub_script_create_cmdline): remove cmdline. All callers updated
12782 (grub_script_function_create): make functionname
12783 grub_script_arg. All callers updated
12784 (grub_script_execute_argument_to_string): new prototype
12785 * kern/parser.c (state_transitions): reorder
12786 (grub_parser_cmdline_state): fix a bug and make more compact
12787 * script/sh/execute.c (grub_script_execute_argument_to_string):
12788 make global
12789 (grub_script_execute_cmdline): use new format
12790 * script/sh/function.c (grub_script_function_create): make functionname
12791 grub_script_arg. All callers updated
12792 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
12793 (grub_script_yylex): remove
12794 (grub_script_yylex2): renamed to ...
12795 (grub_script_yylex): ...renamed
12796 parse the expressions like a${b}c
12797 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
12798 (GRUB_PARSER_TOKEN_VAR): remove
12799 (GRUB_PARSER_TOKEN_NAME): likewise
12800 ("if"): declare as typeless
12801 ("while"): likewise
12802 ("function"): likewise
12803 ("else"): likewise
12804 ("then"): likewise
12805 ("fi"): likewise
12806 (text): remove
12807 (argument): likewise
12808 (script): accept empty scripts and make exit on error
12809 (arguments): use GRUB_PARSER_TOKEN_ARG
12810 (function): likewise
12811 (command): move error handling to script
12812 (menuentry): move grub_script_lexer_ref before
12813 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
12814 argument. All callers updated
12815
12816 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12817
12818 Prevent GRUB from probing floppies during boot.
12819
12820 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
12821 * commands/search.c (options): Add --no-floppy.
12822 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
12823 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
12824 --no-floppy when searching for UUIDs.
12825
12826 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
12827
12828 Simplify the code duplication in commands/search.c.
12829
12830 * commands/search.c (search_label, search_fs_uuid): Merge into ...
12831 (search_fs): ... this. Update all users.
12832
12833 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
12834
12835 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
12836
12837 2009-05-28 Pavel Roskin <proski@gnu.org>
12838
12839 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
12840 Remove the original symlink explicitly.
12841
12842 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
12843 just one slash. That's how grub_fshelp_find_file() does it.
12844
12845 2009-05-26 Pavel Roskin <proski@gnu.org>
12846
12847 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
12848 to `str'.
12849
12850 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
12851 possibly unused.
12852
12853 2009-05-25 Christian Franke <franke@computer.org>
12854
12855 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
12856 register.
12857 (grub_atapi_identify): Add wait after drive select.
12858 (grub_ata_identify): Do more strict status register check before
12859 calling grub_atapi_identify (). Suppress error message if status
12860 register is 0x00 after command failure. Add status register
12861 check after PIO read to avoid bogus identify due to stuck DRQ.
12862 Thanks to Pavel Roskin for testing.
12863 (grub_device_initialize): Remove unsafe status register check.
12864 Thanks to 'phcoder' for problem report and patch.
12865 Prevent sign extension in debug message.
12866
12867 2009-05-23 Colin D Bennett <colin@gibibit.com>
12868
12869 Cleaned up `include/grub/normal.h'. Grouped prototypes by
12870 definition file, and functions defined in `normal/menu.c' have had
12871 their prototypes moved to `include/grub/menu.h' for consistency.
12872
12873 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
12874 from normal.h.
12875 (grub_menu_get_entry): Likewise.
12876 (grub_menu_get_timeout): Likewise.
12877 (grub_menu_set_timeout): Likewise.
12878 (grub_menu_execute_entry): Likewise.
12879 (grub_menu_execute_with_fallback): Likewise.
12880 (grub_menu_entry_run): Likewise.
12881
12882 * include/grub/normal.h: Re-ordered and grouped function
12883 prototypes by file that the function is defined in.
12884 (grub_menu_execute_callback): Removed; moved to menu.h.
12885 (grub_menu_get_entry): Likewise.
12886 (grub_menu_get_timeout): Likewise.
12887 (grub_menu_set_timeout): Likewise.
12888 (grub_menu_execute_entry): Likewise.
12889 (grub_menu_execute_with_fallback): Likewise.
12890 (grub_menu_entry_run): Likewise.
12891 (grub_menu_addentry): Renamed from this ...
12892 (grub_normal_add_menu_entry): ... to this.
12893
12894 * normal/main.c (grub_menu_addentry): Renamed from this ...
12895 (grub_normal_add_menu_entry): ... to this.
12896
12897 * script/sh/execute.c (grub_script_execute_menuentry): Update
12898 reference to renamed grub_menu_addentry function.
12899
12900 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
12901
12902 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
12903
12904 2009-05-22 Pavel Roskin <proski@gnu.org>
12905
12906 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
12907 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
12908 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
12909 compiling for the i386 targets, but not for the utilities.
12910
12911 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
12912 to grub_uint8_t.
12913 (grub_root_drive): Likewise.
12914 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
12915 remove alignment.
12916 (grub_root_drive): Change size to byte.
12917 (grub_start_addr): Remove.
12918 (grub_end_addr): Likewise.
12919 (grub_apm_bios_info): Likewise.
12920
12921 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
12922
12923 * normal/i386: Remove.
12924 * normal/powerpc: Likewise.
12925 * normal/sparc64: Likewise.
12926 * normal/x86_64: Likewise.
12927
12928 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
12931 * loader/i386/linux_trampoline.S: Fix indentation
12932 * loader/i386/xnu_helper.S: Likewise
12933
12934 2009-05-18 Colin D Bennett <colin@gibibit.com>
12935
12936 Display error messages when parsing a Lua statement fails.
12937 Previously, executing a syntactically invalid statement like
12938 ")foo" or "bar;" would silently fail.
12939
12940 * script/lua/grub_main.c (handle_lua_error): New function.
12941 (grub_lua_parse_line): Improved reporting of Lua parser and
12942 execution errors.
12943
12944 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 Remove -Werror which causes build to fail on some systems
12947
12948 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
12949 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
12950 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
12951
12952 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12953
12954 trampoline for linux on 64-bit platform
12955
12956 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
12957 loader/i386/efi/linux_trampoline.S
12958 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
12959 declaration
12960 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
12961 here
12962 * loader/i386/linux_trampoline.S: moved here
12963 * loader/i386/efi/linux.c (allocate_pages): reserve space for
12964 trampoline
12965 (jumpvector): removed
12966 (grub_linux_trampoline_start): new declaration
12967 (grub_linux_trampoline_end): likewise
12968 (grub_linux_boot): use trampoline when on 64-bit platform
12969 * loader/i386/linux.c: likewise
12970
12971 2009-05-16 Pavel Roskin <proski@gnu.org>
12972
12973 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
12974 const to avoid a warning.
12975 (grub_lua_setenv): Likewise.
12976 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
12977 lmsg to fix a warning.
12978
12979 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12980
12981 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
12982 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12983 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
12984 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12985 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12986 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12987 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
12988 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
12989
12990 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
12991
12992 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
12993
12994 2009-05-16 Bean <bean123ch@gmail.com>
12995
12996 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
12997 (lua_mod_SOURCES): New variable.
12998 (lua_mod_CFLAGS): Likewise.
12999 (lua_mod_LDFLAGS): Likewise.
13000
13001 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
13002 (setjmp_mod_SOURCES): New variable.
13003 (setjmp_mod_CFLAGS): Likewise.
13004 (setjmp_LDFLAGS): Likewise.
13005
13006 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
13007 (setjmp_mod_SOURCES): New variable.
13008 (setjmp_mod_CFLAGS): Likewise.
13009 (setjmp_LDFLAGS): Likewise.
13010
13011 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
13012 (setjmp_mod_SOURCES): New variable.
13013 (setjmp_mod_CFLAGS): Likewise.
13014 (setjmp_LDFLAGS): Likewise.
13015
13016 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
13017 (setjmp_mod_SOURCES): New variable.
13018 (setjmp_mod_CFLAGS): Likewise.
13019 (setjmp_LDFLAGS): Likewise.
13020
13021 * normal/i386/setjmp.S: Moved from here ...
13022 * lib/i386/setjmp.S: ... Moved here
13023 * normal/x86_64/setjmp.S: Moved from here ...
13024 * lib/x86_64/setjmp.S: ... Moved here
13025 * normal/powerpc/setjmp.S: Moved from here ...
13026 * lib/powerpc/setjmp.S: ... Moved here
13027 * normal/sparc64/setjmp.S: Moved from here ...
13028 * lib/sparc64/setjmp.S: ... Moved here
13029
13030 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
13031 returns_twice in mingw.
13032
13033 * script/lua/grub_lib.c: New file.
13034 * script/lua/grub_lib.h: Likewise.
13035 * script/lua/grub_lua.h: Likewise.
13036 * script/lua/grub_main.c: Likewise.
13037 * script/lua/lapi.c: Likewise.
13038 * script/lua/lapi.h: Likewise.
13039 * script/lua/lauxlib.c: Likewise.
13040 * script/lua/lauxlib.h: Likewise.
13041 * script/lua/lbaselib.c: Likewise.
13042 * script/lua/lcode.c: Likewise.
13043 * script/lua/lcode.h: Likewise.
13044 * script/lua/ldblib.c: Likewise.
13045 * script/lua/ldebug.c: Likewise.
13046 * script/lua/ldebug.h: Likewise.
13047 * script/lua/ldo.c: Likewise.
13048 * script/lua/ldo.h: Likewise.
13049 * script/lua/ldump.c: Likewise.
13050 * script/lua/lfunc.c: Likewise.
13051 * script/lua/lfunc.h: Likewise.
13052 * script/lua/lgc.c: Likewise.
13053 * script/lua/lgc.h: Likewise.
13054 * script/lua/linit.c: Likewise.
13055 * script/lua/liolib.c: Likewise.
13056 * script/lua/llex.c: Likewise.
13057 * script/lua/llex.h: Likewise.
13058 * script/lua/llimits.h: Likewise.
13059 * script/lua/lmathlib.c: Likewise.
13060 * script/lua/lmem.c: Likewise.
13061 * script/lua/lmem.h: Likewise.
13062 * script/lua/loadlib.c: Likewise.
13063 * script/lua/lobject.c: Likewise.
13064 * script/lua/lobject.h: Likewise.
13065 * script/lua/lopcodes.c: Likewise.
13066 * script/lua/lopcodes.h: Likewise.
13067 * script/lua/loslib.c: Likewise.
13068 * script/lua/lparser.c: Likewise.
13069 * script/lua/lparser.h: Likewise.
13070 * script/lua/lstate.c: Likewise.
13071 * script/lua/lstate.h: Likewise.
13072 * script/lua/lstring.c: Likewise.
13073 * script/lua/lstring.h: Likewise.
13074 * script/lua/lstrlib.c: Likewise.
13075 * script/lua/ltable.c: Likewise.
13076 * script/lua/ltable.h: Likewise.
13077 * script/lua/ltablib.c: Likewise.
13078 * script/lua/ltm.c: Likewise.
13079 * script/lua/ltm.h: Likewise.
13080 * script/lua/lua.h: Likewise.
13081 * script/lua/luaconf.h: Likewise.
13082 * script/lua/lualib.h: Likewise.
13083 * script/lua/lundump.c: Likewise.
13084 * script/lua/lundump.h: Likewise.
13085 * script/lua/lvm.c: Likewise.
13086 * script/lua/lvm.h: Likewise.
13087 * script/lua/lzio.c: Likewise.
13088 * script/lua/lzio.h: Likewise.
13089
13090 2009-05-16 Bean <bean123ch@gmail.com>
13091
13092 * include/grub/kernel.h (grub_module_header_types): Add type
13093 OBJ_TYPE_CONFIG.
13094
13095 * kern/main.c (grub_load_config): New function.
13096 (grub_main): Call grub_load_config to read boot config.
13097
13098 * grub-mkimage (generate_image): New parameter config_path.
13099 (options): New option --config.
13100 (main): Parse --config option, and pass it to generate_image.
13101
13102 2009-05-14 Christian Franke <franke@computer.org>
13103
13104 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
13105 This fixes build on Cygwin.
13106
13107 2009-05-14 Pavel Roskin <proski@gnu.org>
13108
13109 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
13110 jump. This saves two bytes, so the typical case of 2 swapped
13111 drives would fit 32 bytes.
13112
13113 2009-05-13 Pavel Roskin <proski@gnu.org>
13114
13115 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
13116 grub_uint32_t to avoid a warning.
13117
13118 * loader/i386/linux.c (allocate_pages): When assigning
13119 real_mode_mem, cast through grub_size_t to fix a warning. The
13120 code already makes sure that the value would fit a pointer.
13121 (grub_linux_setup_video): Cast render_target->data to
13122 grub_size_t to fix a warning.
13123
13124 2009-05-13 Javier Martín <lordhabbit@gmail.com>
13125
13126 * commands/i386/pc/drivemap.c: New file - implement drivemap
13127 command.
13128 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
13129 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
13130
13131 2009-05-13 Pavel Roskin <proski@gnu.org>
13132
13133 * util/i386/pc/grub-setup.c (setup): Remove unused variable
13134 embedding_area_exists.
13135
13136 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
13137
13138 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
13139 it easier to understand / work with.
13140 Improve warning messages for cases where there's no embedding area,
13141 or when it is too small (or core.img too large).
13142
13143 2009-05-13 Pavel Roskin <proski@gnu.org>
13144
13145 * loader/i386/pc/multiboot2.c: Add necessary includes for
13146 grub_multiboot2_real_boot().
13147
13148 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
13149 PX record is always little-endian. We only need the lower 2
13150 bytes of the mode.
13151
13152 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
13153 facilitate code reuse.
13154 (grub_cpio_mount): Use "struct head", not a char buffer. This
13155 fixes a warning reported by gcc 4.4.
13156
13157 * kernel/disk.c (grub_disk_read): Use void pointer for the
13158 buffer.
13159 (grub_disk_write): Use const void pointer for the buffer.
13160 Adjust all callers. Remove unnecessary casts.
13161
13162 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
13163
13164 * util/i386/pc/grub-install.in: Update copyright year.
13165
13166 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 gptsync
13169
13170 * commands/gptsync.c: new file
13171 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
13172 (gptsync_mod_SOURCES): new variable
13173 (gptsync_mod_CFLAGS): likewise
13174 (gptsync_mod_LDFLAGS): likewise
13175 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
13176 new definition
13177 (GRUB_PC_PARTITION_TYPE_HFS): likewise
13178 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
13179 * conf/i386-ieee1275.rmk: likewise
13180 * conf/i386-pc.rmk: likewise
13181 * conf/powerpc-ieee1275.rmk: likewise
13182
13183 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Fixed grub-emu
13186
13187 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
13188 (grub_dl_ref): likewise
13189
13190 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
13191
13192 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
13193 split in two functions (one for msdos and one for gpt).
13194
13195 2009-05-08 Pavel Roskin <proski@gnu.org>
13196
13197 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
13198 not modified.
13199
13200 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
13201 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
13202 Initialize them with -1. Add sanity check for bad1. Eliminate
13203 nerr variable.
13204
13205 2009-05-08 David S. Miller <davem@davemloft.net>
13206
13207 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
13208
13209 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
13210
13211 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
13212 existence.
13213
13214 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
13215
13216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
13217 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
13218
13219 2009-05-05 David S. Miller <davem@davemloft.net>
13220
13221 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
13222
13223 2009-05-05 Pavel Roskin <proski@gnu.org>
13224
13225 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
13226 of grub_dl_ref() and grub_dl_unref().
13227 * commands/parttool.c: Remove preprocessor conditionals around
13228 grub_dl_ref() and grub_dl_unref().
13229 * fs/affs.c: Likewise.
13230 * fs/afs.c: Likewise.
13231 * fs/cpio.c: Likewise.
13232 * fs/ext2.c: Likewise.
13233 * fs/fat.c: Likewise.
13234 * fs/hfs.c: Likewise.
13235 * fs/hfsplus.c: Likewise.
13236 * fs/iso9660.c: Likewise.
13237 * fs/jfs.c: Likewise.
13238 * fs/minix.c: Likewise.
13239 * fs/ntfs.c: Likewise.
13240 * fs/reiserfs.c: Likewise.
13241 * fs/sfs.c: Likewise.
13242 * fs/udf.c: Likewise.
13243 * fs/ufs.c: Likewise.
13244 * fs/xfs.c: Likewise.
13245 * include/grub/dl.h: Likewise.
13246 * loader/xnu.c: Likewise.
13247
13248 2009-05-04 Pavel Roskin <proski@gnu.org>
13249
13250 * commands/acpi.c: Remove unused variable my_mod.
13251 * partmap/amiga.c: Likewise.
13252 * partmap/apple.c: Likewise.
13253 * partmap/gpt.c: Likewise.
13254 * partmap/pc.c: Likewise.
13255 * partmap/sun.c: Likewise.
13256 * term/gfxterm.c: Likewise.
13257 * term/i386/pc/vesafb.c: Likewise.
13258 * term/i386/pc/vga.c: Likewise.
13259
13260 2009-05-04 David S. Miller <davem@davemloft.net>
13261
13262 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
13263 pointer args to grub_ieee1275_get_property().
13264
13265 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
13266
13267 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
13268 devices, and do not traverse down under controller nodes.
13269
13270 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
13271 (grub_ofdisk_open): Use it to un-escape "," characters.
13272 * kern/disk.c (find_part_sep): New.
13273 (grub_disk_open): Use it to find the first non-escaped ','
13274 character in the disk name.
13275 * util/ieee1275/devicemap.c (escape_of_path): New.
13276 (grub_util_emit_devicemap_entry): Use it.
13277 * util/sparc64/ieee1275/grub-install.in: Update script to
13278 strip partition specifiers properly by not triggering on
13279 '\' escaped ',' characters.
13280
13281 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13282
13283 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
13284 to 0x300.
13285 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
13286 resolutions.
13287 (linux_vesafb_modes): Add a lot of additional modes to the list (based
13288 on documentation from Wikipedia).
13289
13290 2009-05-04 Pavel Roskin <proski@gnu.org>
13291
13292 * disk/ata.c: Spelling fixes.
13293 * disk/raid.c: Likewise.
13294 * disk/usbms.c: Likewise.
13295 * disk/dmraid_nvidia.c: Likewise.
13296 * kern/ieee1275/openfw.c: Likewise.
13297 * kern/ieee1275/init.c: Likewise.
13298 * kern/ieee1275/cmain.c: Likewise.
13299 * boot/i386/pc/cdboot.S: Likewise.
13300 * video/readers/png.c: Likewise.
13301 * video/i386/pc/vbe.c: Likewise.
13302 * fs/udf.c: Likewise.
13303 * fs/hfs.c: Likewise.
13304 * fs/reiserfs.c: Likewise.
13305 * efiemu/runtime/efiemu.c: Likewise.
13306 * efiemu/main.c: Likewise.
13307 * efiemu/mm.c: Likewise.
13308 * include/grub/elf.h: Likewise.
13309 * include/grub/xnu.h: Likewise.
13310 * include/grub/usbdesc.h: Likewise.
13311 * include/grub/usb.h: Likewise.
13312 * include/grub/script_sh.h: Likewise.
13313 * include/grub/lib/LzmaEnc.h: Likewise.
13314 * include/grub/efiemu/efiemu.h: Likewise.
13315 * include/grub/command.h: Likewise.
13316 * normal/menu.c: Likewise.
13317 * normal/main.c: Likewise.
13318 * normal/datetime.c: Likewise.
13319 * bus/usb/uhci.c: Likewise.
13320 * mmap/i386/uppermem.c: Likewise.
13321 * mmap/mmap.c: Likewise.
13322 * commands/acpi.c: Likewise.
13323 * commands/test.c: Likewise.
13324 * partmap/apple.c: Likewise.
13325 * font/font.c: Likewise.
13326 * loader/sparc64/ieee1275/linux.c: Likewise.
13327 * loader/macho.c: Likewise.
13328 * loader/i386/bsd_trampoline.S: Likewise.
13329 * loader/i386/bsd.c: Likewise.
13330 * loader/xnu.c: Likewise.
13331 * term/i386/pc/vesafb.c: Likewise.
13332 * term/usb_keyboard.c: Likewise.
13333 * util/resolve.c: Likewise.
13334 * util/getroot.c: Likewise.
13335
13336 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
13337
13338 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
13339
13340 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13341
13342 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
13343 build error.
13344
13345 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13346
13347 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
13348 parameter only available on BIOS.
13349
13350 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 Removed wrong semicolon in declaration
13353
13354 * grub/misc.h (grub_dprintf): remove semicolon
13355
13356 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13357
13358 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
13359 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
13360 is done by grub_cmd_linux() now).
13361 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
13362 restore video to text mode.
13363 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
13364 indicates lack of "vga=" parameter. "vga=0" is mapped to
13365 `GRUB_LINUX_VID_MODE_NORMAL'.
13366
13367 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
13368
13369 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
13370 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
13371 and `normal/script.c'. Add `kern/rescue_reader.c',
13372 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
13373 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
13374 `grub_script.tab.c'.
13375
13376 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13377 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13379 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13380 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13381
13382 * Makefile.in: Remove duplicated 2008 in Copyright line.
13383
13384 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13385
13386 * util/misc.c (grub_util_warn): New function. Emits a warning
13387 unconditionally.
13388 * include/grub/util/misc.h (grub_util_warn): New declaration.
13389
13390 * util/i386/pc/grub-install.in: Understand --force and pass it down
13391 to grub-setup.
13392
13393 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
13394 down to setup().
13395 (setup): Improve error messages and add warnings when requested to
13396 install in odd layouts. Refuse to install using blocklists unless
13397 --force was set.
13398
13399 2009-05-04 martin f. krafft <madduck@madduck.net>
13400
13401 * disk/raid.c (grub_raid_scan_device): Improve debug message.
13402
13403 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Updated copyright year
13406
13407 * fs/hfsplus.c: updated copyright year
13408
13409 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 HFS+ UUID
13412
13413 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
13414 in the space previously used by unused3
13415 (grub_hfsplus_uuid): new function
13416 (grub_hfsplus_fs): added uuid field
13417
13418 2009-05-03 Pavel Roskin <proski@gnu.org>
13419
13420 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
13421 suppress warnings. It's no longer needed.
13422 * disk/host.c: Likewise.
13423 * disk/ata_pthru.c: Likewise.
13424 * disk/loopback.c: Likewise.
13425 * hook/datehook.c: Likewise.
13426 * parttool/pcpart.c: Likewise.
13427 * fs/i386/pc/pxe.c: Likewise.
13428 * fs/ntfscomp.c: Likewise.
13429 * efiemu/main.c: Likewise.
13430 * mmap/mmap.c: Likewise.
13431 * commands/crc.c: Likewise.
13432 * commands/hexdump.c: Likewise.
13433 * commands/hdparm.c: Likewise.
13434 * commands/acpi.c: Likewise.
13435 * commands/echo.c: Likewise.
13436 * commands/minicmd.c: Likewise.
13437 * commands/blocklist.c: Likewise.
13438 * commands/memrw.c: Likewise.
13439 * commands/loadenv.c: Likewise.
13440 * commands/usbtest.c: Likewise.
13441 * commands/lsmmap.c: Likewise.
13442 * commands/boot.c: Likewise.
13443 * commands/parttool.c: Likewise.
13444 * commands/configfile.c: Likewise.
13445 * commands/search.c: Likewise.
13446 * commands/ieee1275/suspend.c: Likewise.
13447 * commands/cat.c: Likewise.
13448 * commands/i386/pc/pxecmd.c: Likewise.
13449 * commands/i386/pc/play.c: Likewise.
13450 * commands/i386/pc/halt.c: Likewise.
13451 * commands/i386/pc/vbeinfo.c: Likewise.
13452 * commands/i386/pc/vbetest.c: Likewise.
13453 * commands/lspci.c: Likewise.
13454 * commands/date.c: Likewise.
13455 * commands/handler.c: Likewise.
13456 * commands/ls.c: Likewise.
13457 * commands/test.c: Likewise.
13458 * commands/cmp.c: Likewise.
13459 * commands/efi/loadbios.c: Likewise.
13460 * commands/efi/fixvideo.c: Likewise.
13461 * commands/halt.c: Likewise.
13462 * commands/help.c: Likewise.
13463 * commands/reboot.c: Likewise.
13464 * hello/hello.c: Likewise.
13465 * script/sh/main.c: Likewise.
13466 * loader/xnu.c: Likewise.
13467 * term/terminfo.c: Likewise.
13468 * term/i386/pc/serial.c: Likewise.
13469 * term/usb_keyboard.c: Likewise.
13470
13471 2009-05-03 David S. Miller <davem@davemloft.net>
13472
13473 * normal/menu.c: Include grub/parser.h
13474
13475 2009-05-03 Pavel Roskin <proski@gnu.org>
13476
13477 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13478 not char*.
13479 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13480 Suggested by Javier Martín <lordhabbit@gmail.com>
13481
13482 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13483 efiemu??.o doesn't exist.
13484 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13485 copying.
13486
13487 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 FreeBSD 64-bit support
13490
13491 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
13492 and loader/i386/bsd_trampoline.S
13493 (bsd_mod_ASFLAGS): new variable
13494 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13495 (FREEBSD_MODTYPE_KERNEL64): likewise
13496 (grub_bsd64_trampoline_start): likewise
13497 (grub_bsd64_trampoline_end): likewise
13498 (grub_bsd64_trampoline_selfjump): likewise
13499 (grub_bsd64_trampoline_gdt): likewise
13500 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13501 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13502 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13503 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
13504 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
13505 of "attrib" member
13506 * loader/i386/bsd_pagetable.c: new file
13507 * loader/i386/bsd_trampoline.S: likewise
13508 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13509 (ALIGN_VAR): likewise
13510 (entry_hi): new variable
13511 (kern_end_mdofs): likewise
13512 (is_64bit): likewise
13513 (grub_freebsd_add_meta): use ALIGN_VAR
13514 (grub_e820_mmap): new declaration
13515 (grub_freebsd_add_mmap): new function
13516 (grub_freebsd_add_meta_module): support 64 bit kernels
13517 (grub_freebsd_list_modules): use ALIGN_VAR
13518 (gdt_descriptor): new declaration
13519 (grub_freebsd_boot): support 64 bit kernels
13520 (grub_bsd_elf64_hook): new function
13521 (grub_bsd_load_elf): support elf64
13522
13523 2009-05-03 Bean <bean123ch@gmail.com>
13524
13525 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
13526 after we get the result of if statement.
13527
13528 2009-05-03 Bean <bean123ch@gmail.com>
13529
13530 * Makefile.in (enable_efiemu): New variable.
13531
13532 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
13533 set.
13534 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
13535 path.
13536 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
13537 path, add -mno-red-zone option.
13538 (efiemu64_s.o): Likewise.
13539 (efiemu64.o): Use macro $^ for source file.
13540
13541 * configure.ac (--enable-efiemu): New option.
13542
13543 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 xnu support
13546
13547 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
13548 (pkglib_MODULES): add xnu.mod
13549 (xnu_mod_SOURCES): new variable
13550 (xnu_mod_CFLAGS): likewise
13551 (xnu_mod_LDFLAGS): likewise
13552 (xnu_mod_ASFLAGS): likewise
13553 * conf/i386-pc.rmk: likewise
13554 * conf/x86_64-efi.rmk: likewise
13555 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
13556 new declaration
13557 * include/grub/i386/macho.h: new file
13558 * include/grub/i386/xnu.h: likewise
13559 * include/grub/macho.h: likewise
13560 * include/grub/machoload.h: likewise
13561 * include/grub/x86_64/macho.h: likewise
13562 * include/grub/x86_64/xnu.h: likewise
13563 * include/grub/xnu.h: likewise
13564 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
13565 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
13566 * loader/i386/efi/xnu.c: new file
13567 * loader/i386/pc/xnu.c: likewise
13568 * loader/i386/xnu.c: likewise
13569 * loader/i386/xnu_helper.S: likewise
13570 * loader/macho.c: likewise
13571 * loader/xnu.c: likewise
13572 * loader/xnu_resume.c: likewise
13573 * util/grub-dumpdevtree: likewise
13574 * include/grub/i386/pit.h: include grub/err.h
13575 (grub_pit_wait): export
13576 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
13577
13578 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 Efiemu
13581
13582 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
13583 _linux_efi, linux_efi.
13584 new files in grub-emu
13585 new targets efiemu32.o and efiemu64.o
13586 * loader/linux_normal_efiemu.c: likewise
13587 * loader/i386/efi/linux.c: added preliminary efiemu support
13588 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
13589 files to copy
13590 * include/grub/autoefi.h: new file
13591 * include/grub/i386/efiemu.h: likewise
13592 * include/grub/i386/pc/efiemu.h: likewise
13593 * include/grub/efi/api.h: add LL suffix when necessary
13594 new definitions relating to tables
13595 * include/grub/efiemu/efiemu.h: new file
13596 * include/grub/efiemu/runtime.h: likewise
13597 * efiemu/prepare.c: likewise
13598 * efiemu/loadcore_common.c: likewise
13599 * efiemu/loadcore64.c: likewise
13600 * efiemu/runtime/efiemu.sh: likewise
13601 * efiemu/runtime/efiemu.S: likewise
13602 * efiemu/runtime/efiemu.c: likewise
13603 * efiemu/runtime/config.h: likewise
13604 * efiemu/prepare32.c: likewise
13605 * efiemu/main.c: likewise
13606 * efiemu/modules/pnvram.c: likewise
13607 * efiemu/modules/i386: likewise
13608 * efiemu/modules/i386/pc: likewise
13609 * efiemu/modules/acpi.c: likewise
13610 * efiemu/i386/pc/cfgtables.c: likewise
13611 * efiemu/i386/loadcore64.c: likewise
13612 * efiemu/i386/loadcore32.c: likewise
13613 * efiemu/prepare64.c: likewise
13614 * efiemu/loadcore.c: likewise
13615 * efiemu/symbols.c: likewise
13616 * efiemu/mm.c: likewise
13617 * efiemu/loadcore32.c: likewise
13618
13619 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 ACPI spoofing
13622
13623 * commands/acpi.c: new file
13624 * commands/i386/pc/acpi.c: likewise
13625 * commands/efi/acpi.c: likewise
13626 * include/grub/acpi.h: likewise
13627 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
13628 (acpi_mod_SOURCES): new variable
13629 (acpi_mod_CFLAGS): likewise
13630 (acpi_mod_LDFLAGS): likewise
13631 * conf/i386-efi.rmk: likewise
13632 * conf/x86_64-efi.rmk: likewise
13633
13634 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 Missing part from mmap patch
13637
13638 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
13639 (grub_mmap_unregister)
13640 (grub_mmap_free_and_unregister): use grub_mmap_register
13641
13642 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 Mmap services
13645
13646 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
13647 * loader/i386/linux.c (find_mmap_size): likewise
13648 (allocate_pages): likewise
13649 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
13650 (grub_fill_multiboot_mmap): likewise
13651 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
13652 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
13653 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
13654 (OPENBSD_MMAP_RESERVED): likewise
13655 * include/grub/i386/pc/memory.h: include grub/memory.h
13656 (grub_lower_mem): removed
13657 (grub_upper_mem): likewise
13658 (GRUB_MACHINE_MEMORY_ACPI): new definition
13659 (GRUB_MACHINE_MEMORY_NVS): likewise
13660 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
13661 (GRUB_MACHINE_MEMORY_HOLE): likewise
13662 (grub_machine_mmap_register): likewise
13663 (grub_machine_mmap_unregister): likewise
13664 (grub_machine_get_upper): likewise
13665 (grub_machine_get_lower): likewise
13666 (grub_machine_get_post64): likewise
13667 * include/grub/i386/efi/memory.h: new file
13668 * include/grub/x86_64/efi/memory.h: likewise
13669 * include/grub/efi/memory.h: likewise
13670 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
13671 (mmap_mod_SOURCES): new variable
13672 (mmap_mod_LDFLAGS): likewise
13673 (mmap_mod_ASFLAGS): likewise
13674 * conf/i386-coreboot.rmk: likewise
13675 * conf/i386-ieee1275.rmk: likewise
13676 * conf/i386-efi.rmk: likewise
13677 * conf/x86_64-efi.rmk: likewise
13678 * include/grub/types.h (UINT_TO_PTR): new macro
13679 (PTR_TO_UINT32): likewise
13680 (PTR_TO_UINT64): likewise
13681 * include/grub/memory.h: new file
13682 * mmap/i386/pc/mmap.c: likewise
13683 * mmap/i386/pc/mmap_helper.S: likewise
13684 * mmap/i386/uppermem.c: likewise
13685 * mmap/mmap.c: likewise
13686 * mmap/efi/mmap.c: likewise
13687 * kern/i386/coreboot/init.c (grub_machine_init): don't use
13688 grub_upper_mem
13689 * kern/i386/pc/init.c (grub_lower_mem): removed variable
13690 (grub_upper_mem): likewise
13691 (grub_machine_init): don't use grub_upper_mem,
13692 make grub_lower_mem local
13693 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
13694 grub_mmap_iterate and grub_mmap_get_upper
13695 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
13696
13697 2009-05-02 Bean <bean123ch@gmail.com>
13698
13699 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
13700 script/sh/parser.y.
13701 (pkglib_MODULES): Add normal.mod and sh.mod.
13702 (normal_SOURCES): New variable.
13703 (normal_mod_CFLAGS): Likewise.
13704 (normal_mod_LDFLAGS): Likewise.
13705 (sh_mod_SOURCES): Likewise.
13706 (sh_mod_CFLAGS): Likewise.
13707 (sh_mod_LDFLAGS): Likewise.
13708
13709 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
13710 script/sh/lexer.c_DEPENDENCIES.
13711 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
13712 kern/rescue_reader.c and kern/rescue_parser.c.
13713 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
13714 (grub_emu_SOURCES): Change source files.
13715 (pkglib_MODULES): Remove normal.mod.
13716 (normal_SOURCES): Removed.
13717 (normal_mod_CFLAGS): Likewise.
13718 (normal_mod_LDFLAGS): Likewise.
13719 * conf/i386-coreboot.rmk: Likewise.
13720 * conf/i386-efi.rmk: Likewise.
13721 * conf/i386-ieee1276.rmk: Likewise.
13722 * conf/powerpc-ieee1275.rmk: Likewise.
13723 * conf/sparc64-ieee1275.rmk: Likewise.
13724 * conf/x86_64-efi.rmk: Likewise.
13725
13726 * include/grub/command.h (grub_command_execute): New inline function.
13727
13728 * include/grub/menu.h (grub_menu_entry): Removed commands field.
13729
13730 * include/grub/normal.h: Remove <grub/setjmp.h>.
13731 (grub_fs_module_list): Moved to normal/autofs.c.
13732 (grub_exit_env): Removed.
13733 (grub_command_execute): Likewise.
13734 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
13735 parameter script.
13736 (read_command_list): New function declaration.
13737 (read_fs_list): Likewise.
13738
13739 * include/parser.h: Include <grub/reader.h>.
13740 (grub_parser_split_cmdline): Change type of getline parameter.
13741 (grub_parser): New structure.
13742 (grub_parser_class): New variable.
13743 (grub_parser_execute): New function declaration.
13744 (grub_register_rescue_parser): Likewise.
13745 (grub_parser_register): New inline function.
13746 (grub_parser_unregister): Likewise.
13747 (grub_parser_get_current): Likewise.
13748 (grub_parser_set_current): Likewise.
13749
13750 * include/grub/reader.h: New file.
13751 * kern/reader.c: Likewise.
13752 * kern/rescue_parser.c: Likewise.
13753 * kern/rescue_reader.c: Likewise.
13754 * normal/autofs.c: Likewise.
13755 * normal/dyncmd.c: Likewise.
13756
13757 * include/grub/rescue.h: Removed.
13758 * normal/command.h: Likewise.
13759
13760 * include/grub/script.h: Moved to ...
13761 * include/grub/script_sh.h: ... Moved here.
13762 * normal/execute.c: Moved to ...
13763 * script/sh/execute.c: ... Moved here.
13764 * normal/function.c: Moved to ...
13765 * script/sh/function.c: ... Moved here.
13766 * normal/lexer.c: Moved to ...
13767 * script/sh/lexer.c: ... Moved here.
13768 * normal/parser.y: Moved to ...
13769 * script/sh/parser.y: ... Moved here.
13770 * normal/script.c: Moved to ...
13771 * script/sh/script.c: ... Moved here.
13772
13773 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
13774 <grub/reader.h>.
13775 (grub_exit_env): Removed.
13776 (fs_module_list): Moved to normal/autofs.c.
13777 (grub_file_getline): Don't handle comment here.
13778 (free_menu): Skip removed field entry->commands.
13779 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
13780 script parameter.
13781 (read_config_file): Removed nested parameter, change getline function.
13782 (grub_enter_normal_mode): Removed.
13783 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
13784 (read_command_list): Likewise.
13785 (autoload_fs_module): Moved to normal/autofs.c.
13786 (read_fs_list): Likewise.
13787 (reader_nested): New variable.
13788 (grub_normal_execute): Run parser.sh to switch to sh parser.
13789 (grub_cmd_rescue): Removed.
13790 (cmd_normal): Removed.
13791 (grub_cmd_normal): Unregister itself at the beginning. Don't register
13792 rescue command.
13793 (grub_cmdline_run): New function.
13794 (grub_normal_reader_init): Likewise.
13795 (grub_normal_read_line): Likewise.
13796 (grub_env_write_pager): Likewise.
13797 (cmdline): New variable.
13798 (grub_normal_reader): Likewise.
13799 (GRUB_MOD_INIT): Register normal reader and set as current, register
13800 pager hook, register normal command with grub_register_command_prio,
13801 so that it won't show up in command.lst.
13802 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
13803 grub_fs_autoload_hook.
13804
13805 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
13806 (grub_menu_execute_entry): Replace grub_script_execute with
13807 grub_parser_execute, change parameter to grub_command_execute.
13808
13809 * normal/menu_text.c: Remove <grub/script.h>.
13810
13811 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
13812 and <grub/parser.h>.
13813 (run): Change editor_getline to use new parser interface. Change
13814 parameter to grub_command_execute.
13815
13816 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
13817 <grub/reader.h> and <grub/parser.h>.
13818 (grub_load_normal_mode): Execute normal command.
13819 (grub_main): Call grub_register_core_commands,
13820 grub_register_rescue_parser and grub_register_rescue_reader, use
13821 grub_reader_loop to enter input loop.
13822
13823 * kern/parser.c (grub_parser_split_cmdline): Change type of
13824 getline parameter.
13825 (grub_parser_class): New variable.
13826 (grub_parser_execute): New function.
13827
13828 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
13829 * loader/multiboot2.c: Likewise.
13830 * loader/sparc64/ieee1275/linux.c: Likewise.
13831
13832 * util/grub-emu.c (read_command_list): New dummy function.
13833
13834 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13835
13836 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
13837 count to 16 for CCISS and IDA.
13838
13839 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
13840
13841 * normal/menu_text.c (grub_wait_after_message): Print a newline
13842 after waiting for user input.
13843
13844 * loader/i386/linux.c: Include `<grub/normal.h>'.
13845 (grub_cmd_linux): Improve the error message about `ask' mode, by
13846 waiting for user input so it's not missed (we can do this, since
13847 user requested interaction).
13848
13849 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
13850
13851 Added missing lst to grub-mkrescue
13852
13853 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
13854 and ${input_dir}/parttool.lst
13855
13856 2009-04-30 David S. Miller <davem@davemloft.net>
13857
13858 * util/hostdisk.c (device_is_wholedisk): New function.
13859 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
13860 zero only if device_is_wholedisk() returns true.
13861
13862 * util/hostdisk.c (convert_system_partition_to_system_disk):
13863 Handle virtual disk devices named /dev/vdiskX as found on sparc
13864 and powerpc.
13865
13866 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
13867 lettered partition specifier is found, convert to numbered.
13868
13869 2009-04-29 David S. Miller <davem@davemloft.net>
13870
13871 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
13872 * include/grub/sparc64/ieee1275/memory.h: Likewise.
13873
13874 * normal/command.c: Add missing newline at end of file.
13875
13876 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
13877 warnings.
13878 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
13879 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
13880 grub_ofdisk_read): Likewise, and deal similarly with the fact that
13881 ihandles have a 32-bit type but need to be stored in a "void *".
13882
13883 2009-04-28 Pavel Roskin <proski@gnu.org>
13884
13885 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
13886 not disk. Adjust all dependencies.
13887 (grub_fs_uuid_close): Use grub_device_close(), not
13888 grub_disk_close().
13889
13890 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
13891 parent's partition, don't copy it by reference, as it gets freed
13892 on close.
13893
13894 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 Preboot hooks support
13897
13898 * commands/boot.c (struct grub_preboot_t): new declaration
13899 (preboots_head): new variable
13900 (preboots_tail): likewise
13901 (grub_loader_register_preboot_hook): new function
13902 (grub_loader_unregister_preboot_hook): likewise
13903 (grub_loader_set): launch preboot hooks
13904 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
13905 (grub_loader_register_preboot_hook): new declaration
13906 (grub_loader_unregister_preboot_hook): likewise
13907
13908 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Warning fix
13911
13912 * disk/scsi.c (grub_scsi_open): added missing cast when
13913 calling grub_dprintf
13914
13915 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
13916
13917 Bug and warning fixes
13918
13919 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
13920 declaration
13921 * commands/test.c (test_parse): fixed bug with file tests and corrected
13922 declaration of find_file
13923
13924 2009-04-26 Pavel Roskin <proski@gnu.org>
13925
13926 * Makefile.in: Don't install empty manual pages if help2man is
13927 missing. Use help2man option for output, not shell redirection.
13928
13929 2009-04-26 David S. Miller <davem@davemloft.net>
13930
13931 * util/grub-mkdevicemap.c (make_device_map): Add missing
13932 NESTED_FUNC_ATTR to process_device().
13933
13934 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 Test command
13937
13938 * commands/test.c: rewritten to use bash-like test
13939
13940 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 Parttool autoloading and improvements
13943
13944 * Makefile.in (pkglib_DATA): add parttool.lst
13945 (parttool.lst): new target
13946 * genmk.rb: generate parttool-*
13947 (CLEANFILES): add #{parttool}
13948 (PARTTOOLFILES): new variable
13949 * genparttoollist.sh: new file
13950 * parttool/pcpart.c (grub_pcpart_boot): more feedback
13951 (grub_pcpart_type): likewise
13952 * commands/parttool.c (helpmsg): new variable
13953 (grub_cmd_parttool): output help if not enough arguments are supplied
13954 autoload modules
13955 (GRUB_MOD_INIT(parttool)): use helpmsg
13956
13957 2009-04-24 David S. Miller <davem@davemloft.net>
13958
13959 Avoiding opening same device multiple times in device iterator.
13960
13961 * kern/device.c: (grub_device_iterate): Define struct part_ent,
13962 and use it to build a list of partitions in iterate_disk() and
13963 iterate_partition().
13964
13965 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
13966 on disk->data.
13967
13968 * disk/ieee1275/nand.c (grub_nand_iterate): Return
13969 grub_devalias_iterate() result instead of unconditional 0.
13970 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
13971 Also, capture hook return value, either directly or via
13972 grub_children_iterate(), and propagate to caller.
13973 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
13974 grub_children_iterate): Return value is now 'int' instead of
13975 'grub_err_t'.
13976 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
13977 like a proper iterator, stopping when hooks return non-zero.
13978 (grub_devalias_iterate): Likewise.
13979
13980 2009-04-23 David S. Miller <davem@davemloft.net>
13981
13982 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
13983
13984 2009-04-22 David S. Miller <davem@davemloft.net>
13985
13986 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
13987 is larger than address_cells, use that value for address_cells too.
13988
13989 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
13990 IEEE1275_MAX_PATH_LEN): Define.
13991 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
13992 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
13993 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
13994 'devtype'. Explicitly NULL terminate devalias expansion.
13995
13996 * util/sparc64/ieee1275/misc.c: New file.
13997 * util/sparc64/ieee1275/grub-setup.c: New file.
13998 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
13999 * util/sparc64/ieee1275/grub-mkimage.c: New file.
14000 * util/sparc64/ieee1275/grub-install.in: New file.
14001 * util/ieee1275/ofpath.c: New file.
14002 * util/ieee1275/devicemap.c: New file.
14003 * util/devicemap.c: New file.
14004 * util/deviceiter.c: New file.
14005 * kern/sparc64/ieee1275/init.c: New file.
14006 * include/grub/util/ofpath.h: New file.
14007 * include/grub/util/deviceiter.h: New file.
14008 * util/grub-mkdevicemap.c: Include deviceiter.h.
14009 Implement using grub_util_emit_devicemap_entry and
14010 grub_util_iterate_devices.
14011 * conf/i386-corebook.rmk: Build util/deviceiter.c and
14012 util/devicemap.c into grub-mkdevicemap
14013 * conf/i386-efi.rmk: Likewise.
14014 * conf/i386-ieee1275.rmk: Likewise.
14015 * conf/i386-pc.rmk: Likewise.
14016 * conf/powerpc-ieee1275.rmk: Likewise.
14017 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
14018 images and installation utilities. Build kernel as image
14019 instead of as elf binary. Use common rules as much as possible.
14020
14021 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 Correct GPT definition
14024
14025 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
14026 of "attrib" member
14027
14028 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
14029
14030 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
14031
14032 2009-04-19 David S. Miller <davem@davemloft.net>
14033
14034 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
14035 (grub_rescue_cmd_linux): Rename to...
14036 (grub_cmd_linux): and fix prototype.
14037 (grub_rescue_cmd_initrd): Rename to...
14038 (grub_cmd_initrd): and fix prototype.
14039 (cmd_linux, cmd_initrd): New.
14040 (GRUB_MOD_INIT(linux)): Use grub_register_command().
14041 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
14042
14043 2009-04-17 Pavel Roskin <proski@gnu.org>
14044
14045 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
14046 format.
14047 (grub_ohci_transfer): Likewise.
14048
14049 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
14050
14051 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
14052 return without a value. Fix inconsistent indentation.
14053
14054 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
14055 match struct grub_fs.
14056
14057 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
14058 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
14059 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
14060 * commands/lspci.c (grub_lspci_iter): Likewise.
14061
14062 2009-04-16 Bean <bean123ch@gmail.com>
14063
14064 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
14065 value.
14066
14067 2009-04-15 Pavel Roskin <proski@gnu.org>
14068
14069 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
14070 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
14071 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
14072 definitions.
14073
14074 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
14075
14076 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
14077 that no multiple data or metadata areas are supported and `Unknown
14078 metadata header'.
14079
14080 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 Move loader out of the kernel
14083
14084 * kern/loader.c: moved to ...
14085 * commands/boot.c: ... moved here
14086 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
14087 * commands/boot.c (grub_cmd_boot): moved here. All users updated
14088 * include/grub/kernel.h (grub_machine_fini): export
14089 * include/grub/loader.h (grub_loader_is_loaded): update declaration
14090 (grub_loader_set): likewise
14091 (grub_loader_unset): likewise
14092 (grub_loader_boot): likewise
14093 * conf/common.rmk: new module boot.mod
14094 (pkglib_MODULES): add boot.mod
14095 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
14096 (grub_emu_SOURCES): likewise
14097 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
14098 (grub_emu_SOURCES): likewise
14099 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
14100 (grub_emu_SOURCES): likewise
14101 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
14102 (grub_emu_SOURCES): likewise
14103 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
14104 (grub_emu_SOURCES): likewise
14105 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
14106 (grub_emu_SOURCES): likewise
14107 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
14108 (grub_emu_SOURCES): likewise
14109
14110 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
14111
14112 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
14113
14114 * kern/misc.c (grub_itoa): Removed function
14115 (grub_ltoa): likewise
14116 (grub_vsprintf): use grub_lltoa
14117
14118 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Restore grub-emu
14121
14122 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
14123 * conf/i386-coreboot.rmk: likewise
14124 * conf/i386-ieee1275.rmk: likewise
14125 * conf/powerpc-ieee1275.rmk: likewise
14126
14127 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
14128
14129 * INSTALL: Add that `./autogen.sh' needs to be run before
14130 `./configure.'.
14131
14132 2009-04-14 Bean <bean123ch@gmail.com>
14133
14134 * Makefile.in (pkglib_DATA): Add handler.lst.
14135 (handler.lst): New rule.
14136
14137 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
14138 * conf/i386-coreboot.rmk: Likewise.
14139 * conf/i386-ieee1275.rmk: Likewise.
14140 * conf/i386-efi.rmk: Likewise.
14141 * conf/x86_64-efi.rmk: Likewise.
14142 * conf/powerpc-ieee1275.rmk: Likewise.
14143 * conf/sparc64-ieee1275.rmk: Likewise.
14144
14145 * genhandlerlist.sh: New file.
14146
14147 * genmk.rb: Add rules to generate handler.lst.
14148
14149 * include/grub/normal.h (grub_file_getline): New function definition.
14150 (read_handler_list): Likewise.
14151 (free_handler_list): Likewise.
14152
14153 * include/grub/term.h (grub_term_register_input): Add name parameter
14154 for auto generation of handler.lst.
14155 (grub_term_register_output): Likewise.
14156
14157 * normal/handler.c: New file.
14158
14159 * normal/main.c (get_line): Renamed to grub_file_getline.
14160 (read_config_file): Use the newly renamed grub_file_getline.
14161 (read_command_list): Likewise.
14162 (read_fs_list): Likewise.
14163 (grub_normal_execute): Call read_handler_list to parse handler.lst.
14164 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
14165
14166 * term/efi/console.c (grub_console_init): Add name parameter for auto
14167 generation of handler.lst.
14168 * term/gfxterm.c: Likewise.
14169 * term/i386/pc/at_keyboard.c: Likewise.
14170 * term/i386/pc/console.c: Likewise.
14171 * term/i386/pc/serial.c: Likewise.
14172 * term/i386/pc/vesafb.c: Likewise.
14173 * term/i386/pc/vga.c: Likewise.
14174 * term/i386/pc/vga_text.c: Likewise.
14175 * term/ieee1275/ofconsole.c: Likewise.
14176 * term/usb_keyboard.c: Likewise.
14177
14178 2009-04-14 Bean <bean123ch@gmail.com>
14179
14180 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
14181 properly with null character.
14182
14183 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
14184
14185 * configure: Remove.
14186 * config.h.in: Likewise.
14187 * stamp-h.in: Likewise.
14188 * DISTLIST: Likewise.
14189 * conf/common.mk: Likewise.
14190 * conf/i386-coreboot.mk: Likewise.
14191 * conf/i386-efi.mk: Likewise.
14192 * conf/i386-ieee1275.mk: Likewise.
14193 * conf/i386.mk: Likewise.
14194 * conf/i386-pc.mk: Likewise.
14195 * conf/powerpc-ieee1275.mk: Likewise.
14196 * conf/sparc64-ieee1275.mk: Likewise.
14197 * conf/x86_64-efi.mk: Likewise.
14198
14199 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
14200 develop on GRUB.
14201
14202 2009-04-14 John Stanley <jpsinthemix@verizon.net>
14203 David S. Miller <davem@davemloft.net>
14204
14205 * util/hostdisk.c (make_device_name): Fix buffer length
14206 calculations.
14207
14208 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
14209
14210 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
14211 <sys/param.h> and <sys/sysctl.h>.
14212 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
14213 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
14214 opening the device and reset them afterwards.
14215
14216 2009-04-13 Pavel Roskin <proski@gnu.org>
14217
14218 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
14219 Reported by John Stanley <jpsinthemix@verizon.net>
14220
14221 2009-04-13 Robert Millan <rmh@aybabtu.com>
14222
14223 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
14224 that name for menuentries when appropriate.
14225
14226 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
14227
14228 * util/grub.d/10_freebsd.in: Add a missing `fi'.
14229
14230 2009-04-13 Robert Millan <rmh@aybabtu.com>
14231
14232 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
14233 to Linux, simply abort telling the user it's no longer supported.
14234
14235 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
14236
14237 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
14238 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
14239 `freebsd_loadenv' only when devices.hints exist.
14240
14241 2009-04-13 Pavel Roskin <proski@gnu.org>
14242
14243 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
14244
14245 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
14246
14247 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
14248 partition number.
14249 (grub_drive): Likewise.
14250
14251 2009-04-13 David S. Miller <davem@davemloft.net>
14252
14253 * kern/sparc64/ieee1275/ieee1275.c: New file.
14254 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
14255 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
14256 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
14257 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
14258 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
14259 grub_ieee1275_alloc_physmem): Declare new exported functions.
14260
14261 * include/grub/sparc64/ieee1275/loader.h: New file.
14262 * include/grub/sparc64/ieee1275/memory.h: Likewise.
14263 * include/grub/sparc64/kernel.h: Likewise.
14264 * loader/sparc64/ieee1275/linux.c: Likewise.
14265
14266 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
14267 (grub_fstest_SOURCES): Likewise.
14268
14269 * util/hostdisk.c (make_device_name): Do not make any assumptions
14270 about the length of drive names.
14271
14272 * kern/dl.c (grub_dl_load_file): Close file immediately when
14273 we are done using it.
14274
14275 2009-04-12 David S. Miller <davem@davemloft.net>
14276
14277 * kern/misc.c (grub_ltoa): Fix cast when handling negative
14278 values. Noticed by Pavel Roskin.
14279
14280 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
14281 target compiler.
14282
14283 * genmk.rb: Add more flexible image type specification, also
14284 pass --strip-unneeded to objcopy.
14285 * conf/i386-pc.rmk: Use *_FORMAT.
14286 * conf/i386-pc.mk: Rebuilt.
14287
14288 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
14289 (OFDISK_HASH_SZ): Define.
14290 (ofdisk_hash): New hash table.
14291 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
14292 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
14293 instead of device phandle which is not unique.
14294
14295 * kern/sparc64/ieee1275/init.c: Delete, replace with...
14296 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
14297 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
14298 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
14299 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
14300 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
14301 GRUB_KERNEL_MACHINE_DATA_END): Define.
14302 (grub_kernel_image_size, grub_total_module_size): Declare.
14303
14304 2009-04-12 Pavel Roskin <proski@gnu.org>
14305
14306 * configure.ac: Change the logic when we check for target tools.
14307 Do it when the target is specified and it's different from the
14308 specified value of the host.
14309
14310 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
14311
14312 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
14313 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
14314 GNU/kFreeBSD. Check if a device is a character device. Use
14315 DIOCGMEDIASIZE to get the size.
14316 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
14317 support for GNU/kFreeBSD.
14318 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
14319 is a character device instead of a block device. Add support for
14320 FreeBSD device names.
14321
14322 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
14323 is a character device instead of a block device.
14324
14325 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
14326 is a character device instead of a block device.
14327
14328 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
14329
14330 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
14331 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
14332 FreeBSD. Check if a device is a character device. Use
14333 DIOCGMEDIASIZE to get the size.
14334 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
14335 support for FreeBSD.
14336 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
14337 is a character device instead of a block device. Add support for
14338 FreeBSD device names.
14339
14340 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
14341 a character device instead of a block device.
14342 (grub_util_check_char_device): New function.
14343
14344 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
14345 a character device instead of a block device.
14346
14347 * include/grub/util/getroot.h (grub_util_check_char_device): New
14348 prototype.
14349
14350 2009-04-11 David S. Miller <davem@davemloft.net>
14351
14352 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
14353 static libgcc.
14354 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
14355 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
14356 function, if present.
14357 (__bswapdi2): Likewise.
14358
14359 * include/grub/sparc64/ieee1275/boot.h: New file.
14360 * boot/sparc64/ieee1275/boot.S: Likewise.
14361 * boot/sparc64/ieee1275/diskboot.S: Likewise.
14362
14363 * kern/misc.c (grub_ltoa): New function.
14364 (grub_vsprintf): Use it to format 'long' integers.
14365
14366 2009-04-10 David S. Miller <davem@davemloft.net>
14367
14368 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
14369 slots are of type grub_ieee1275_cell_t.
14370 (grub_nand_read): Likewise.
14371 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
14372 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
14373 macros are used to compare values in arg/ret block of the call.
14374 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14375 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
14376 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
14377 grub_ieee1275_instance_to_path, grub_ieee1275_write,
14378 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
14379 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
14380 grub_ieee1275_close, grub_ieee1275_set_property,
14381 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
14382 grub_ieee1275_cell_t.
14383 * kern/ieee1275/openfw.c (grub_map): Likewise.
14384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
14385 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
14386
14387 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
14388 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14389 (grub_devalias_iterate): Likewise.
14390
14391 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 UFS improvements
14394
14395 * fs/ufs.c (INODE_NBLOCKS): new definition
14396 (struct grub_ufs_dirent): added fields for non-BSD dirents
14397 (grub_ufs_get_file_block): fixed double indirect handling
14398 (grub_ufs_lookup_symlink): use more robust way to determine whether
14399 symlink is inline
14400 (grub_ufs_find_file): support for non-BSD dirents
14401 (grub_ufs_dir): support for non-BSD dirents
14402
14403 2009-04-10 Bean <bean123ch@gnail.com>
14404
14405 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
14406 attribute, otherwise the size would be wrong for i386 platform.
14407
14408 * include/grub/pci.h (grub_pci_read_word): New inline function.
14409 (grub_pci_read_byte): Likewise.
14410 (grub_pci_write): Likewise.
14411 (grub_pci_write_word): Likewise.
14412 (grub_pci_write_byte): Likewise.
14413
14414 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
14415
14416 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
14417 (find_framebuf): Scan pci to locate the frame buffer address.
14418
14419 * commands/efi/fixvideo.c: New file.
14420
14421 * commands/efi/loadbios.c: Likewise.
14422
14423 * commands/memrw.c: Likewise.
14424
14425 * util/grub-dumpbios.in: Likewise.
14426
14427 * conf/common.rmk (grub-dumpbios): New utility.
14428 (pkglib_MODULES): New module memrw.mod.
14429 (memrw_mod_SOURCE): New macro.
14430 (memrw_mod_CFLAGS): Likewise.
14431 (memrw_mod_LDFLAGS): Likewise.
14432
14433 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
14434 fixvideo.mod.
14435 (loadbios_mod_SOURCE): New macro.
14436 (loadbios_mod_CFLAGS): Likewise.
14437 (loadbios_mod_LDFLAGS): Likewise.
14438 (fixvideo_mod_SOURCE): Likewise.
14439 (fixvideo_mod_CFLAGS): Likewise.
14440 (fixvideo_mod_LDFLAGS): Likewise.
14441
14442 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
14443 fixvideo.mod.
14444 (loadbios_mod_SOURCE): New macro.
14445 (loadbios_mod_CFLAGS): Likewise.
14446 (loadbios_mod_LDFLAGS): Likewise.
14447 (fixvideo_mod_SOURCE): Likewise.
14448 (fixvideo_mod_CFLAGS): Likewise.
14449 (fixvideo_mod_LDFLAGS): Likewise.
14450
14451 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
14452
14453 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14454
14455 2009-04-07 David S. Miller <davem@davemloft.net>
14456
14457 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14458 support for R_SPARC_OLO10 relocations. Fix compile warning for
14459 R_SPARC_WDISP30 case.
14460 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
14461
14462 2009-04-06 Pavel Roskin <proski@gnu.org>
14463
14464 * include/grub/misc.h (ARRAY_SIZE): New macro.
14465 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14466 New macro.
14467 * loader/i386/linux.c (allocate_pages): Use free_pages().
14468 (grub_linux_unload): Don't use free_pages().
14469 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14470 wrong index. Treat all other modes as text modes.
14471 (grub_cmd_linux): Initialize vid_mode unconditionally to
14472 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14473
14474 * commands/help.c (print_command_help): Use cmd->prio, not
14475 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14476
14477 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14478
14479 Parttool
14480
14481 * parttool/pcpart.c: new file
14482 * commands/parttool.c: likewise
14483 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14484 (parttool_mod_SOURCES): new variable
14485 (parttool_mod_CFLAGS): likewise
14486 (parttool_mod_LDFLAGS): likewise
14487 (pcpart_mod_SOURCES): likewise
14488 (pcpart_mod_CFLAGS): likewise
14489 (pcpart_mod_LDFLAGS): likewise
14490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
14491 and parttool/pcpart.c
14492 * conf/i386-efi.rmk: likewise
14493 * conf/i386-ieee1275.rmk: likewise
14494 * conf/i386-pc.rmk: likewise
14495 * conf/powerpc-ieee1275.rmk: likewise
14496 * conf/sparc64-ieee1275.rmk: likewise
14497 * conf/x86_64-ieee1275.rmk: likewise
14498
14499 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 Support for mtime and further expandability of dir command
14502
14503 * include/grub/lib/datetime.h: moved to ...
14504 * include/grub/datetime.h: ... moved here and added
14505 declaration of grub_unixtime2datetime. All users updated
14506 * include/grub/fs.h: new syntax for dir and mtime functions in
14507 struct grub_fs
14508 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14509 and GRUB_FSHELP_FLAGS_MASK
14510 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14511 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14512 (grub_ext2_mtime): new function
14513 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14514 (grub_hfsplus_mtime): new function
14515 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14516 (GRUB_UFS_ATTR_FILE): likewise
14517 (GRUB_UFS_ATTR_LNK): likewise
14518 (struct grub_ufs_sblock): new fields mtime
14519 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14520 all users updated
14521 (grub_ufs_dir): mtime support
14522 (grub_ufs_mtime): new function
14523 * fs/affs.c (grub_affs_dir): use new dir syntax
14524 * fs/afs.c (grub_afs_dir): likewise
14525 * fs/cpio.c (grub_cpio_dir): likewise
14526 * fs/fat.c (grub_fat_find_dir): likewise
14527 * fs/hfs.c (grub_hfs_dir): likewise
14528 * fs/iso9660.c (grub_iso9660_dir): likewise
14529 * fs/jfs.c (grub_jfs_dir): likewise
14530 * fs/minix.c (grub_minix_dir): likewise
14531 * fs/ntfs.c (grub_ntfs_dir): likewise
14532 * fs/reiserfs.c (grub_reiserfs_dir): likewise
14533 * fs/sfs.c (grub_sfs_dir): likewise
14534 * fs/xfs.c (grub_xfs_dir): likewise
14535 * util/hostfs.c (grub_hostfs_dir): likewise
14536 * lib/datetime.c: moved to ...
14537 * normal/datetime.c: ... moved here
14538 (grub_unixtime2datetime): new function
14539 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
14540 * normal/completion.c (iterate_dir): use new dir syntax
14541 * normal/misc.c (grub_normal_print_device_info): tell the
14542 last modification time of a volume
14543 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
14544 * conf/common.rmk: added lib/datetime.c to ls.mod
14545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
14546 (normal_mod_SOURCES): likewise
14547 (datetime_mod_SOURCES): Removed lib/datetime.c
14548 * conf/i386-efi.rmk: likewise
14549 * conf/i386-ieee1275.rmk: likewise
14550 * conf/i386-pc.rmk: likewise
14551 * conf/powerpc-ieee1275.rmk: likewise
14552 * conf/sparc64-ieee1275.rmk: likewise
14553 * conf/x86_64-efi.rmk: likewise
14554
14555 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 Trim trailing spaces in FAT label and support mtools-like labels
14558
14559 * fs/fat.c (grub_fat_iterate_dir): New function based
14560 on grub_fat_find_dir
14561 (grub_fat_find_dir): use grub_fat_iterate_dir
14562 (grub_fat_label): likewise
14563
14564 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
14567 and command.h
14568 remove extraneous kernel_elf_HEADERS
14569
14570 2009-04-04 Bean <bean123ch@gnail.com>
14571
14572 * include/grub/util/misc.h: Add dummy function fsync for mingw.
14573
14574 * util/misc.c: Likewise.
14575
14576 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
14577
14578 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
14579 instead of grub_printf.
14580
14581 2009-04-03 Robert Millan <rmh@aybabtu.com>
14582
14583 * loader/i386/linux.c (grub_linux_setup_video): Fill
14584 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
14585 values from `mode info' structure instead of hardcoded
14586 values.
14587
14588 2009-04-01 Pavel Roskin <proski@gnu.org>
14589
14590 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
14591 unused now.
14592 * genmk.rb: Likewise.
14593 * configure.ac: Likewise.
14594
14595 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
14596
14597 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
14598 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
14599
14600 2009-04-01 David S. Miller <davem@davemloft.net>
14601
14602 * normal/sparc64/setjmp.S: Fix setjmp implementation.
14603 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
14604 (grub_setjmp): Mark with 'returns_twice' attribute.
14605 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
14606 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
14607 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
14608
14609 2009-04-01 Robert Millan <rmh@aybabtu.com>
14610
14611 Reapply fix from 2008-07-28 which was accidentally reverted; also
14612 perform the same fix to a similar check in same function.
14613
14614 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14615 with the same number are found, just use issue a warning with
14616 grub_dprintf(), as this error has been reported to be non-fatal.
14617
14618 2009-03-31 Pavel Roskin <proski@gnu.org>
14619
14620 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
14621 for cross-compilation.
14622
14623 2009-03-30 Robert Millan <rmh@aybabtu.com>
14624
14625 Fix i386-ieee1275 build.
14626
14627 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
14628 Remove declaration.
14629
14630 2009-03-30 Pavel Roskin <proski@gnu.org>
14631
14632 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
14633 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
14634 zero-terminated, rely only on the strlen value. Fix comparison
14635 of strings differing in length.
14636
14637 2009-03-30 Robert Millan <rmh@aybabtu.com>
14638
14639 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
14640 checking for abi version. Improve error messages on BIOS to notify
14641 user about `linux16' command.
14642
14643 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 Leak fixes
14646
14647 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
14648 in case of collision
14649 * disk/scsi.c (grub_scsi_open): free scsi in case of error
14650
14651 2009-03-29 Robert Millan <rmh@aybabtu.com>
14652
14653 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
14654 set `vid_mode' accordingly.
14655 (grub_linux_boot): Process `vid_mode' and set video mode.
14656
14657 2009-03-29 Robert Millan <rmh@aybabtu.com>
14658
14659 * util/grub.d/10_linux.in (linux_entry): New function.
14660 Factorize generation of Linux boot entries.
14661
14662 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
14663
14664 Make the format of Environment Block plain text. The boot loader
14665 part is not tested well yet.
14666
14667 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
14668 (buffer): Removed.
14669 (envblk): Likewise.
14670 (usage): Remove "info" and "clear". Add "unset". Update the
14671 description of "set", as this does not delete variables any
14672 longer.
14673 (create_envblk_file): Complete rewrite.
14674 (open_envblk_file): Likewise.
14675 (cmd_info): Removed.
14676 (cmd_list): Likewise.
14677 (cmd_set): Likewise.
14678 (cmd_clear): Likewise.
14679 (list_variables): New function.
14680 (write_envblk): Likewise.
14681 (set_variables): Likewise.
14682 (unset_variables): Likewise.
14683 (main): Complete rewrite.
14684
14685 * commands/loadenv.c (buffer): Removed.
14686 (envblk): Likewise.
14687 (open_envblk_file): New function.
14688 (read_envblk_file): Complete rewrite.
14689 (grub_cmd_load_env): Likewise.
14690 (grub_cmd_list_env): Likewise.
14691 (struct blocklist): New struct.
14692 (free_blocklists): New function.
14693 (check_blocklists): Likewise.
14694 (write_blocklists): Likewise.
14695 (grub_cmd_save_env): Complete rewrite.
14696
14697 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
14698 a plain text signature.
14699 (GRUB_ENVBLK_MAXLEN): Removed.
14700 (struct grub_envblk): Complete rewrite.
14701 (grub_envblk_find): Removed.
14702 (grub_envblk_insert): Likewise.
14703 (grub_envblk_open): New prototype.
14704 (grub_envblk_set): Likewise.
14705 (grub_envblk_delete): Put const to VALUE.
14706 (grub_envblk_iterate): Put const to NAME and VALUE.
14707 (grub_envblk_close): New prototype.
14708 (grub_envblk_buffer): New inline function.
14709 (grub_envblk_size): Likewise.
14710
14711 * lib/envblk.c: Include grub/mm.h.
14712 (grub_env_find): Removed.
14713 (grub_envblk_open): New function.
14714 (grub_envblk_close): Likewise.
14715 (escaped_value_len): Likewise.
14716 (find_next_line): Likewise.
14717 (grub_envblk_insert): Removed.
14718 (grub_envblk_set): New function.
14719 (grub_envblk_delete): Complete rewrite.
14720 (grub_envblk_iterate): Likewise.
14721
14722 2009-03-28 Robert Millan <rmh@aybabtu.com>
14723
14724 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
14725 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
14726 variables. Use 16-bit loader.
14727 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
14728 loader.
14729 * kern/i386/loader.S (grub_linux_boot): Rename to ...
14730 (grub_linux16_boot): ... this. Update all users.
14731 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
14732 (grub_linux_boot): ... this. Update all users.
14733
14734 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
14735 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
14736 commands to `linux16' and `initrd16'.
14737 (GRUB_MOD_FINI(linux)): Rename to ...
14738 (GRUB_MOD_FINI(linux16)): ... this.
14739
14740 2009-03-24 Pavel Roskin <proski@gnu.org>
14741
14742 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
14743 not just for compilation.
14744
14745 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Move multiboot helper out of kernel
14748
14749 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
14750 `loader/i386/multiboot_helper.S'.
14751 * conf/i386-coreboot.rmk: Likewise
14752 * conf/i386-ieee1275.rmk: Likewise
14753
14754 * kern/i386/loader.S: Move multiboot helpers from here...
14755 * loader/i386/multiboot_helper.S: ...moved here
14756 * include/grub/i386/loader.h: Move declarations of multiboot
14757 helpers from here...
14758 * include/grub/i386/multiboot.h: ...moved here
14759 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
14760
14761 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14762
14763 * kern/env.c (grub_env_context_open): Added an argument to specify
14764 whether a new context inherits exported variables from current
14765 one. This is useful when making a sandbox to interpret a config
14766 file.
14767 All callers updated.
14768
14769 * include/grub/env.h (grub_env_context_open): Updated the prototype.
14770
14771 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14772
14773 * kern/env.c (grub_env_context_close): Fix memory leaks.
14774
14775 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
14776
14777 * normal/main.c (grub_normal_execute): Added an argument
14778 BATCH to specify if an interactive interface should be provided
14779 after reading a config file.
14780 All callers updated.
14781 (read_command_list): Prevent being executed twice.
14782 (read_fs_list): Likewise.
14783
14784 * include/grub/normal.h (grub_normal_execute): Updated the
14785 prototype.
14786
14787 2009-03-22 Pavel Roskin <proski@gno.org>
14788
14789 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
14790 _start.
14791 * kern/i386/pc/startup.S: Likewise.
14792 * kern/i386/efi/startup.S: Likewise.
14793 * kern/i386/ieee1275/startup.S: Likewise.
14794 * kern/i386/coreboot/startup.S: Likewise.
14795 * kern/x86_64/efi/startup.S: Likewise.
14796
14797 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
14798 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
14799 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
14800
14801 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 Bugfixes in multiboot for bugs uncovered by solaris kernel.
14804
14805 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
14806 limit detection.
14807 Use vaddr of correct segment for entry_point.
14808
14809 2009-03-21 Bean <bean123ch@gmail.com>
14810
14811 * commands/blocklist.c: Add include file <grub/command.h>, remove
14812 <grub/normal.h> and <grub/arg.h>.
14813 (grub_cmd_blocklist): Use the new command interface.
14814 (GRUB_MOD_INIT): Likewise.
14815 (GRUB_MOD_FINI): Likewise.
14816 * commands/boot.c: Likewise.
14817 * commands/cat.c: Likewise.
14818 * commands/cmp.c: Likewise.
14819 * commands/configfile.c: Likewise.
14820 * commands/crc.c: Likewise.
14821 * commands/echo.c: Likewise.
14822 * commands/halt.c: Likewise.
14823 * commands/handler.c: Likewise.
14824 * commands/hdparm.c: Likewise.
14825 * commands/help.c: Likewise.
14826 * commands/hexdump.c: Likewise.
14827 * commands/loadenv.c: Likewise.
14828 * commands/ls.c: Likewise.
14829 * commands/lsmmap.c: Likewise.
14830 * commands/lspci.c: Likewise.
14831 * commands/loadenv.c: Likewise.
14832 * commands/read.c: Likewise.
14833 * commands/reboot.c: Likewise.
14834 * commands/search.c: Likewise.
14835 * commands/sleep.c: Likewise.
14836 * commands/test.c: Likewise.
14837 * commands/usbtest.c: Likewise.
14838 * commands/videotest.c: Likewise.
14839 * commands/i386/cpuid.c: Likewise.
14840 * commands/i386/pc/halt.c: Likewise.
14841 * commands/i386/pc/play.c: Likewise.
14842 * commands/i386/pc/pxecmd.c: Likewise.
14843 * commands/i386/pc/vbeinfo.c: Likewise.
14844 * commands/i386/pc/vbetest.c: Likewise.
14845 * commands/ieee1275/suspend.c: Likewise.
14846 * disk/loopback.c: Likewise.
14847 * font/font_cmd.c: Likewise.
14848 * hello/hello.c: Likewise.
14849 * loader/efi/appleloader.c: Likewise.
14850 * loader/efi/chainloader.c: Likewise.
14851 * loader/i386/bsd.c: Likewise.
14852 * loader/i386/efi/linux.c: Likewise.
14853 * loader/i386/ieee1275/linux.c: Likewise.
14854 * loader/i386/linux.c: Likewise.
14855 * loader/i386/pc/chainloader.c: Likewise.
14856 * loader/i386/pc/linux.c: Likewise.
14857 * loader/powerpc/ieee1275/linux.c: Likewise.
14858 * loader/multiboot_loader.c: Likewise.
14859 * term/gfxterm.c: Likewise.
14860 * term/i386/pc/serial.c: Likewise.
14861 * term/terminfo.c: Likewise.
14862
14863 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
14864 * term/i386/pc/vga.c: Likewise.
14865 * video/readers/jpeg.c: Likewise.
14866 * video/readers/png.c: Likewise.
14867 * video/readers/tga.c: Likewise.
14868
14869 * util/grub-fstest (cmd_loopback): Removed.
14870 (cmd_blocklist): Likewise.
14871 (cmd_ls): Likewise.
14872 (grub_register_command): Likewise.
14873 (grub_unregister_command): Likewise.
14874 (execute_command): Use grub_command_find to locate command and execute
14875 it.
14876
14877 * include/grub/efi/chainloader.h: Removed.
14878 * loader/efi/chainloader_normal.c: Likewise.
14879 * loader/i386/bsd_normal.c: Likewise.
14880 * loader/i386/pc/chainloader_normal.c: Likewise.
14881 * loader/i386/pc/multiboot_normal.c: Likewise.
14882 * loader/linux_normal.c: Likewise.
14883 * loader/multiboot_loader_normal.c: Likewise.
14884 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14885
14886 * gencmdlist.sh: Scan new registration command grub_register_extcmd
14887 and grub_register_command_p1.
14888
14889 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
14890 kern/command.c, lib/arg.c and commands/extcmd.c.
14891 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
14892 (minicmd_mod_SOURCES): New variable.
14893 (minicmd_mod_CFLAGS): Likewise.
14894 (minicmd_mod_LDFLAGS): Likewise.
14895 (extcmd_mod_SOURCES): Likewise.
14896 (extcmd_mod_CFLAGS): Likewise.
14897 (extcmd_mod_LDFLAGS): Likewise.
14898 (boot_mod_SOURCES): Removed.
14899 (boot_mod_CFLAGS): Likewise.
14900 (boot_mod_LDFLAGS): Likewise.
14901
14902 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
14903 kern/corecmd.c.
14904 (kernel_img_HEADERS): Add command.h.
14905 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
14906 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
14907 and lib/arg.c.
14908 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
14909 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
14910 remove the corresponding normal mode command.
14911 (normal_mod_SOURCES): Remove normal/arg.c.
14912 * conf/i386-coreboot.rmk: Likewise.
14913 * conf/i386-efi.rmk: Likewise.
14914 * conf/i386-ieee1275.rmk: Likewise.
14915 * conf/powerpc-ieee1275.rmk: Likewise.
14916 * conf/x86_64-efi.rmk: Likewise.
14917
14918 * include/grub/arg.h: Move from here ...
14919 * include/grub/lib/arg.h: ... to here.
14920
14921 * normal/arg.c: Move from here ...
14922 * lib/arg.c: ... to here.
14923
14924 * commands/extcmd.c: New file.
14925 * commands/minicmd.c: Likewise.
14926 * include/grub/command.h: Likewise.
14927 * include/grub/extcmd.h: Likewise.
14928 * kern/command.c: Likewise.
14929 * kern/corecmd.c: Likewise.
14930
14931 * kern/list.c (grub_list_iterate): Return int instead of void.
14932 (grub_list_insert): New function.
14933 (grub_prio_list_insert): Likewise.
14934
14935 * kern/rescue.c (grub_rescue_command): Removed.
14936 (grub_rescue_command_list): Likewise.
14937 (grub_rescue_register_command): Likewise.
14938 (grub_rescue_unregister_command): Likewise.
14939 (grub_rescue_cmd_boot): Move to minicmd.c
14940 (grub_rescue_cmd_help): Likewise.
14941 (grub_rescue_cmd_info): Likewise.
14942 (grub_rescue_cmd_boot): Likewise.
14943 (grub_rescue_cmd_testload): Likewise.
14944 (grub_rescue_cmd_dump): Likewise.
14945 (grub_rescue_cmd_rmmod): Likewise.
14946 (grub_rescue_cmd_lsmod): Likewise.
14947 (grub_rescue_cmd_exit): Likewise.
14948 (grub_rescue_print_devices): Moved to corecmd.c.
14949 (grub_rescue_print_files): Likewise.
14950 (grub_rescue_cmd_ls): Likewise.
14951 (grub_rescue_cmd_insmod): Likewise.
14952 (grub_rescue_cmd_set): Likewise.
14953 (grub_rescue_cmd_unset): Likewise.
14954 (attempt_normal_mode): Use grub_command_find to get normal module.
14955 (grub_enter_rescue_mode): Use grub_register_core_commands to register
14956 commands, remove grub_rescue_register_command calls.
14957
14958 * normal/command.c (grub_register_command): Removed.
14959 (grub_unregister_command): Likewise.
14960 (grub_command_find): Likewise.
14961 (grub_iterate_commands): Likewise.
14962 (rescue_command): Likewise.
14963 (export_command): Moved to corecmd.c.
14964 (set_command): Removed.
14965 (unset_command): Likewise.
14966 (insmod_command): Likewise.
14967 (rmmod_command): Likewise.
14968 (lsmod_command): Likewise.
14969 (grub_command_init): Likewise.
14970
14971 * normal/completion.c (iterate_command): Use cmd->prio to check for
14972 active command.
14973 (complete_arguments): Use grub_extcmd_t structure to find options.
14974 (grub_normal_do_completion): Change function grub_iterate_commands to
14975 grub_command_iterate.
14976
14977 * normal/execute.c (grub_script_execute_cmd): No need to parse
14978 argument here.
14979
14980 * normal/main.c (grub_dyncmd_dispatcher): New function.
14981 (read_command_list): Register unload commands as dyncmd.
14982 (grub_cmd_normal): Use new command interface, register rescue,
14983 unregister normal at entry, register normal, unregister rescue at exit.
14984
14985 * include/grub/list.h (grub_list_test_t): New type.
14986 (grub_list_iterate): Return int instead of void.
14987 (grub_list_insert): New function.
14988 (GRUB_AS_NAMED_LIST_P): New macro.
14989 (GRUB_AS_PRIO_LIST): Likewise.
14990 (GRUB_AS_PRIO_LIST_P): Likewise.
14991 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
14992 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
14993 (grub_prio_list): New structure.
14994 (grub_prio_list_insert): New function.
14995 (grub_prio_list_remove): New inline function.
14996
14997 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
14998 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
14999 (GRUB_COMMAND_FLAG_MENU): Likewise.
15000 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15001 (GRUB_COMMAND_FLAG_TITLE): Likewise.
15002 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15003 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
15004 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
15005 (grub_command): Likewise.
15006 (grub_register_command): Likewise.
15007 (grub_command_find): Likewise.
15008 (grub_iterate_commands): Likewise.
15009 (grub_command_init): Likewise.
15010 (grub_arg_parse): Likewise.
15011 (grub_arg_show_help): Likewise.
15012
15013 * include/grub/rescue.h (grub_rescue_register_command): Removed.
15014 (grub_rescue_unregister_command): Likewise.
15015
15016 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
15017 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
15018 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
15019
15020 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
15021 grub_rescue_cmd_initrd.
15022 * include/grub/i386/loader.h: Likewise.
15023 * include/grub/x86_64/loader.h: Likewise.
15024
15025 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
15026
15027 2009-03-21 Bean <bean123ch@gmail.com>
15028
15029 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
15030 instead of stat in mingw environment.
15031
15032 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
15033
15034 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
15035
15036 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
15037 AC_CONFIG_LINKS.
15038
15039 2009-03-21 Bean <bean123ch@gmail.com>
15040
15041 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
15042 out of range error.
15043
15044 2009-03-18 Michel Dänzer <michel@daenzer.net>
15045
15046 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
15047 checking inode flags for EXT4_EXTENTS_FLAG.
15048
15049 2009-03-18 Robert Millan <rmh@aybabtu.com>
15050
15051 * loader/i386/linux.c: Include `<grub/video.h>' and
15052 `<grub/i386/pc/vbe.h>'..
15053 (grub_linux_setup_video): New function. Loosely based on the EFI one.
15054 (grub_linux32_boot): Attempt to configure video settings with
15055 grub_linux_setup_video().
15056 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
15057 to avoid grub_console_fini() which would step out of graphical mode
15058 unconditionally.
15059
15060 2009-03-14 Robert Millan <rmh@aybabtu.com>
15061
15062 Fix build on powerpc.
15063 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
15064
15065 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
15068 background image command.
15069
15070 2009-03-12 Colin D Bennett <colin@gibibit.com>
15071
15072 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
15073 (grub_gfxterm_putchar): Extract pairs of identical calls to
15074 draw_cursor out of conditional blocks.
15075
15076 2009-03-11 Pavel Roskin <proski@gnu.org>
15077
15078 * fs/hfs.c (grub_hfs_strncasecmp): New function.
15079 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
15080
15081 2009-03-11 Robert Millan <rmh@aybabtu.com>
15082
15083 * loader/i386/multiboot_elfxx.c
15084 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
15085
15086 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
15087
15088 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
15089 `kern/handler.c'.
15090
15091 2009-03-11 Robert Millan <rmh@aybabtu.com>
15092
15093 * loader/i386/multiboot.c (code_size): New variable.
15094 (grub_multiboot): Define offsets by adding to `code_size' rather
15095 than subtracting from `grub_multiboot_payload_size'. Provide
15096 4-byte alignment to MBI and others by increasing
15097 `boot_loader_name_length' appropriately.
15098
15099 * loader/i386/multiboot_elfxx.c
15100 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
15101
15102 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
15103
15104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
15105 `fs/ext2.c'.
15106
15107 2009-03-08 Robert Millan <rmh@aybabtu.com>
15108
15109 Make loader/i386/linux.c usable on i386-pc again.
15110
15111 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
15112 memory to heap.
15113 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
15114 `#error' stanza.
15115
15116 2009-03-07 Bean <bean123ch@gmail.com>
15117
15118 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
15119 allocation.
15120
15121 2009-03-06 Robert Millan <rmh@aybabtu.com>
15122
15123 Fix display issue on terminals with screen size other than 80x25
15124 (e.g. gfxterm with resolution higher than 640x480).
15125
15126 * normal/main.c (grub_normal_init_page): Display title text in a
15127 position relative to the center of the terminal instead of relying
15128 on a hardcoded offset.
15129
15130 2009-03-04 Robert Millan <rmh@aybabtu.com>
15131
15132 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
15133 installed.
15134
15135 * Makefile.in (host_kernel): New variable.
15136 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
15137 scripts instead of just the windows one.
15138 * configure.ac: Initialize and AC_SUBST `host_kernel'.
15139
15140 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
15141
15142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
15143 `kern/handler.c'.
15144 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15145 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15146 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15150
15151 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
15152
15153 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
15154 or if there's no space for the disk label and print the partition number on a
15155 invalid magic.
15156
15157 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
15158
15159 * util/misc.c: Include <time.h>.
15160 (grub_millisleep): New function.
15161
15162 2009-03-04 Bean <bean123ch@gmail.com>
15163
15164 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
15165 another option -mno-red-zone.
15166
15167 * commands/handler.c: Change module description.
15168
15169 * kern/handler.c: Add missing space at the end of description line.
15170
15171 * kern/list.c: Likewise.
15172
15173 2009-03-03 Robert Millan <rmh@aybabtu.com>
15174
15175 Move more components to the relocation area, and fix mbi pointer
15176 handling to use the destination rather than the origin (thanks to
15177 Vladimir Serbinenko for spotting).
15178
15179 * loader/i386/multiboot.c (mbi_dest): New variable.
15180 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
15181 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
15182 relocation area.
15183
15184 2009-03-01 Bean <bean123ch@gmail.com>
15185
15186 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
15187 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
15188 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
15189 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
15190
15191 * loader/i386/efi/linux.c (acpi_guid): New variable.
15192 (acpi_guid): Likewise.
15193 (EBDA_SEG_ADDR): New constant.
15194 (LOW_MEM_ADDR): Likewise.
15195 (FAKE_EBDA_SEG): Likewise.
15196 (fake_bios_data): New function.
15197 (grub_linux_boot): Call fake_bios_data.
15198
15199 2009-03-01 Bean <bean123ch@gmail.com>
15200
15201 * commands/terminal.c: Removed.
15202
15203 * commands/handler.c: New file.
15204
15205 * include/grub/list.h: Likewise.
15206
15207 * include/grub/handler.h: Likewise.
15208
15209 * kern/list.c: Likewise.
15210
15211 * kern/handler.c: Likewise.
15212
15213 * kern/term.h: Include header file <grub/handler.h>.
15214 (grub_term_input): Move next field to the beginning.
15215 (grub_term_output): Likewise.
15216 (grub_term_input_class): New variable.
15217 (grub_term_output_class): Likewise.
15218 (grub_term_register_input): Changed to inline function.
15219 (grub_term_register_output): Likewise.
15220 (grub_term_unregister_input): Likewise.
15221 (grub_term_unregister_output): Likewise.
15222 (grub_term_set_current_input): Likewise.
15223 (grub_term_set_current_output): Likewise.
15224 (grub_term_get_current_input): Likewise.
15225 (grub_term_get_current_output): Likewise.
15226 (grub_term_iterate_input): Removed.
15227 (grub_term_iterate_output): Likewise.
15228
15229 * kern/term.c (grub_term_list_input): Removed.
15230 (grub_term_list_output): Likewise.
15231 (grub_term_input_class): New variable.
15232 (grub_term_output_class): Likewise.
15233 (grub_cur_term_input): Change variable as macro.
15234 (grub_cur_term_output): Likewise.
15235 (grub_term_register_input): Removed.
15236 (grub_term_register_output): Likewise.
15237 (grub_term_unregister_input): Likewise.
15238 (grub_term_unregister_output): Likewise.
15239 (grub_term_set_current_input): Likewise.
15240 (grub_term_set_current_output): Likewise.
15241 (grub_term_iterate_input): Likewise.
15242 (grub_term_iterate_output): Likewise.
15243 (grub_term_get_current_input): Likewise.
15244 (grub_term_get_current_output): Likewise.
15245
15246 * util/grub-editenv.c: Include header file <grub/handler.h>.
15247 (grub_term_get_current_input): Removed.
15248 (grub_term_get_current_output): Likewise.
15249 (grub_term_input_class): New variable.
15250 (grub_term_output_class): Likewise.
15251
15252 * util/grub-fstest.c (grub_term_get_current_input): Removed.
15253 (grub_term_get_current_output): Likewise.
15254 (grub_term_input_class): New variable.
15255 (grub_term_output_class): Likewise.
15256
15257 * util/grub-probe.c (grub_term_get_current_input): Removed.
15258 (grub_term_get_current_output): Likewise.
15259 (grub_term_input_class): New variable.
15260 (grub_term_output_class): Likewise.
15261
15262 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
15263 (grub_term_get_current_output): Likewise.
15264 (grub_term_input_class): New variable.
15265 (grub_term_output_class): Likewise.
15266
15267 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
15268 (terminal_mod_SOURCES): Likewise.
15269 (terminal_mod_CFLAGS): Likewise.
15270 (terminal_mod_LDFLAGS): Likewise.
15271
15272 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
15273 handler.c.
15274 (kernel_img_SOURCES): Add list.c and handler.c.
15275 (kernel_img_HEADERS): Add list.h and handler.h.
15276
15277 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15278 handler.c.
15279 (kernel_mod_SOURCES): Add list.c and handler.c.
15280 (kernel_mod_HEADERS): Add list.h and handler.h.
15281
15282 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
15283 handler.c.
15284 (kernel_elf_SOURCES): Add list.c and handler.c.
15285 (kernel_elf_HEADERS): Add list.h and handler.h.
15286
15287 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15288 handler.c.
15289 (kernel_elf_SOURCES): Add list.c and handler.c.
15290 (kernel_elf_HEADERS): Add list.h and handler.h.
15291
15292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15293 handler.c.
15294 (kernel_mod_SOURCES): Add list.c and handler.c.
15295 (kernel_mod_HEADERS): Add list.h and handler.h.
15296
15297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15298 handler.c.
15299 (kernel_elf_SOURCES): Add list.c and handler.c.
15300 (kernel_elf_HEADERS): Add list.h and handler.h.
15301
15302 2009-02-27 Robert Millan <rmh@aybabtu.com>
15303
15304 Factorize elf32 / elf64 code in Multiboot loader. This will
15305 prevent it from getting out of sync again.
15306
15307 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
15308 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
15309 grub_multiboot_load_elf64): Move from here ...
15310 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
15311 grub_multiboot_load_elf): ... to here (new file).
15312
15313 2009-02-27 Robert Millan <rmh@aybabtu.com>
15314
15315 * util/grub.d/10_linux.in: Rename "single-user mode" to
15316 "recovery mode".
15317
15318 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 Don't leak in SCSI code.
15321 * disk/scsi.c (grub_scsi_close): free `scsi'.
15322
15323 2009-02-27 Robert Millan <rmh@aybabtu.com>
15324
15325 * loader/i386/pc/multiboot.c: Move from here ...
15326 * loader/i386/multiboot.c: ... to here. Update all users.
15327
15328 2009-02-27 Robert Millan <rmh@aybabtu.com>
15329
15330 Patch from Alexandre Bique <bique.alexandre@gmail.com>
15331 * util/i386/pc/grub-setup.c (setup): Fix directory path.
15332
15333 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
15334
15335 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
15336 b-tree.
15337
15338 2009-02-27 Robert Millan <rmh@aybabtu.com>
15339
15340 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
15341 `0x' qualifier as 0 when base is specified as parameter).
15342
15343 2009-02-24 Bean <bean123ch@gmail.com>
15344
15345 * configure.ac: Check for -mcmodel=large in x86_64 target.
15346
15347 * include/grub/efi/api.h (efi_call_10): New macro.
15348 (efi_wrap_10): New function.
15349
15350 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
15351 (GRUB_PE32_REL_BASED_HIGH): Likewise.
15352 (GRUB_PE32_REL_BASED_LOW): Likewise.
15353 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
15354 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
15355 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
15356 (GRUB_PE32_REL_BASED_SECTION): Likewise.
15357 (GRUB_PE32_REL_BASED_REL): Likewise.
15358 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
15359 (GRUB_PE32_REL_BASED_DIR64): Likewise.
15360 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
15361
15362 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
15363 issue.
15364
15365 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
15366 (efi_wrap_10): New function.
15367
15368 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
15369
15370 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
15371 MB/MBP model (NV chipset).
15372 (devdata_devs): Add devpath_5 to the list.
15373
15374 * load/i386/efi/linux.c (video_base): Remove variable.
15375 (RGB_MASK): New macro.
15376 (RGB_MAGIC): Likewise.
15377 (LINE_MIN): Likewise.
15378 (LINE_MAX): Likewise.
15379 (FBTEST_STEP): Likewise.
15380 (FBTEST_COUNT): Likewise.
15381 (fb_list): New variable.
15382 (grub_find_video_card): Remove function.
15383 (find_framebuf): New function.
15384 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
15385 line length.
15386
15387 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
15388 problem for x86_64.
15389
15390 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
15391
15392 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
15393
15394 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
15395 coding tool name.
15396
15397 2009-02-22 Robert Millan <rmh@aybabtu.com>
15398
15399 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
15400 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
15401 in our relocation, instead of using it directly from heap. Also
15402 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
15403
15404 2009-02-21 Robert Millan <rmh@aybabtu.com>
15405
15406 Implement USB keyboard support (based on patch by Marco Gerards)
15407
15408 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
15409 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
15410 (usb_keyboard_mod_LDFLAGS): New variables.
15411
15412 * term/usb_keyboard.c: New file.
15413
15414 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 Corrected wrong declaration
15417
15418 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
15419
15420 2009-02-14 Christian Franke <franke@computer.org>
15421
15422 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
15423 (grub_lspci_iter): Print class code and programming interface byte.
15424
15425 2009-02-14 Christian Franke <franke@computer.org>
15426
15427 * gendistlist.sh: Ignore `.svn' directories.
15428
15429 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
15430
15431 * fs/fat.c: Add 2009 to Copyright line.
15432
15433 2009-02-14 Christian Franke <franke@computer.org>
15434
15435 * commands/hdparm.c: New file. Provides `hdparm' command
15436 which sends ATA commands via grub_disk_ata_pass_through ().
15437
15438 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15439
15440 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15441 and <grub/cpu/io.h> to include/grub/ata.h.
15442 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15443 (GRUB_CDROM_SECTOR_SIZE): Remove.
15444 (GRUB_ATA_*): Move to include/grub/ata.h.
15445 (GRUB_ATAPI_*): Likewise.
15446 (enum grub_ata_commands): Likewise.
15447 (enum grub_ata_timeout_milliseconds): Likewise.
15448 (struct grub_ata_device): Likewise.
15449 (grub_ata_regset): Likewise.
15450 (grub_ata_regget): Likewise.
15451 (grub_ata_regset2): Likewise.
15452 (grub_ata_regget2): Likewise.
15453 (grub_ata_check_ready): Likewise.
15454 (grub_ata_wait_not_busy): Remove static, exported in
15455 include/grub/ata.h.
15456 (grub_ata_wait_drq): Likewise.
15457 (grub_ata_pio_read): Likewise.
15458
15459 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15460 function for hdparm.mod.
15461
15462 * include/grub/ata.h: New file, contains declarations from
15463 disk/ata.c.
15464 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15465
15466 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15467 (grub_disk_ata_pass_through): New exported variable.
15468
15469 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15470
15471 2009-02-13 Colin D Bennett <colin@gibibit.com>
15472
15473 Support multiple fallback entries, and provide an API to support
15474 executing default+fallback menu entries. Renamed the `terminal' menu
15475 viewer to `text'.
15476
15477 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15478 variable declaration.
15479 (grub_menu_execute_callback): New structure declaration.
15480 (grub_menu_execute_callback_t): New typedef.
15481 (grub_menu_execute_with_fallback): New function declaration.
15482 (grub_menu_get_entry): Likewise.
15483 (grub_menu_get_timeout): Likewise.
15484 (grub_menu_set_timeout): Likewise.
15485
15486 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15487
15488 * normal/menu.c (grub_wait_after_message): Moved to
15489 `normal/menu_text.c'.
15490 (draw_border): Likewise.
15491 (print_message): Likewise.
15492 (print_entry): Likewise.
15493 (print_entries): Likewise.
15494 (grub_menu_init_page): Likewise.
15495 (get_entry_number): Likewise.
15496 (print_timeout): Likewise.
15497 (run_menu): Likewise.
15498 (grub_menu_execute_entry): Likewise.
15499 (show_text_menu): Likewise.
15500 (get_and_remove_first_entry_number): New function.
15501 (grub_menu_execute_with_fallback): Likewise.
15502 (get_entry): Renamed to ...
15503 (grub_menu_get_entry): .. this and made it global.
15504 (get_timeout): Renamed to ...
15505 (grub_menu_get_timeout): ... this and made it global.
15506 (set_timeout): Renamed to ...
15507 (grub_menu_set_timeout): ... this and made it global.
15508 (grub_normal_terminal_menu_viewer): Renamed to ...
15509 (grub_normal_text_menu_viewer): ... this.
15510
15511 * normal/menu_text.c: New file. Extracted text-menu-specific code
15512 from normal/menu.c.
15513
15514 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15515 (normal_mod_SOURCES): Likewise.
15516
15517 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15518 (normal_mod_SOURCES): Likewise.
15519
15520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15521 (normal_mod_SOURCES): Likewise.
15522
15523 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
15524 (normal_mod_SOURCES): Likewise.
15525
15526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15527 (normal_mod_SOURCES): Likewise.
15528
15529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15530 (normal_mod_SOURCES): Likewise.
15531
15532 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15533 (normal_mod_SOURCES): Likewise.
15534
15535 2009-02-11 Robert Millan <rmh@aybabtu.com>
15536
15537 * util/grub.d/00_header.in: Update old reference to `font' command.
15538
15539 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
15540
15541 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
15542
15543 Based on patch from Javier Martín.
15544
15545 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
15546
15547 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
15548 to avoid false positives with FAT.
15549 (grub_fstest_SOURCES): Likewise.
15550 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15554 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15556
15557 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
15558
15559 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
15560 bpb.version_specific.fat12_or_fat16.fstype and
15561 bpb.version_specific.fat32.fstype.
15562
15563 2009-02-08 Robert Millan <rmh@aybabtu.com>
15564
15565 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
15566
15567 2009-02-08 Robert Millan <rmh@aybabtu.com>
15568
15569 * Makefile.in (host_os, host_cpu): New variables.
15570 (target_os): Remove. Update all users.
15571
15572 2009-02-08 Marco Gerards <marco@gnu.org>
15573
15574 * Makefile.in (enable_grub_emu_usb): New variable.
15575 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
15576 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
15577 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
15578 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
15579 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
15580 `usbtest.mod' and `usbms.mod'.
15581 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
15582 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
15583 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
15584 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
15585 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
15586 variables.
15587
15588 * disk/usbms.c: New file.
15589
15590 * include/grub/usb.h: Likewise.
15591
15592 * include/grub/usbtrans.h: Likewise.
15593
15594 * include/grub/usbdesc.h: Likewise.
15595
15596 * bus/usb/usbtrans.c: Likewise.
15597
15598 * bus/usb/ohci.c: Likewise.
15599
15600 * bus/usb/uhci.c: Likewise.
15601
15602 * bus/usb/usbhub.c: Likewise.
15603
15604 * bus/usb/usb.c: Likewise.
15605
15606 * commands/usbtest.c: Likewise.
15607
15608 * util/usb.c: Likewise.
15609
15610 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
15611
15612 * configure.ac: Test for libusb presence.
15613
15614 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
15615
15616 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
15617
15618 * kern/mm.c: Add more comments.
15619
15620 2009-02-08 Robert Millan <rmh@aybabtu.com>
15621
15622 Patch from Javier Martín.
15623 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
15624 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
15625
15626 2009-02-08 Robert Millan <rmh@aybabtu.com>
15627
15628 * fs/cpio.c: Split tar functionality to ...
15629 * fs/tar.c: ... here (new file). Update all users.
15630
15631 2009-02-07 Robert Millan <rmh@aybabtu.com>
15632
15633 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
15634 backward-incompatible features.
15635
15636 Based on patch from Javier Martín, with some adjustments.
15637
15638 2009-02-07 Michael Scherer <misc@mandriva.org>
15639
15640 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
15641
15642 2009-02-07 Robert Millan <rmh@aybabtu.com>
15643
15644 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
15645 position of `disk/lvm.c' to ensure grub_init_all() always picks it
15646 after the RAID stuff.
15647
15648 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
15649
15650 Fixes problem when running vbetest command as reported by
15651 Vladimir Serbinenko <phcoder@gmail.com>.
15652
15653 * (grub_vbe_set_video_mode): Fixed problem with text modes.
15654
15655 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
15656
15657 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
15658 /dev/md/NpN style mdraid devices.
15659
15660 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
15661
15662 * util/unifont2pff.rb: Remove.
15663
15664 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
15665
15666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
15667 `#'.
15668
15669 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
15670
15671 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
15672 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15673 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15674 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15676 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15677 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15678
15679 2009-02-02 Christian Franke <franke@computer.org>
15680
15681 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
15682
15683 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
15684
15685 * INSTALL: Note that we now require at least autoconf 2.59 and
15686 that LZO is optional.
15687
15688 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15689
15690 Base on patch on bug #24154 created by Tomas Tintera
15691 <trosos@seznam.cz>.
15692
15693 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
15694
15695 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
15696
15697 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
15698 <bero@arklinux.org>.
15699
15700 * normal/parser.y (script_init): Add missing semicolon.
15701
15702 2009-01-31 Colin D Bennett <colin@gibibit.com>
15703
15704 * normal/main.c: Add include to grub/menu_viewer.h.
15705 (free_menu_entry_classes): Added.
15706 (grub_normal_menu_addentry): Added class property handling.
15707 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
15708 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
15709
15710 * normal/menu_viewer.c: New file.
15711
15712 * normal/menu.c (run_menu_entry): Renamed to ...
15713 (grub_menu_execute_entry): ... this and made it as global.
15714 (grub_menu_run): Renamed to ...
15715 (show_text_menu): ... this and made it local.
15716 (show_text_menu): Adapt to new function names.
15717 (grub_normal_terminal_menu_viewer): New global variable.
15718
15719 * include/grub/menu.h: New file.
15720
15721 * include/grub/menu_viewer.h: New file.
15722
15723 * include/grub/normal.h: Added include to grub/menu.h.
15724 (grub_menu_entry): Moved to include/grub/menu.h.
15725 (grub_menu_entry_t): Likewise.
15726 (grub_menu): Likewise.
15727 (grub_menu_t): Likewise.
15728 (grub_normal_terminal_menu_viewer): Added.
15729 (grub_menu_execute_entry): Likewise.
15730 (grub_menu_run): Removed.
15731
15732 * DISTLIST: Added include/grub/menu.h.
15733 Added include/grub/menu_viewer.h.
15734 Added normal/menu_viewer.c.
15735
15736 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
15737
15738 * normal/execute.c (grub_script_execute_menuentry): Changed to use
15739 arglist for menutitle arguments.
15740
15741 * normal/main.c (grub_normal_menu_addentry): Likewise.
15742
15743 * normal/parser.y (menuentry): Likewise.
15744
15745 * normal/script.c (grub_script_create_cmdmenu): Likewise.
15746
15747 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
15748 (grub_script_create_cmdmenu): Likewise.
15749
15750 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
15751
15752 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
15753 changes.
15754
15755 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
15756
15757 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
15758
15759 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
15760
15761 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15762
15763 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15764
15765 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
15766
15767 2009-01-30 Christian Franke <franke@computer.org>
15768
15769 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
15770 in option help text.
15771
15772 2009-01-27 Pavel Roskin <proski@gnu.org>
15773
15774 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
15775
15776 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15777
15778 * commands/lsmmap.c: Add include to grub/machine/memory.h.
15779
15780 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
15781
15782 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
15783 unregister function.
15784
15785 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
15786
15787 * disk/scsi.c (grub_scsi_read): Fix sign problem.
15788
15789 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
15790
15791 * util/grub-mkfont.c (usage): Fix typo.
15792
15793 * util/elf/grub-mkimage.c (load_modules): Fix warning.
15794
15795 2009-01-26 Daniel Mierswa <impulze@impulze.org>
15796
15797 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
15798
15799 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
15800
15801 * kern/misc.c (grub_strcasecmp): New function.
15802 (grub_strcasecmp): Use grub_size_t instead of int for length.
15803 Fix return value.
15804 * include/grub/misc.h: Update function prototypes.
15805
15806 2009-01-26 Robert Millan <rmh@aybabtu.com>
15807
15808 * configure.ac: Fix cross-compilation check.
15809
15810 2009-01-22 Christian Franke <franke@computer.org>
15811
15812 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
15813 (precision) digit string. Allow `.format2' without `format1' (width).
15814 Limit input chars for `%s' output to `format2' if specified. This is
15815 compatible with standard printf ().
15816
15817 2009-01-22 Christian Franke <franke@computer.org>
15818
15819 * disk/ata.c (grub_ata_wait_status): Replace by ...
15820 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
15821 other status bits may be invalid while BSY is asserted.
15822 (grub_ata_check_ready): New function.
15823 (grub_ata_cmd): Removed.
15824 (grub_ata_wait_drq): New function.
15825 (grub_ata_strncpy): Remove inline.
15826 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
15827 and error check now done by grub_ata_wait_drq ().
15828 (grub_ata_pio_write): Likewise.
15829 (grub_atapi_identify): Set DEV before check for !BSY. Use
15830 grub_ata_wait_drq () to wait for data.
15831 (grub_ata_device_initialize): Add status register check to
15832 detect missing SATA slave devices. Add debug messages.
15833 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
15834 (grub_atapi_packet): Set DEV before check for !BSY. Replace
15835 transfer loop by grub_ata_pio_write ().
15836 (grub_ata_identify): Set DEV before check for !BSY. Use
15837 grub_ata_wait_drq () to wait for data.
15838 (grub_ata_setaddress): Set DEV before check for !BSY.
15839 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
15840 read/write in one loop. Fix invalid command on write. Fix incomplete
15841 command on (size % batch) == 0. Add missing error check after write of
15842 last block. Add debug messages.
15843 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
15844
15845 2009-01-19 Christian Franke <franke@computer.org>
15846
15847 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
15848 (GRUB_ATAPI_IREASON_*): Likewise.
15849 (grub_ata_pio_write): Fix timeout error return.
15850 (grub_atapi_identify): Add grub_ata_wait () after cmd.
15851 (grub_atapi_wait_drq): New function.
15852 (grub_atapi_packet): New parameter `size'.
15853 Use grub_atapi_wait_drq () and direct write instead of
15854 grub_ata_pio_write ().
15855 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
15856 reads the number of bytes requested by the device for each DRQ
15857 assertion.
15858 (grub_atapi_write): Remove old implementation, return not
15859 implemented instead.
15860
15861 2009-01-19 Christian Franke <franke@computer.org>
15862
15863 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
15864 of 512 to calculate data size.
15865 (grub_scsi_read12): Likewise.
15866 (grub_scsi_write10): Likewise.
15867 (grub_scsi_write12): Likewise.
15868 (grub_scsi_read): Adjust size according to blocksize.
15869 Add checks for invalid blocksize and unaligned transfer.
15870
15871 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
15872
15873 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
15874
15875 * term/gfxterm.c (write_char): Fix background rendering for wide
15876 width glyphs.
15877
15878 2009-01-19 Robert Millan <rmh@aybabtu.com>
15879
15880 * config.guess: Update to latest version from config git.
15881 * config.sub: Likewise.
15882
15883 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
15884
15885 * Makefile.in: Change font compilation to use new grub-mkfont instead
15886 of java version.
15887
15888 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
15889 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
15890 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15891 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
15892 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
15893 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
15894 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
15895 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
15896 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
15897
15898 2009-01-16 Christian Franke <franke@computer.org>
15899
15900 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
15901 (enum grub_ata_timeout_milliseconds): New enum.
15902 (grub_ata_wait_status): Add parameter milliseconds.
15903 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
15904 recovery from timed-out commands.
15905 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
15906 return grub_errno instead of REG_ERROR.
15907 (grub_ata_pio_write): Add parameter milliseconds.
15908 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
15909 Pass milliseconds to grub_ata_wait_status () and
15910 grub_ata_pio_read ().
15911 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
15912 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
15913 grub_ata_wait_status (). Fix IDENTIFY timeout check.
15914 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
15915 It is not suitable for device detection, because DEV bit is ignored,
15916 the command may run too long, and not all devices set the signature
15917 properly.
15918 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
15919 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
15920 Fix device selection, DEV bit must be set first to address the registers
15921 of the correct device.
15922 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
15923 grub_ata_pio_read/write ().
15924 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
15925 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
15926
15927 2009-01-13 Carles Pina i Estany <carles@pina.cat>
15928
15929 * util/grub-editenv.c (main): Use fseeko(), not fseek().
15930
15931 2009-01-13 Bean <bean123ch@gmail.com>
15932
15933 * util/grub-mkfont.c (write_font): forget to remove some debug code.
15934
15935 2009-01-13 Bean <bean123ch@gmail.com>
15936
15937 * Makefile.in: (enable_grub_mkfont): New variable.
15938 (freetype_cflags): Likewise.
15939 (freetype_libs): Likewise.
15940
15941 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
15942 (grub_mkfont_SOURCES): New variable.
15943 (grub_mkfont_CFLAGS): Likewise.
15944 (grub_mkfont_LDFLAGS): Likewise.
15945
15946 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
15947 library if `--enable-grub-mkfont' is requested.
15948 (enable_grub_mkfont): New variable.
15949 (freetype_cflags): Likewise.
15950 (freetype_libs): Likewise.
15951
15952 * util/grub-mkfont.c: New file.
15953
15954 2009-01-12 Christian Franke <franke@computer.org>
15955
15956 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
15957 mode check. Fix setting of compat_use[].
15958
15959 2009-01-10 Robert Millan <rmh@aybabtu.com>
15960
15961 Update a few copyright years which we forgot to do in 2008 (only for
15962 files whose changes made in 2008 were copyright-significant)
15963
15964 * Makefile.in: Add 2008 to Copyright line.
15965 * disk/ieee1275/ofdisk.c: Likewise.
15966 * disk/efi/efidisk.c: Likewise.
15967 * kern/dl.c: Likewise.
15968 * kern/sparc64/ieee1275/init.c: Likewise.
15969 * kern/mm.c: Likewise.
15970 * kern/efi/mm.c: Likewise.
15971 * boot/i386/pc/boot.S: Likewise.
15972 * genfslist.sh: Likewise.
15973 * fs/iso9660.c: Likewise.
15974 * fs/hfs.c: Likewise.
15975 * fs/jfs.c: Likewise.
15976 * fs/minix.c: Likewise.
15977 * fs/ufs.c: Likewise.
15978 * gensymlist.sh.in: Likewise.
15979 * genkernsyms.sh.in: Likewise.
15980 * include/grub/misc.h: Likewise.
15981 * include/grub/types.h: Likewise.
15982 * include/grub/symbol.h: Likewise.
15983 * include/grub/elf.h: Likewise.
15984 * include/grub/kernel.h: Likewise.
15985 * include/grub/disk.h: Likewise.
15986 * include/grub/dl.h: Likewise.
15987 * include/grub/i386/linux.h: Likewise.
15988 * include/grub/i386/pc/biosdisk.h: Likewise.
15989 * include/grub/efi/api.h: Likewise.
15990 * include/grub/efi/pe32.h: Likewise.
15991 * include/grub/util/misc.h: Likewise.
15992 * normal/execute.c: Likewise.
15993 * normal/arg.c: Likewise.
15994 * normal/completion.c: Likewise.
15995 * normal/lexer.c: Likewise.
15996 * normal/parser.y: Likewise.
15997 * normal/misc.c: Likewise.
15998 * commands/i386/pc/vbeinfo.c: Likewise.
15999 * commands/hexdump.c: Likewise.
16000 * commands/terminal.c: Likewise.
16001 * commands/ls.c: Likewise.
16002 * commands/help.c: Likewise.
16003 * partmap/pc.c: Likewise.
16004 * loader/efi/chainloader.c: Likewise.
16005 * loader/multiboot_loader.c: Likewise.
16006 * loader/i386/pc/multiboot2.c: Likewise.
16007 * term/efi/console.c: Likewise.
16008 * term/i386/pc/serial.c: Likewise.
16009 * util/lvm.c: Likewise.
16010 * util/console.c: Likewise.
16011 * util/i386/efi/grub-mkimage.c: Likewise.
16012 * util/raid.c: Likewise.
16013
16014 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
16015
16016 * commands/videotest.c: Removed include to grub/machine/memory.h.
16017
16018 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
16019 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
16020 (video_mod_SOURCES): Removed.
16021 (video_mod_CFLAGS): Likewise.
16022 (video_mod_LDFLAGS): Likewise.
16023 (gfxterm_mod_SOURCES): Likewise.
16024 (gfxterm_mod_CFLAGS): Likewise.
16025 (gfxterm_mod_LDFLAGS): Likewise.
16026 (videotest_mod_SOURCES): Likewise.
16027 (videotest_mod_CFLAGS): Likewise.
16028 (videotest_mod_LDFLAGS): Likewise.
16029 (bitmap_mod_SOURCES): Likewise.
16030 (bitmap_mod_CFLAGS): Likewise.
16031 (bitmap_mod_LDFLAGS): Likewise.
16032 (tga_mod_SOURCES): Likewise.
16033 (tga_mod_CFLAGS): Likewise.
16034 (tga_mod_LDFLAGS): Likewise.
16035 (jpeg_mod_SOURCES): Likewise.
16036 (jpeg_mod_CFLAGS): Likewise.
16037 (jpeg_mod_LDFLAGS): Likewise.
16038 (png_mod_SOURCES): Likewise.
16039 (png_mod_CFLAGS): Likewise.
16040 (png_mod_LDFLAGS): Likewise.
16041
16042 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
16043 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
16044 (video_mod_SOURCES): Added.
16045 (video_mod_CFLAGS): Likewise.
16046 (video_mod_LDFLAGS): Likewise.
16047 (videotest_mod_SOURCES): Likewise.
16048 (videotest_mod_CFLAGS): Likewise.
16049 (videotest_mod_LDFLAGS): Likewise.
16050 (bitmap_mod_SOURCES): Likewise.
16051 (bitmap_mod_CFLAGS): Likewise.
16052 (bitmap_mod_LDFLAGS): Likewise.
16053 (tga_mod_SOURCES): Likewise.
16054 (tga_mod_CFLAGS): Likewise.
16055 (tga_mod_LDFLAGS): Likewise.
16056 (jpeg_mod_SOURCES): Likewise.
16057 (jpeg_mod_CFLAGS): Likewise.
16058 (jpeg_mod_LDFLAGS): Likewise.
16059 (png_mod_SOURCES): Likewise.
16060 (png_mod_CFLAGS): Likewise.
16061 (png_mod_LDFLAGS): Likewise.
16062 (gfxterm_mod_SOURCES): Likewise.
16063 (gfxterm_mod_CFLAGS): Likewise.
16064 (gfxterm_mod_LDFLAGS): Likewise.
16065
16066 * term/gfxterm.c: Removed include to grub/machine/memory.h,
16067 grub/machine/console.h.
16068
16069 2009-01-04 Jerone Young <jerone@gmail.com>
16070
16071 Make on screen instructions clearer
16072
16073 Based on patch created by Jidanni <jidanni@jidanni.org>
16074
16075 * normal/menu.c: print clearer instructions on the screen
16076
16077 2009-01-02 Colin D Bennett <colin@gibibit.com>
16078
16079 New font engine.
16080
16081 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
16082 build system and fixed gfxterm.c to work with different sized fonts.
16083
16084 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
16085
16086 * configure: Re-generated.
16087
16088 * DISTLIST: Removed font/manager.c.
16089 Added font/font.c.
16090 Added font/font_cmd.c.
16091
16092 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
16093 compilation.
16094
16095 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
16096
16097 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
16098
16099 * kern/term.c: Changed users of grub_utf8_to_ucs4.
16100
16101 * normal/menu.c: Likewise.
16102
16103 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
16104 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
16105
16106 * include/grub/font.h: Replaced with new file.
16107
16108 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
16109 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
16110 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
16111 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
16112 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
16113 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
16114 fg_red, fg_green, fg_blue, fg_alpha.
16115 (grub_video_adapter): Removed blit_glyph.
16116 (grub_video_blit_glyph): Removed.
16117
16118 * font/manager.c: Removed file.
16119
16120 * font/font.c: New file.
16121
16122 * font/font_cmd.c: Likewise.
16123
16124 * video/video.c (grub_video_blit_glyph): Removed.
16125
16126 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
16127 (grub_video_vbe_map_rgba): Likewise.
16128 (grub_video_vbe_unmap_color_int): Likewise.
16129 (grub_video_vbe_blit_glyph): Removed.
16130 (grub_video_vbe_adapter): Removed blit_glyph.
16131
16132 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
16133 (get_pixel): Likewise.
16134 (set_pixel): Likewise.
16135
16136 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
16137
16138 * term/gfxterm.c: Adapted to new font engine.
16139
16140 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
16141
16142 * term/i386/pc/vga.c: Likewise.
16143
16144 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
16145
16146 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
16147
16148 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16149
16150 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16151
16152 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
16153
16154 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
16155
16156 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
16157
16158 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
16159
16160 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
16161
16162 * util/grub.d/00_header.in: Changed to use new loadfont command.
16163
16164 * util/grub-mkconfig_lib.in: Changed font extension.
16165
16166 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
16167
16168 * util/getroot.c (grub_util_get_grub_dev): Add support for
16169 /dev/md/dNNpNN style partitionable mdraid devices.
16170
16171 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
16172
16173 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
16174 at a time limit of the PXE TFTP API correctly.
16175 (grub_pxefs_close): Likewise.
16176
16177 2008-11-29 Robert Millan <rmh@aybabtu.com>
16178
16179 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
16180 grub_ata_device_initialize() calls.
16181
16182 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
16183
16184 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
16185 iteration failed.
16186 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
16187
16188 2008-11-28 Robert Millan <rmh@aybabtu.com>
16189
16190 Fix build on powerpc-ieee1275. Based on patch created by
16191 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
16192 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16193 `kern/ieee1275/mmap.c'.
16194 * include/grub/powerpc/ieee1275/memory.h: New file.
16195
16196 Provide grub-install on coreboot.
16197 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
16198 (grub_install_SOURCES): New variable.
16199 * util/i386/pc/grub-install.in: Add a few condition checks to make it
16200 usable on coreboot.
16201
16202 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
16203
16204 * util/grub-fstest.c (grub_term_get_current_input): Change return type
16205 to `grub_term_input_t'.
16206 (grub_term_get_current_output): Change return type to
16207 `grub_term_output_t'.
16208
16209 2008-11-22 Robert Millan <rmh@aybabtu.com>
16210
16211 Fix breakage on coreboot due to declaration mismatch.
16212 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
16213 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
16214 grub_vga_text_cls().
16215
16216 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
16217 comments. Avoid copying one more byte than necessary (just in case).
16218
16219 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
16220 to 0x200000 (avoids trouble with some OFW implementations, and matches
16221 with the one in Yaboot).
16222 Reported by Manoel Abranches
16223
16224 2008-11-20 Robert Millan <rmh@aybabtu.com>
16225
16226 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
16227 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
16228
16229 * util/grub-mkconfig_lib.in (grub_warn): New function.
16230 (convert_system_path_to_grub_path): Use grub_warn() when issuing
16231 warnings, to obtain consistent formatting.
16232 * util/grub.d/00_header.in: Likewise.
16233 * util/update-grub_lib.in: Likewise.
16234
16235 * loader/i386/linux.c (allocate_pages): Fix a warning.
16236 Move comment text to `#error' stanza.
16237
16238 Harmonize ieee1275's grub_available_iterate() with the generic
16239 grub_machine_mmap_iterate() interface (fixes a recently-introduced
16240 build problem on i386-ieee1275):
16241 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
16242 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
16243 parameter `type'. Update all users of this function.
16244 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16245 `kern/ieee1275/mmap.c'.
16246 * kern/ieee1275/init.c
16247 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
16248 with ...
16249 (grub_machine_mmap_iterate): ... this.
16250 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
16251 return type to `grub_err_t'. Update all implementations of this
16252 function prototype.
16253 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
16254 Likewise.
16255
16256 Add `lsmmap' command (lists firmware-provided memory map):
16257 * commands/lsmmap.c: New file.
16258 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
16259 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
16260 variables.
16261 * conf/powerpc-ieee1275.rmk: Likewise.
16262 * conf/i386-coreboot.rmk: Likewise.
16263 * conf/i386-ieee1275.rmk: Likewise.
16264
16265 2008-11-19 Robert Millan <rmh@aybabtu.com>
16266
16267 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
16268 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
16269 constraints to initrd allocation (based on code from
16270 loader/i386/pc/linux.c). Without them, initrd was allocated too high
16271 for Linux to find it.
16272
16273 2008-11-14 Robert Millan <rmh@aybabtu.com>
16274
16275 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
16276 order to cope with duplicate slashes.
16277
16278 2008-11-14 Robert Millan <rmh@aybabtu.com>
16279
16280 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
16281 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
16282 don't want to mess with lower memory, because it is used in the Linux
16283 loader.
16284
16285 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
16286 an appropriate place in lower memory, between 0x10000 and 0x90000,
16287 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
16288 is in our heap (probably as a result of it being corrupted during
16289 decompression). Add #error instance with comment to explain why this
16290 loader isn't currently usable on PC/BIOS.
16291
16292 2008-11-14 Robert Millan <rmh@aybabtu.com>
16293
16294 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
16295 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
16296
16297 2008-11-12 Robert Millan <rmh@aybabtu.com>
16298
16299 Make loader/i386/linux.c buildable on i386-pc (although disabled).
16300
16301 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
16302 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
16303 from here ...
16304 * include/grub/i386/pc/memory.h: ... to here.
16305
16306 2008-11-12 Robert Millan <rmh@aybabtu.com>
16307
16308 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
16309 split).
16310
16311 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
16312 (grub_console_cur_color, grub_console_real_putchar)
16313 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16314 (grub_console_setcolorstate, grub_console_setcolor)
16315 (grub_console_getcolor): Move from here ...
16316 * include/grub/i386/vga_common.h: ... to here (new file).
16317
16318 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
16319 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
16320 `<grub/i386/io.h>'.
16321 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
16322 `<grub/i386/vga_common.h>'.
16323
16324 2008-11-12 Robert Millan <rmh@aybabtu.com>
16325
16326 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
16327 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
16328 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
16329 variables.
16330 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16331 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
16332
16333 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
16334 grub_console_init() with call to grub_vga_text_init().
16335 (grub_machine_fini): Replace call to
16336 grub_console_fini() with call to grub_vga_text_fini() and
16337 grub_at_keyboard_fini().
16338
16339 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
16340 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16341 (grub_console_setcolorstate, grub_console_setcolor)
16342 (grub_console_getcolor): New function prototypes.
16343
16344 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
16345 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
16346 (grub_vga_text_setcursor): Static-ize.
16347 (grub_vga_text_term): New structure.
16348 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
16349
16350 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
16351 (grub_console_cur_color, grub_console_standard_color)
16352 (grub_console_normal_color, grub_console_highlight_color)
16353 (map_char, grub_console_putchar, grub_console_getcharwidth)
16354 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
16355 (grub_console_getcolor): Move from here ...
16356 * term/i386/vga_common.c: ... to here (same function names).
16357
16358 2008-11-12 Robert Millan <rmh@aybabtu.com>
16359
16360 Use newly-added Multiboot support in coreboot.
16361
16362 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16363 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
16364
16365 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
16366 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
16367 (codestart): Store the MBI in `startup_multiboot_info' when we're
16368 being loaded using Multiboot.
16369
16370 * kern/i386/coreboot/init.c (grub_machine_init): Move
16371 grub_at_keyboard_init() call to beginning of function (useful for
16372 debugging). Call grub_machine_mmap_init() before attempting to use
16373 grub_machine_mmap_iterate().
16374 (grub_lower_mem, grub_upper_mem): Move from here ...
16375 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
16376 here (new file).
16377
16378 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
16379 function prototype.
16380
16381 2008-11-12 Robert Millan <rmh@aybabtu.com>
16382
16383 Fix a regression introduced by the at_keyboard.mod split. Because
16384 some terminals are default on some platforms and non-default on
16385 others, the first terminal being registered determines which is
16386 going to be default.
16387
16388 * kern/term.c (grub_term_register_input): If this is the first
16389 terminal being registered, set it as the current one.
16390 (grub_term_register_output): Likewise.
16391
16392 * term/efi/console.c (grub_console_init): Do not call
16393 grub_term_set_current_output() or grub_term_set_current_input().
16394 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
16395 * term/i386/pc/console.c (grub_console_init): Likewise.
16396 (grub_console_fini): Do not call grub_term_set_current_input()
16397 (but leave grub_term_set_current_output() to restore text mode).
16398
16399 2008-11-10 Robert Millan <rmh@aybabtu.com>
16400
16401 * util/grub.d/00_header.in: Add backward compatibility check for
16402 versions of terminal.mod that don't understand `terminal_input' or
16403 `terminal_output'.
16404
16405 2008-11-09 Robert Millan <rmh@aybabtu.com>
16406
16407 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
16408 `terminal_input' / `terminal_output', not `terminal'.
16409
16410 2008-11-08 Robert Millan <rmh@aybabtu.com>
16411
16412 * Makefile.in (include_DATA): Fix srcdir=. assumption.
16413 (DISTCLEANFILES): Add `build_env.mk'.
16414
16415 2008-11-08 Robert Millan <rmh@aybabtu.com>
16416
16417 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
16418 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16419 members. Update all users.
16420 * util/console.c (grub_ncurses_term): Split in ...
16421 (grub_ncurses_term_input): ... this, and ...
16422 (grub_ncurses_term_output): ... this. Update all users.
16423 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
16424
16425 2008-11-08 Robert Millan <rmh@aybabtu.com>
16426
16427 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16428 (PKGDATA): Add $(pkgdata_SRCDIR).
16429 (pkglib_BUILDDIR): New variable.
16430 (pkgdata_SRCDIR): New variable.
16431 (build_env.mk): New target.
16432 (include_DATA): New variable.
16433 (install-local): Install $(include_DATA) files in $(includedir).
16434
16435 2008-11-07 Pavel Roskin <proski@gnu.org>
16436
16437 * gendistlist.sh: Use C locale for sorting to ensure consistent
16438 output on all systems.
16439
16440 * util/grub.d/00_header.in: Remove incorrect space before
16441 "serial".
16442
16443 2008-11-07 Robert Millan <rmh@aybabtu.com>
16444
16445 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16446 per specification.
16447 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16448 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16449 (based on find_multi_boot1_header).
16450 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16451 using find_multi_boot2_header(), and abort if neither Multiboot or
16452 Multiboot headers were found.
16453
16454 2008-11-07 Robert Millan <rmh@aybabtu.com>
16455
16456 Modularize at_keyboard.mod:
16457
16458 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16459 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16460 (at_keyboard_mod_LDFLAGS): New variables.
16461
16462 Actual terminal split:
16463
16464 * include/grub/term.h (struct grub_term): Split in ...
16465 (struct grub_term_input): ... this, and ...
16466 (struct grub_term_output): ... this. Update all users.
16467 (grub_term_set_current): Split in ...
16468 (grub_term_set_current_input): ... this, and ...
16469 (grub_term_set_current_output): ... this.
16470 (grub_term_get_current): Split in ...
16471 (grub_term_get_current_input): ... this, and ...
16472 (grub_term_get_current_output): ... this.
16473 (grub_term_register): Split in ...
16474 (grub_term_register_input): ... this, and ...
16475 (grub_term_register_output): ... this.
16476 (grub_term_unregister): Split in ...
16477 (grub_term_unregister_input): ... this, and ...
16478 (grub_term_unregister_output): ... this.
16479 (grub_term_iterate): Split in ...
16480 (grub_term_iterate_input): ... this, and ...
16481 (grub_term_iterate_output): ... this.
16482
16483 * kern/term.c (grub_term_list): Split in ...
16484 (grub_term_list_input): ... this, and ...
16485 (grub_term_list_output): ... this. Update all users.
16486 (grub_cur_term): Split in ...
16487 (grub_cur_term_input): ... this, and ...
16488 (grub_cur_term_output): ... this. Update all users.
16489 (grub_term_set_current): Split in ...
16490 (grub_term_set_current_input): ... this, and ...
16491 (grub_term_set_current_output): ... this.
16492 (grub_term_get_current): Split in ...
16493 (grub_term_get_current_input): ... this, and ...
16494 (grub_term_get_current_output): ... this.
16495 (grub_term_register): Split in ...
16496 (grub_term_register_input): ... this, and ...
16497 (grub_term_register_output): ... this.
16498 (grub_term_unregister): Split in ...
16499 (grub_term_unregister_input): ... this, and ...
16500 (grub_term_unregister_output): ... this.
16501 (grub_term_iterate): Split in ...
16502 (grub_term_iterate_input): ... this, and ...
16503 (grub_term_iterate_output): ... this.
16504
16505 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16506 a check for input and one for output (and only attempt to get keys
16507 from user when input works).
16508
16509 * util/grub-probe.c (grub_term_get_current): Split in ...
16510 (grub_term_get_current_input): ... this, and ...
16511 (grub_term_get_current_output): ... this.
16512 * util/grub-fstest.c: Likewise.
16513 * util/i386/pc/grub-setup.c: Likewise.
16514 * util/grub-editenv.c: Likewise.
16515
16516 Portability adjustments:
16517
16518 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16519 `term/i386/pc/at_keyboard.c'.
16520 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16521 grub_keyboard_controller_init() (now handled by terminal .init).
16522 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
16523 grub_at_keyboard_init().
16524 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
16525 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
16526 at_keyboard.mod via input terminal interface).
16527 * include/grub/i386/coreboot/console.h: Convert into a stub for
16528 `<grub/i386/pc/console.h>'.
16529
16530 Migrate full terminals to new API:
16531
16532 * term/efi/console.c (grub_console_term): Split into ...
16533 (grub_console_term_input): ... this, and ...
16534 (grub_console_term_output): ... this. Update all users.
16535 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
16536 (grub_ofconsole_init): Split into ...
16537 (grub_ofconsole_init_input): ... this, and ...
16538 (grub_ofconsole_init_output): ... this.
16539 (grub_ofconsole_term): Split into ...
16540 (grub_ofconsole_term_input): ... this, and ...
16541 (grub_ofconsole_term_output): ... this. Update all users.
16542 * term/i386/pc/serial.c (grub_serial_term): Split into ...
16543 (grub_serial_term_input): ... this, and ...
16544 (grub_serial_term_output): ... this. Update all users.
16545 * term/i386/pc/console.c (grub_console_term): Split into ...
16546 (grub_console_term_input): ... this, and ...
16547 (grub_console_term_output): ... this. Update all users.
16548 (grub_console_term_input): Only enable it on PC/BIOS platform.
16549 (grub_console_init): Remove grub_keyboard_controller_init() call.
16550
16551 Migrate input terminals to new API:
16552
16553 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
16554 `i386' and `i386/pc' to enable build on x86_64 (this driver is
16555 i386-specific anyway).
16556 (grub_console_checkkey): Rename to ...
16557 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
16558 users.
16559 (grub_keyboard_controller_orig): New variable.
16560 (grub_console_getkey): Rename to ...
16561 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
16562 users.
16563 (grub_keyboard_controller_init): Static-ize. Save original
16564 controller value so that it can be restored ...
16565 (grub_keyboard_controller_fini): ... here (new function).
16566 (grub_at_keyboard_term): New structure.
16567 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
16568 functions.
16569
16570 Migrate output terminals to new API:
16571
16572 * term/i386/pc/vga.c (grub_vga_term): Change type to
16573 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16574 members. Update all users.
16575 * term/gfxterm.c (grub_video_term): Change type to
16576 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
16577 members. Update all users.
16578 * include/grub/i386/pc/console.h (grub_console_checkkey)
16579 (grub_console_getkey): Do not export (no longer needed by gfxterm,
16580 etc).
16581
16582 Migrate `terminal' command and userland tools to new API:
16583
16584 * commands/terminal.c (grub_cmd_terminal): Split into ...
16585 (grub_cmd_terminal_input): ... this, and ...
16586 (grub_cmd_terminal_output): ... this.
16587 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
16588 `terminal_input' and `terminal_output'.
16589 * util/grub.d/00_header.in: Adjust `terminal' calls to new
16590 `terminal_input' / `terminal_output' API.
16591 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
16592 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
16593 provided ${GRUB_TERMINAL}, convert it).
16594
16595 2008-11-04 Robert Millan <rmh@aybabtu.com>
16596
16597 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
16598 for FreeBSD.
16599 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
16600
16601 2008-11-03 Bean <bean123ch@gmail.com>
16602
16603 * kern/elf.c (grub_elf32_load): Revert to previous code.
16604 (grub_elf64_load): Likewise.
16605
16606 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
16607
16608 2008-11-01 Robert Millan <rmh@aybabtu.com>
16609
16610 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
16611 (TARGET_CPPFLAGS): Likewise.
16612 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
16613
16614 2008-11-01 Carles Pina i Estany <carles@pina.cat>
16615
16616 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
16617
16618 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
16619
16620 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
16621 addition of objects until the code is not going to be able to fail.
16622
16623 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
16624
16625 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
16626 (add a missing NULL check, and correct them by moving the pointer
16627 operations after the actual check).
16628
16629 2008-10-29 Robert Millan <rmh@aybabtu.com>
16630
16631 * util/i386/pc/grub-install.in: Handle empty string as output from
16632 make_system_path_relative_to_its_root().
16633
16634 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
16635
16636 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
16637 circular metadata worst case scenario. If the metadata is circular
16638 then copy the wrap in place.
16639 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
16640 project lib/format_text/layout.h
16641 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
16642
16643 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
16644
16645 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
16646
16647 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
16648
16649 * util/update-grub_lib.in: Mention filename in warning message.
16650
16651 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
16652
16653 * NEWS: Update for rename of update-grub to grub-mkconfig.
16654
16655 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
16656
16657 * util/update-grub_lib.in: Copy to ...
16658 * util/grub-mkconfig_lib.in: ... this. Update all users.
16659 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
16660 * util/update-grub.in: Rename to ...
16661 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
16662 option. Add `--output' option to allow users to specify the generated
16663 configuration file. Default to stdout.
16664 (update_grub_dir): Rename to ...
16665 (grub_mkconfig_dir): ... this.
16666 (grub_cfg): Default to an empty string.
16667 * conf/common.rmk (update-grub): Rename to ...
16668 (grub-mkconfig): ... this.
16669 (update-grub_lib): Copy to ...
16670 (grub-mkconfig_lib): ... this.
16671 (update-grub_SCRIPTS): Copy to ...
16672 (grub-mkconfig_SCRIPTS): ... this. Update all users.
16673 (update-grub_DATA): Rename to ...
16674 (grub-mkconfig_DATA): ... this.
16675
16676 2008-09-28 Robert Millan <rmh@aybabtu.com>
16677
16678 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
16679 to `modified'. Add the real `created' field.
16680 (grub_iso9660_uuid): Use `modified' rather than `created' for
16681 constructing the UUID.
16682
16683 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
16684
16685 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
16686 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
16687
16688 2008-09-28 Bean <bean123ch@gmail.com>
16689
16690 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
16691 Thanks to Christian Franke for finding this bug.
16692
16693 2008-09-25 Robert Millan <rmh@aybabtu.com>
16694
16695 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
16696 instances of grub_util_get_disk_name() (see previous commit).
16697
16698 2008-09-25 Robert Millan <rmh@aybabtu.com>
16699
16700 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
16701 `util/i386/get_disk_name.c'.
16702 * conf/i386-efi.rmk: Likewise.
16703 * conf/x86_64-efi.rmk: Likewise.
16704 * conf/i386-coreboot.rmk: Likewise.
16705 * conf/i386-ieee1275.rmk: Likewise.
16706 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
16707 `util/ieee1275/get_disk_name.c'.
16708 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
16709 * util/ieee1275/get_disk_name.c: Remove file.
16710 * util/i386/get_disk_name.c: Remove file.
16711 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
16712 "hd%d" for device.map entries, rather than using
16713 grub_util_get_disk_name().
16714
16715 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16716
16717 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
16718 warning.
16719 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
16720
16721 2008-09-24 Carles Pina i Estany <carles@pina.cat>
16722
16723 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
16724 Changed to 0x5100.
16725 (GRUB_TERM_PPAGE): Changed to 0x4900.
16726
16727 2008-09-24 Robert Millan <rmh@aybabtu.com>
16728
16729 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
16730 macros (they were i386-pc specific).
16731 * include/grub/sparc64/ieee1275/console.h: Likewise.
16732 * include/grub/efi/console.h: Likewise.
16733
16734 2008-09-22 Bean <bean123ch@gmail.com>
16735
16736 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
16737 resident and in attribute list.
16738
16739 * include/grub/ntfs.h (BMP_LEN): Removed.
16740
16741 2008-09-22 Bean <bean123ch@gmail.com>
16742
16743 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
16744 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
16745
16746 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
16747 error occurs, as grub_disk_open will call grub_disk_close, which will
16748 call p->close (scsi).
16749
16750 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16751
16752 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
16753 (AC_PREREQ): Bumped to 2.59.
16754 (AC_TRY_COMPILE): Replace obsolete macro with ...
16755 (AC_COMPILE_IFELSE): ... this.
16756 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
16757 (AC_LINK_IFELSE): ... this.
16758
16759 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
16760
16761 * autogen.sh: Add a call to `gendistlist.sh'.
16762
16763 2008-09-19 Christian Franke <franke@computer.org>
16764
16765 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
16766 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
16767 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
16768 Export __enable_execute_stack() to modules.
16769 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
16770 New function.
16771
16772 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16773
16774 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
16775 Sort the list.
16776
16777 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
16778
16779 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
16780 #include <grub/util/hostdisk.h>.
16781
16782 2008-09-08 Robert Millan <rmh@aybabtu.com>
16783
16784 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
16785 segments when their filesz is zero (grub_file_read() interprets
16786 zero-size as "read until EOF", which results in memory corruption).
16787 Use `lowest_segment' rather than 0 for calculating the current
16788 segment load address.
16789
16790 2008-09-08 Robert Millan <rmh@aybabtu.com>
16791
16792 * util/hostdisk.c (open_device): Replace a grub_util_info() call
16793 with grub_dprintf("hostdisk", ...), as it was so verbose that it
16794 clobbered useful information.
16795
16796 2008-09-08 Robert Millan <rmh@aybabtu.com>
16797
16798 * include/grub/util/biosdisk.h: Move to ...
16799 * include/grub/util/hostdisk.h: ... here. Update all users.
16800 * util/biosdisk.c: Move to ...
16801 * util/hostdisk.c: ... here. Update all users.
16802
16803 2008-09-07 Robert Millan <rmh@aybabtu.com>
16804
16805 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
16806 variables.
16807 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
16808 and length can be stored directly in the `mbi->mmap_addr' and
16809 `mbi->mmap_length' struct fields.
16810
16811 2008-09-07 Robert Millan <rmh@aybabtu.com>
16812
16813 * conf/i386.rmk: New file. Provides declaration for building
16814 `cpuid.mod'.
16815 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
16816 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
16817 variables.
16818 Include `conf/i386.mk'.
16819 * conf/i386-efi.rmk: Likewise.
16820 * conf/x86_64-efi.rmk: Likewise.
16821 * conf/i386-coreboot.rmk: Likewise.
16822 * conf/i386-ieee1275.rmk: Likewise.
16823
16824 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
16825
16826 Based on patch created by Colin D Bennett <colin@gibibit.com>.
16827 Adds optimization support for BGR based modes.
16828
16829 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
16830 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16831 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16832 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16833 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16834 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16835 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16836 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16837 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16838 (grub_video_i386_vbeblit_index_index): Likewise.
16839 (grub_video_i386_vbeblit_replace_directN): Added.
16840 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16841 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16842 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16843 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16844 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16845 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16846 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16847 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16848 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16849 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16850 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16851 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16852 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16853
16854 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
16855 (grub_video_i386_vbefill_R8G8B8): Likewise.
16856 (grub_video_i386_vbefill_index): Likewise.
16857 (grub_video_i386_vbefill_direct32): Added.
16858 (grub_video_i386_vbefill_direct24): Likewise.
16859 (grub_video_i386_vbefill_direct16): Likewise.
16860 (grub_video_i386_vbefill_direct8): Likewise.
16861
16862 * include/grub/video.h (grub_video_blit_format): Removed
16863 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
16864 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
16865 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
16866 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
16867 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
16868
16869 * video/video.c (grub_video_get_blit_format): Updated to use new
16870 blit formats. Added handling for 16 bit color modes.
16871
16872 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
16873 fillers.
16874 (common_blitter): Updated to use new blitters.
16875
16876 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
16877 Removed.
16878 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
16879 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
16880 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
16881 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
16882 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
16883 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
16884 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
16885 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
16886 (grub_video_i386_vbeblit_index_index): Likewise.
16887 (grub_video_i386_vbeblit_replace_directN): Added.
16888 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
16889 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
16890 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
16891 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
16892 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
16893 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
16894 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
16895 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
16896 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
16897 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
16898 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
16899 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
16900 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
16901
16902 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
16903 (grub_video_i386_vbefill_R8G8B8): Likewise.
16904 (grub_video_i386_vbefill_index): Likewise.
16905 (grub_video_i386_vbefill_direct32): Added.
16906 (grub_video_i386_vbefill_direct24): Likewise.
16907 (grub_video_i386_vbefill_direct16): Likewise.
16908 (grub_video_i386_vbefill_direct8): Likewise.
16909
16910 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
16911 types.
16912
16913 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
16914 types.
16915
16916 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
16917 blitter types.
16918
16919 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
16920 types.
16921
16922 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16923
16924 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
16925 RAID level 1.
16926
16927 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
16928
16929 * fs/iso9660.c (grub_iso9660_date): New structure.
16930 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
16931 (grub_iso9660_uuid): New function.
16932
16933 2008-09-05 Bean <bean123ch@gmail.com>
16934
16935 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
16936
16937 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
16938 insensitive bit for names in Win32 and Win32 & DOS namespace.
16939
16940 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
16941
16942 * include/grub/types.h (LONG_MAX): Likewise.
16943
16944 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16945
16946 * util/getroot.c: Include <config.h>.
16947 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
16948 add support for /dev/md/N devices and handle LVM double dash escaping.
16949
16950 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
16951
16952 * config.guess: Update to latest version from config git.
16953 * config.sub: Likewise.
16954
16955 2008-09-03 Robert Millan <rmh@aybabtu.com>
16956
16957 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
16958 `disk->total_sectors'.
16959
16960 2008-09-01 Colin D Bennett <colin@gibibit.com>
16961
16962 * include/grub/normal.h: Fixed incorrect comment for
16963 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
16964
16965 2008-09-01 Colin D Bennett <colin@gibibit.com>
16966
16967 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
16968 values with defines.
16969
16970 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
16971 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
16972 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
16973 (GRUB_VBE_MODEATTR_COLOR): Likewise.
16974 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
16975 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
16976 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
16977 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
16978 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
16979 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
16980 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
16981 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
16982 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
16983 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
16984 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
16985 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
16986 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
16987 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
16988 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
16989
16990 2008-08-31 Robert Millan <rmh@aybabtu.com>
16991
16992 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
16993 declaration.
16994 (grub_multiboot): Fix a few warnings.
16995
16996 2008-08-31 Robert Millan <rmh@aybabtu.com>
16997
16998 * loader/i386/pc/multiboot.c: Update comment not to say that
16999 boot_device support is unimplemented.
17000
17001 2008-08-31 Robert Millan <rmh@aybabtu.com>
17002
17003 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
17004 or memory map support are unimplemented.
17005
17006 2008-08-31 Colin D Bennett <colin@gibibit.com>
17007
17008 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
17009
17010 2008-08-31 Colin D Bennett <colin@gibibit.com>
17011
17012 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
17013 total video memory in 'vbeinfo' output; show color format details for
17014 each video mode.
17015
17016 2008-08-30 Pavel Roskin <proski@gnu.org>
17017
17018 * util/genmoddep.c: Remove for real this time.
17019 * DISTLIST: Remove util/genmoddep.c.
17020
17021 2008-08-30 Robert Millan <rmh@aybabtu.com>
17022
17023 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
17024 as required by Multiboot spec (it was already 4-byte aligned, but
17025 only by chance).
17026
17027 2008-08-29 Pavel Roskin <proski@gnu.org>
17028
17029 * kern/powerpc/ieee1275/crt0.S: Rename to ...
17030 * kern/powerpc/ieee1275/startup.S: ... this.
17031 * conf/powerpc-ieee1275.rmk: Adjust for the above.
17032 * DISTLIST: Likewise.
17033
17034 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
17035 grub/cpu/kernel.h. Add start label for consistency with other
17036 platforms. Add grub_prefix immediately after start. Add jump
17037 to the code after grub_prefix.
17038 * include/grub/powerpc/kernel.h: Provide valid values for
17039 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
17040
17041 2008-08-29 Bean <bean123ch@gmail.com>
17042
17043 * configure.ac: Change host_os to cygwin for mingw.
17044 (asprintf): New check for function.
17045
17046 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
17047 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
17048
17049 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
17050 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
17051 sync, sleep and grub_util_get_disk_size for mingw.
17052
17053 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
17054 to get size in mingw.
17055 (open_device): Use flag O_BINARY if it's defined.
17056 (find_root_device): Add dummy code for mingw.
17057
17058 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
17059 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
17060 (get_scsi_disk_name): Return 0 for mingw.
17061
17062 * util/hostfs.c: #include <grub/util/misc.h>.
17063 (grub_hostfs_open): Use "rb" flag to open file, use
17064 grub_util_get_disk_size to get disk size for mingw.
17065
17066 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
17067 (asprintf): New function if HAVE_ASPRINTF is not set.
17068 (sync): New function for mingw.
17069 (sleep): Likewise.
17070 (grub_util_get_disk_size): Likewise.
17071
17072 2008-08-28 Pavel Roskin <proski@gnu.org>
17073
17074 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17075 kern/time.c.
17076
17077 2008-08-28 Robert Millan <rmh@aybabtu.com>
17078
17079 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
17080
17081 2008-08-28 Robert Millan <rmh@aybabtu.com>
17082
17083 Change find_grub_drive() syntax so it doesn't prevent it from
17084 detecting NULL names as errors.
17085
17086 * util/biosdisk.c (find_grub_drive): Move free slot search code
17087 from here ...
17088 (find_free_slot): ... to here.
17089 (read_device_map): Use find_free_slot() to search for free slots.
17090
17091 2008-08-27 Marco Gerards <marco@gnu.org>
17092
17093 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
17094 (scsi_mod_SOURCES): New variable.
17095 (scsi_mod_CFLAGS): Likewise
17096 (scsi_mod_LDFLAGS): Likewise.
17097
17098 * disk/scsi.c: New file.
17099
17100 * include/grub/scsi.h: Likewise.
17101
17102 * include/grub/scsicmd.h: Likewise.
17103
17104 * disk/ata.c: Include <grub/scsi.h>.
17105 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
17106 instead.
17107 (grub_ata_iterate): Skip ATAPI devices.
17108 (grub_ata_open): Only handle ATAPI devices.
17109 (struct grub_atapi_read): Removed.
17110 (grub_atapi_readsector): Likewise.
17111 (grub_ata_read): No longer handle ATAPI devices.
17112 (grub_ata_write): Likewise.
17113 (grub_atapi_iterate): New function.
17114 (grub_atapi_read): Likewise.
17115 (grub_atapi_write): Likewise.
17116 (grub_atapi_open): Likewise.
17117 (grub_atapi_close): Likewise.
17118 (grub_atapi_dev): New variable.
17119 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
17120 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
17121
17122 * include/grub/disk.h (enum grub_disk_dev_id): Add
17123 `GRUB_DISK_DEVICE_SCSI_ID'.
17124
17125 2008-08-26 Robert Millan <rmh@aybabtu.com>
17126
17127 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
17128 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
17129 descriptive.
17130
17131 2008-08-23 Bean <bean123ch@gmail.com>
17132
17133 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
17134 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
17135 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
17136 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
17137 dm_nv.mod.
17138 (raid5rec_mod_SOURCES): New macro.
17139 (raid5rec_mod_CFLAGS): Likewise.
17140 (raid5rec_mod_LDFLAGS): Likewise.
17141 (raid6rec_mod_SOURCES): Likewise.
17142 (raid6rec_mod_CFLAGS): Likewise.
17143 (raid6rec_mod_LDFLAGS): Likewise.
17144 (mdraid_mod_SOURCES): Likewise.
17145 (mdraid_mod_CFLAGS): Likewise.
17146 (mdraid_mod_LDFLAGS): Likewise.
17147 (dm_nv_mod_SOURCES): Likewise.
17148 (dm_nv_mod_CFLAGS): Likewise.
17149 (dm_nv_mod_LDFLAGS): Likewise.
17150
17151 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
17152 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
17153 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
17154
17155 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
17156 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
17157
17158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17159
17160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17161
17162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17163
17164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17165
17166 * disk/raid5_recover.c: New file.
17167
17168 * disk/raid6_recover.c: Likewise.
17169
17170 * disk/mdraid_linux.c: Likewise.
17171
17172 * disk/dmraid_nvidia.c: Likewise.
17173
17174 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
17175 ULONG_MAX.
17176
17177 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
17178 calculate the size of raid device.
17179 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
17180 different layout of raid5.
17181 (grub_raid_scan_device): Remove code specific to mdraid.
17182 (grub_raid_list): New variable.
17183 (free_array): New function.
17184 (grub_raid_register): Likewise.
17185 (grub_raid_unregister): Likewise.
17186 (grub_raid_rescan): Likewise.
17187 (GRUB_MOD_INIT): Don't iterate device here.
17188 (GRUB_MOD_FINI): Use free_array to release resource.
17189
17190 * include/grub/raid.h: Remove macro and structure specific to mdraid.
17191 (grub_raid5_recover_func_t): New function variable type.
17192 (grub_raid6_recover_func_t): Likewise.
17193 (grub_raid5_recover_func): New variable.
17194 (grub_raid6_recover_func): Likewise.
17195 (grub_raid_register): New function.
17196 (grub_raid_unregister): Likewise.
17197 (grub_raid_rescan): Likewise.
17198 (grub_raid_block_xor): Likewise.
17199
17200 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
17201 (CMD_CRC): New macro.
17202 (part): Removed.
17203 (read_file): Handle device as well as file.
17204 (cmd_crc): New function.
17205 (fstest): Handle multiple disks.
17206 (options): Remove part, raw and long, add root and diskcount.
17207 (usage): Add crc, remove -p, -r, -l, add -r and -c.
17208 (main): Find the first non option entry and ignore subsequent options,
17209 add handling for the new options, support multiple disks.
17210
17211 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
17212
17213 2008-08-23 Bean <bean123ch@gmail.com>
17214
17215 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
17216
17217 * genfslist.sh: Ignore kernel.mod.
17218
17219 * genpartmaplist.sh: Likewise.
17220
17221 2008-08-23 Robert Millan <rmh@aybabtu.com>
17222
17223 * util/getroot.c (find_root_device): Skip anything that starts with
17224 a dot, not just directories. This avoids things like /dev/.tmp.md0.
17225
17226 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
17227
17228 * util/update-grub.in (GRUB_GFXMODE): Export variable.
17229 * util/grub.d/00_header.in: Allow the administrator to change default
17230 gfxmode via ${GRUB_GFXMODE}.
17231
17232 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
17233
17234 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
17235
17236 2008-08-21 Robert Millan <rmh@aybabtu.com>
17237
17238 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
17239 loader.
17240 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
17241 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
17242
17243 2008-08-20 Carles Pina i Estany <carles@pina.cat>
17244
17245 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
17246 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
17247
17248 2008-08-19 Robert Millan <rmh@aybabtu.com>
17249
17250 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
17251 (struct grub_virtual_screen): Remove `cursor_color'.
17252 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
17253 initialization.
17254 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
17255
17256 2008-08-18 Robert Millan <rmh@aybabtu.com>
17257
17258 Unify (identical) linux_normal.c files.
17259 * loader/i386/efi/linux_normal.c: Move from here ...
17260 * loader/linux_normal.c: ... to here. Update all users.
17261 * loader/i386/pc/linux_normal.c: Delete. Update all users.
17262 * loader/i386/ieee1275/linux_normal.c: Likewise.
17263
17264 2008-08-18 Robert Millan <rmh@aybabtu.com>
17265
17266 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
17267 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
17268 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
17269 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
17270 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
17271 New macros.
17272 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
17273 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
17274 (GRUB_LINUX_CL_END_OFFSET): ... to here.
17275 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
17276 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
17277 (GRUB_EFI_CL_END_OFFSET): Rename to ...
17278 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
17279 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
17280 Initialize `params->video_cursor_x' and `params->video_cursor_y'
17281 portably using grub_getxy().
17282 Replace `-EFI' with `-bzImage' in boot message.
17283
17284 2008-08-17 Robert Millan <rmh@aybabtu.com>
17285
17286 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
17287
17288 2008-08-17 Robert Millan <rmh@aybabtu.com>
17289
17290 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
17291
17292 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
17293 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
17294 (grub_machine_mmap_iterate): New function declaration.
17295 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
17296 structure.
17297 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
17298 macros.
17299
17300 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
17301 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
17302 Move e820 parsing from here ...
17303 * kern/i386/pc/mmap.c: New file.
17304 (grub_machine_mmap_iterate): ... to here.
17305
17306 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
17307 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
17308 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
17309 (grub_available_iterate): Redeclare to return `void', and redeclare
17310 its hook to use grub_uint64_t as addr and size parameters, and rename
17311 to ...
17312 (grub_machine_mmap_iterate): ... this. Update all users.
17313
17314 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
17315 to make it more readable. Rename to ...
17316 (grub_machine_mmap_iterate): ... this.
17317
17318 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
17319 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
17320 (grub_multiboot): Allocate an extra region after the payload, and fill
17321 it with a Multiboot memory map. Adjust a.out loader to calculate size
17322 with the extra space.
17323 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
17324 with the extra space.
17325
17326 2008-08-17 Carles Pina i Estany <carles@pina.cat>
17327
17328 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
17329
17330 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
17331
17332 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
17333 mdate-sh to the list `find' searches for.
17334 * DISTLIST: Regenerated.
17335
17336 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
17337
17338 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
17339 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
17340 genmoddep.awk, gensymlist.sh.in.
17341 (DISTDIRS): Add bus, docs, hook, lib.
17342 * DISTLIST: Regenerated.
17343 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
17344
17345 2008-08-16 Robert Millan <rmh@aybabtu.com>
17346
17347 * disk/raid.c (grub_raid_init): Handle/report errors set by
17348 grub_device_iterate().
17349 * disk/lvm.c (grub_lvm_init): Likewise.
17350
17351 2008-08-15 Bean <bean123ch@gmail.com>
17352
17353 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17354 and datehook.mod.
17355 (datetime_mod_SOURCES): New macro.
17356 (datetime_mod_CFLAGS): Likewise.
17357 (datetime_mod_LDFLAGS): Likewise.
17358 (date_mod_SOURCES): Likewise.
17359 (date_mod_CFLAGS): Likewise.
17360 (date_mod_LDFLAGS): Likewise.
17361 (datehook_mod_SOURCES): Likewise.
17362 (datehook_mod_CFLAGS): Likewise.
17363 (datehook_mod_LDFLAGS): Likewise.
17364
17365 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17366 and datehook.mod.
17367 (datetime_mod_SOURCES): New macro.
17368 (datetime_mod_CFLAGS): Likewise.
17369 (datetime_mod_LDFLAGS): Likewise.
17370 (date_mod_SOURCES): Likewise.
17371 (date_mod_CFLAGS): Likewise.
17372 (date_mod_LDFLAGS): Likewise.
17373 (datehook_mod_SOURCES): Likewise.
17374 (datehook_mod_CFLAGS): Likewise.
17375 (datehook_mod_LDFLAGS): Likewise.
17376
17377 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17378 and datehook.mod.
17379 (datetime_mod_SOURCES): New macro.
17380 (datetime_mod_CFLAGS): Likewise.
17381 (datetime_mod_LDFLAGS): Likewise.
17382 (date_mod_SOURCES): Likewise.
17383 (date_mod_CFLAGS): Likewise.
17384 (date_mod_LDFLAGS): Likewise.
17385 (datehook_mod_SOURCES): Likewise.
17386 (datehook_mod_CFLAGS): Likewise.
17387 (datehook_mod_LDFLAGS): Likewise.
17388
17389 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17390 and datehook.mod.
17391 (datetime_mod_SOURCES): New macro.
17392 (datetime_mod_CFLAGS): Likewise.
17393 (datetime_mod_LDFLAGS): Likewise.
17394 (date_mod_SOURCES): Likewise.
17395 (date_mod_CFLAGS): Likewise.
17396 (date_mod_LDFLAGS): Likewise.
17397 (datehook_mod_SOURCES): Likewise.
17398 (datehook_mod_CFLAGS): Likewise.
17399 (datehook_mod_LDFLAGS): Likewise.
17400
17401 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17402 and datehook.mod.
17403 (datetime_mod_SOURCES): New macro.
17404 (datetime_mod_CFLAGS): Likewise.
17405 (datetime_mod_LDFLAGS): Likewise.
17406 (date_mod_SOURCES): Likewise.
17407 (date_mod_CFLAGS): Likewise.
17408 (date_mod_LDFLAGS): Likewise.
17409 (datehook_mod_SOURCES): Likewise.
17410 (datehook_mod_CFLAGS): Likewise.
17411 (datehook_mod_LDFLAGS): Likewise.
17412
17413 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
17414
17415 * commands/date.c: New file.
17416
17417 * hook/datehook.c: Likewise.
17418
17419 * include/grub/lib/datetime.h: Likewise.
17420
17421 * include/grub/i386/cmos.h: Likewise.
17422
17423 * lib/datetime.c: Likewise.
17424
17425 * lib/i386/datetime.c: Likewise.
17426
17427 * lib/efi/datetime.c: Likewise.
17428
17429 2008-08-14 Robert Millan <rmh@aybabtu.com>
17430
17431 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17432 (grub_mkelfimage_SOURCES): New variable.
17433 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17434
17435 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17436 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17437 * conf/powerpc-ieee1275.rmk: Likewise.
17438 * conf/i386-ieee1275.rmk: Likewise.
17439
17440 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17441 * kern/i386/coreboot/init.c: Likewise.
17442
17443 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17444 with `<grub/cpu/kernel.h>'.
17445 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17446 to ...
17447 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17448 * kern/i386/coreboot/startup.S: Likewise.
17449
17450 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17451 (GRUB_MOD_GAP): Remove.
17452 * include/grub/powerpc/kernel.h: New file.
17453 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17454 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17455 * include/grub/i386/kernel.h: New file.
17456 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17457 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17458 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17459
17460 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17461 `grub-mkelfimage'.
17462 Use --directory when invoking grub_mkimage.
17463
17464 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17465 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17466 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17467 and GRUB_KERNEL_CPU_PREFIX.
17468
17469 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
17470
17471 * include/grub/err.h (grub_err_printf): New function prototype.
17472 * util/misc.c (grub_err_printf): New function.
17473 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17474 grub_printf.
17475 * kern/err.c (grub_print_error): Use grub_err_printf.
17476
17477 2008-08-13 Robert Millan <rmh@aybabtu.com>
17478
17479 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17480
17481 2008-08-13 Robert Millan <rmh@aybabtu.com>
17482
17483 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17484 boot entry.
17485
17486 2008-08-12 Robert Millan <rmh@aybabtu.com>
17487
17488 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17489 of the relocation code from here ...
17490 (grub_multiboot): ... to here.
17491 (forward_relocator, backward_relocator): Move from here ...
17492 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17493 (grub_multiboot_backward_relocator): ... to here.
17494 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17495 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17496 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17497 (grub_multiboot_forward_relocator_end)
17498 (grub_multiboot_backward_relocator)
17499 (grub_multiboot_backward_relocator_end): New variables.
17500
17501 2008-08-12 Bean <bean123ch@gmail.com>
17502
17503 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17504
17505 2008-08-11 Robert Millan <rmh@aybabtu.com>
17506
17507 * kern/i386/linuxbios/startup.S: Move from here ...
17508 * kern/i386/coreboot/startup.S: ... to here.
17509
17510 * kern/i386/linuxbios/init.c: Move from here ...
17511 * kern/i386/coreboot/init.c: ... to here.
17512
17513 * kern/i386/linuxbios/table.c: Move from here ...
17514 * kern/i386/coreboot/mmap.c: ... to here.
17515
17516 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17517
17518 2008-08-11 Robert Millan <rmh@aybabtu.com>
17519
17520 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17521 errors. Leave it to the upper layer to handle them.
17522
17523 2008-08-09 Christian Franke <franke@computer.org>
17524
17525 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
17526 * conf/common.rmk: Install `grub-pe2elf' only if requested.
17527 Install `grub.d/10_windows' only on Cygwin.
17528 * configure.ac: Add subst of `target_os'.
17529 Check `target_os' also before setting TARGET_OBJ2ELF.
17530 Add `--enable-grub-pe2elf'.
17531
17532 2008-08-08 Robert Millan <rmh@aybabtu.com>
17533
17534 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17535 (grub_last_time): Change type to grub_uint64_t.
17536 (grub_disk_open): Migrate code from to using grub_get_time_ms().
17537 (grub_disk_close): Likewise.
17538
17539 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
17540 (run_menu): Migrate code from to using grub_get_time_ms().
17541
17542 * util/misc.c (grub_get_time_ms): New function.
17543
17544 2008-08-08 Marco Gerards <marco@gnu.org>
17545
17546 * disk/ata.c (grub_ata_regget): Change return type to
17547 `grub_uint8_t'.
17548 (grub_ata_regget2): Likewise.
17549 (grub_ata_wait_status): New function.
17550 (grub_ata_wait_busy): Removed function, updated all users to use
17551 `grub_ata_wait_status'.
17552 (grub_ata_wait_drq): Likewise.
17553 (grub_ata_cmd): New function.
17554 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
17555 error handling.
17556 (grub_ata_pio_write): Add error handling.
17557 (grub_atapi_identify): Likewise.
17558 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
17559 handling.
17560 (grub_ata_identify): Use `grub_ata_cmd' and improve error
17561 handling. Actually use the detected registers. Reorder the
17562 detection logic such that it is easier to read.
17563 (grub_ata_pciinit): Do not assign the same ID to each controller.
17564 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
17565 handling.
17566 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
17567
17568 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
17569
17570 2008-08-08 Marco Gerards <marco@gnu.org>
17571
17572 * NEWS: Update.
17573
17574 2008-08-07 Bean <bean123ch@gmail.com>
17575
17576 * include/grub/x86_64/pci.h: New file.
17577
17578 2008-08-07 Christian Franke <franke@computer.org>
17579
17580 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
17581 (TIMER2_GATE): Likewise.
17582 (grub_pit_wait): Add enable/disable of the timer2 gate
17583 bit of port 0x61. This fixes a possible infinite loop.
17584
17585 2008-08-07 Bean <bean123ch@gmail.com>
17586
17587 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
17588 kern/i386/tsc.c and kern/i386/pit.c.
17589
17590 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
17591 x86_64 platform.
17592
17593 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
17594 <grub/i386/tsc.h>.
17595
17596 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
17597
17598 2008-08-07 Bean <bean123ch@gmail.com>
17599
17600 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
17601
17602 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
17603
17604 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
17605 multiple inclusion. Add #include <grub/types.h>.
17606
17607 2008-08-06 Christian Franke <franke@computer.org>
17608
17609 * conf/common.rmk: Build and install `10_windows'.
17610 * util/grub.d/10_windows.in: New script.
17611
17612 2008-08-06 Pavel Roskin <proski@gnu.org>
17613
17614 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
17615
17616 2008-08-06 Robert Millan <rmh@aybabtu.com>
17617
17618 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
17619 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
17620
17621 2008-08-06 Bean <bean123ch@gmail.com>
17622
17623 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
17624 (grub_pxefs_fs_int): Remove dummy definition.
17625 (grub_pxefs_open): Use data->block_size to store the current block
17626 size setting.
17627 (grub_pxefs_read): Use block size stored in data->block_size. As the
17628 value of grub_pxe_blksize can be changed after the file is opened.
17629
17630 2008-08-06 Bean <bean123ch@gmail.com>
17631
17632 * fs/i386/pc/pxe.c (curr_file): new variable.
17633 (grub_pxefs_open): Simply the handling of pxe file system. Don't
17634 require the dummy internal file system anymore.
17635 (grub_pxefs_read): Removed.
17636 (grub_pxefs_close): Likewise.
17637 (grub_pxefs_fs_int): Likewise.
17638 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
17639 connection when we switch file.
17640 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
17641
17642 2008-08-06 Robert Millan <rmh@aybabtu.com>
17643
17644 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
17645 `halt.mod'.
17646 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
17647 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
17648
17649 * kern/i386/halt.c: New file.
17650 * kern/i386/reboot.c: Likewise.
17651 * include/grub/i386/reboot.h: Likewise.
17652 * include/grub/i386/halt.h: Likewise.
17653
17654 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
17655 Include `<grub/cpu/halt.h>'.
17656 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
17657 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
17658
17659 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
17660 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
17661 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
17662 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
17663 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
17664 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
17665 from here ...
17666 * include/grub/i386/at_keyboard.h: ... to here.
17667
17668 2008-08-05 Robert Millan <rmh@aybabtu.com>
17669
17670 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
17671 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
17672 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
17673 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17674 `kern/generic/millisleep.c'.
17675
17676 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
17677 instead of grub_get_rtc().
17678 (grub_tsc_init): Initialize `tsc_boot_time'.
17679
17680 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
17681 (grub_machine_init): Use grub_tsc_init() rather than
17682 installing an RTC-based handler via grub_install_get_time_ms().
17683
17684 * kern/i386/pit.c: New file.
17685 * include/grub/i386/pit.h: Likewise.
17686
17687 2008-08-05 Bean <bean123ch@gmail.com>
17688
17689 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
17690
17691 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
17692 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
17693 (pxe_mod_SOURCES): New macro.
17694 (pxe_mod_CFLAGS): Likewise.
17695 (pxe_mod_LDFLAGS): Likewise.
17696 (pxecmd_mod_SOURCES): Likewise.
17697 (pxecmd_mod_CFLAGS): Likewise.
17698 (pxecmd_mod_LDFLAGS): Likewise.
17699
17700 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
17701 (grub_pxe_call): Likewise.
17702
17703 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
17704
17705 * commands/i386/pc/pxecmd.c: New file.
17706
17707 * fs/i386/pc/pxe.c: Likewise.
17708
17709 * include/grub/i386/pc/pxe.h: Likewise.
17710
17711 2008-08-05 Bean <bean123ch@gmail.com>
17712
17713 * util/console.c (grub_console_cur_color): New variable.
17714 (grub_console_standard_color): Likewise.
17715 (grub_console_normal_color): Likewise.
17716 (grub_console_highlight_color): Likewise.
17717 (color_map): Likewise.
17718 (use_color): Likewise.
17719 (NUM_COLORS): New macro.
17720 (grub_ncurses_setcolorstate): Handle color properly.
17721 (grub_ncurses_setcolor): Don't change color here, just remember the
17722 settings, color will be set in grub_ncurses_setcolorstate.
17723 (grub_ncurses_getcolor): New function.
17724 (grub_ncurses_init): Initialize color pairs.
17725 (grub_ncurses_term): New member grub_ncurses_getcolor.
17726
17727 2008-08-05 Colin D Bennett <colin@gibibit.com>
17728
17729 High resolution timer support. Implemented for x86 CPUs using TSC.
17730 Extracted generic grub_millisleep() so it's linked in only as needed.
17731 This requires a Pentium compatible CPU; if the RDTSC instruction is
17732 not supported, then it falls back on the generic grub_get_time_ms()
17733 implementation that uses the machine's RTC.
17734
17735 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
17736 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
17737 `kern/generic/millisleep.c'.
17738
17739 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
17740 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
17741
17742 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
17743 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
17744
17745 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17746
17747 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17748 `kern/generic/millisleep.c'.
17749
17750 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17751
17752 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
17753
17754 * kern/generic/rtc_get_time_ms.c: New file.
17755
17756 * kern/generic/millisleep.c: New file.
17757
17758 * kern/misc.c: Don't include
17759 <kern/time.h> anymore.
17760 (grub_millisleep_generic): Removed.
17761
17762 * commands/sleep.c (grub_interruptible_millisleep): Uses
17763 grub_get_time_ms() instead of grub_get_rtc().
17764
17765 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
17766 function.
17767 (grub_cpu_is_cpuid_supported): New inline function.
17768 (grub_cpu_is_tsc_supported): New inline function.
17769 (grub_tsc_init): New function prototype.
17770 (grub_tsc_get_time_ms): New function prototype.
17771
17772 * kern/i386/tsc.c (grub_get_time_ms): New file.
17773
17774 * include/grub/time.h: Include <grub/types.h.
17775 (grub_millisleep_generic): Removed.
17776 (grub_get_time_ms): New prototype.
17777 (grub_install_get_time_ms): New prototype.
17778 (grub_rtc_get_time_ms): New prototype.
17779
17780 * kern/time.c (grub_get_time_ms): New function.
17781 (grub_install_get_time_ms): New function.
17782
17783 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
17784 <grub/time.h> anymore.
17785 (grub_millisleep): Removed.
17786 (grub_machine_init): Call grub_tsc_init.
17787
17788 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
17789 get_time_ms() implementation.
17790
17791 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
17792 (ieee1275_get_time_ms): New function.
17793 (grub_machine_init): Install get_time_ms() implementation.
17794
17795 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
17796 (grub_machine_init): Call grub_tsc_init().
17797 (grub_millisleep): Removed.
17798
17799 * kern/ieee1275/init.c (grub_millisleep): Removed.
17800 (grub_machine_init): Install ieee1275_get_time_ms()
17801 implementation.
17802 (ieee1275_get_time_ms): New function.
17803 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
17804 real work.
17805
17806 2008-08-05 Marco Gerards <marco@gnu.org>
17807
17808 * disk/ata.c: Include <grub/pci.h>.
17809 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
17810 (grub_ata_initialize): Rewritten.
17811 (grub_ata_device_initialize): New function.
17812
17813 2008-08-04 Pavel Roskin <proski@gnu.org>
17814
17815 * kern/main.c: Include grub/mm.h.
17816
17817 2008-08-04 Robert Millan <rmh@aybabtu.com>
17818
17819 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
17820 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
17821 corruption problem).
17822
17823 2008-08-04 Robert Millan <rmh@aybabtu.com>
17824
17825 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
17826 warnings introduced in my last commit.
17827
17828 2008-08-03 Robert Millan <rmh@aybabtu.com>
17829
17830 Make PCI available on all i386 architectures.
17831
17832 * include/grub/i386/pc/pci.h: Move from here ...
17833 * include/grub/i386/pci.h: ... to here.
17834
17835 * include/grub/i386/pc/pci.h: Remove.
17836 * include/grub/i386/efi/pci.h: Remove.
17837 * include/grub/x86_64/efi/pci.h: Remove.
17838
17839 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
17840 `<grub/cpu/pci.h>'.
17841
17842 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
17843 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
17844 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
17845
17846 * conf/i386-ieee1275.rmk: Likewise.
17847
17848 2008-08-03 Robert Millan <rmh@aybabtu.com>
17849
17850 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
17851 (grub_console_setcursor): Make it possible to set cursor off.
17852
17853 2008-08-03 Robert Millan <rmh@aybabtu.com>
17854
17855 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
17856 of modules instead of assuming which platform provides what.
17857 * util/update-grub.in: Likewise.
17858
17859 2008-08-03 Robert Millan <rmh@aybabtu.com>
17860
17861 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
17862 instead of `grub_install_dos_part' to determine whether a drive needs
17863 to be prepended to prefix (`grub_install_dos_part' is not reliable,
17864 because it can be overridden when loading GRUB via Multiboot).
17865
17866 2008-08-02 Robert Millan <rmh@aybabtu.com>
17867
17868 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
17869
17870 2008-08-02 Robert Millan <rmh@aybabtu.com>
17871
17872 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
17873 of informational grub_dprintf() calls.
17874
17875 2008-08-02 Robert Millan <rmh@aybabtu.com>
17876
17877 * disk/memdisk.c (memdisk_size): Don't initialize.
17878 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
17879
17880 * include/grub/i386/pc/kernel.h
17881 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
17882 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
17883 (grub_memdisk_image_size, grub_arch_memdisk_addr)
17884 (grub_arch_memdisk_size): Remove.
17885
17886 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
17887 field (was only used to transfer a constant). Add `type' field to
17888 support multiple module types.
17889 (grub_module_iterate): New function.
17890
17891 * kern/device.c (grub_device_open): Do not hide error messages
17892 when grub_disk_open() fails. Use grub_print_error() instead.
17893
17894 * kern/i386/pc/init.c (grub_arch_modules_addr)
17895 (grub_arch_memdisk_size): Remove functions.
17896 (grub_arch_modules_addr): Return the module address in high memory
17897 (now that it isn't copied anymore).
17898
17899 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
17900 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
17901 decompression routine (grub_total_module_size already includes that
17902 now). Don't copy modules back to low memory.
17903
17904 * kern/main.c: Include `<grub/mm.h>'.
17905 (grub_load_modules): Split out (and use) ...
17906 (grub_module_iterate): ... this function, which iterates through
17907 module objects and runs a hook.
17908 Comment out grub_mm_init_region() call, as it would cause non-ELF
17909 modules to be overwritten.
17910
17911 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
17912 the memdisk image in its own region, make it part of the module list.
17913 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
17914 (main): Parse --memdisk|-m option, and pass user-provided path as
17915 parameter to generate_image().
17916 (add_segments): Pass `memdisk_path' down to load_modules().
17917 (load_modules): Embed memdisk image in module section when requested.
17918 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
17919 `header.type' instead of `header.offset'.
17920
17921 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
17922 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
17923 (memdisk_mod_LDFLAGS): New variables.
17924 * conf/i386-coreboot.rmk: Likewise.
17925 * conf/i386-ieee1275.rmk: Likewise.
17926
17927 2008-08-02 Robert Millan <rmh@aybabtu.com>
17928
17929 * loader/i386/pc/multiboot.c (playground, forward_relocator)
17930 (backward_relocator): New variables. Used to allocate and relocate
17931 the payload, respectively.
17932 (grub_multiboot_load_elf32): Load into heap instead of requested
17933 address, install the appropriate relocator code in each bound of
17934 the payload, and set the entry point such that
17935 grub_multiboot_real_boot() will jump to one of them.
17936
17937 * kern/i386/loader.S (grub_multiboot_payload_size)
17938 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17939 (grub_multiboot_payload_entry_offset): New variables.
17940 (grub_multiboot_real_boot): Set cpu context to what the relocator
17941 expects, and jump to the relocator instead of the payload.
17942
17943 * include/grub/i386/loader.h (grub_multiboot_payload_size)
17944 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
17945 (grub_multiboot_payload_entry_offset): Export.
17946
17947 2008-08-01 Bean <bean123ch@gmail.com>
17948
17949 * normal/menu_entry.c (editor_getline): Don't return the original
17950 string as result, as it will be released by lexer once it has done
17951 using it.
17952
17953 2008-08-01 Robert Millan <rmh@aybabtu.com>
17954
17955 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
17956 within menuentries, not before them.
17957 util/grub.d/10_hurd.in: Likewise.
17958
17959 2008-08-01 Bean <bean123ch@gmail.com>
17960
17961 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
17962 (bufio_mod_SOURCES): New macro.
17963 (bufio_mod_CFLAGS): Likewise.
17964 (bufio_mod_LDFLAGS): Likewise.
17965
17966 * include/grub/bufio.h: New file.
17967
17968 * io/bufio.c: Likewise.
17969
17970 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
17971 (grub_video_reader_png): Use grub_buffile_open to open file.
17972
17973 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
17974 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
17975
17976 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
17977 (grub_video_reader_tga): Use grub_buffile_open to open file.
17978
17979 * font/manager.c: Include <grub/bufio.h>.
17980 (add_font): Use grub_buffile_open to open file.
17981
17982 2008-07-31 Robert Millan <rmh@aybabtu.com>
17983
17984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
17985 ELF segments, use a macro for arbitrarily accessing any of them instead
17986 of preparing a pointer that allows access to one at a time.
17987 (grub_multiboot_load_elf64): Likewise.
17988
17989 2008-07-31 Bean <bean123ch@gmail.com>
17990
17991 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
17992 GRUB_KERNEL_MACHINE_DATA_END.
17993
17994 2008-07-30 Robert Millan <rmh@aybabtu.com>
17995
17996 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
17997 Increase from 0x50 to 0x60.
17998 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
17999 use UUIDs to identify the root drive for them. If that's not
18000 possible, abort.
18001 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
18002 check, for cross-disk installs.
18003
18004 2008-07-30 Robert Millan <rmh@aybabtu.com>
18005
18006 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
18007 is non-empty, use it to set the `prefix' environment variable instead
18008 of the usual approach.
18009 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
18010 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
18011 environment variable instead of dummy make_install_device().
18012
18013 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
18014 (start): Insert a data section, with `grub_prefix' variable.
18015 * kern/i386/linuxbios/startup.S: Likewise.
18016
18017 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
18018 New variable reference.
18019 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
18020 New macro. Defines offset of `grub_prefix' within startup.S (relative
18021 to `start').
18022 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
18023 section within startup.S (relative to `start').
18024 * include/grub/i386/coreboot/kernel.h: Likewise.
18025
18026 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
18027 Overwrite grub_prefix with its contents, at the beginning of the
18028 first segment.
18029 (main): Understand -p|--prefix.
18030
18031 2008-07-30 Robert Millan <rmh@aybabtu.com>
18032
18033 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
18034
18035 2008-07-30 Robert Millan <rmh@aybabtu.com>
18036
18037 * term/i386/pc/vga_text.c (grub_console_cls): Use
18038 grub_console_gotoxy() to go back to beginning of the screen.
18039 Found by Patrick Georgi <patrick.georgi@coresystems.de>
18040
18041 2008-07-29 Christian Franke <franke@computer.org>
18042
18043 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18044 Add conversion of emulated mount points on Cygwin.
18045
18046 2008-07-29 Christian Franke <franke@computer.org>
18047
18048 * util/update-grub.in: Add a check for admin
18049 group on Cygwin.
18050 Remove old `grub.cfg.new' before creation.
18051 Add `-f' to `mv' to handle the different filesystem
18052 semantics of Windows.
18053
18054 2008-07-29 Bean <bean123ch@gmail.com>
18055
18056 * normal/main.c (get_line): Fix buffer overflow bug.
18057
18058 2008-07-28 Robert Millan <rmh@aybabtu.com>
18059
18060 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
18061 (struct grub_apple_header): New struct. Describes the layout of
18062 the partmap header.
18063 (apple_partition_map_iterate): Check the header magic as well as the
18064 partition magic (which was already being checked).
18065
18066 2008-07-28 Pavel Roskin <proski@gnu.org>
18067
18068 * genmk.rb: Add a warning to the beginning of the output that
18069 it's a generated file and should not be edited.
18070
18071 2008-07-28 Robert Millan <rmh@aybabtu.com>
18072
18073 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18074 with the same number are found, just use issue a warning with
18075 grub_dprintf(), as this error has been reported to be non-fatal.
18076
18077 2008-07-27 Robert Millan <rmh@aybabtu.com>
18078
18079 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
18080 information.
18081
18082 2008-07-27 Bean <bean123ch@gmail.com>
18083
18084 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
18085 (grub_fat_find_dir): Ignore case when comparing filename.
18086
18087 2008-07-27 Bean <bean123ch@gmail.com>
18088
18089 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
18090 smallino, as it's more descriptive, and i8count can be confused with
18091 the other field count.
18092 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
18093 inode type.
18094
18095 2008-07-27 Bean <bean123ch@gmail.com>
18096
18097 * commands/crc.c: New file.
18098
18099 * lib/crc.c: Likewise.
18100
18101 * include/grub/lib/crc.h: Likewise.
18102
18103 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
18104
18105 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
18106 (hexdump): Move this function to ...
18107
18108 * lib/hexdump.c: ... here.
18109
18110 * include/grub/hexdump.h: Renamed to ...
18111
18112 * include/grub/lib/hexdump.h: ... this.
18113
18114 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
18115
18116 * util/grub-editenv.c: Likewise.
18117
18118 * include/envblk.h: Renamed to ...
18119
18120 * include/lib/envblk.h: ... this.
18121
18122 * util/envblk.c: Renamed to ...
18123
18124 * lib/envblk.c: ... this.
18125
18126 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
18127 lib/hexdump.c.
18128 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
18129 (pkglib_MODULES): Add crc.mod.
18130 (hexdump_mod_SOURCES): Add lib/hexdump.c.
18131 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
18132 (crc_mod_SOURCES): New macro.
18133 (crc_mod_CFLAGS): Likewise.
18134 (crc_mod_LDFLAGS): Likewise.
18135
18136 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
18137
18138 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18139
18140 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18141
18142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18143
18144 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18145
18146 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
18147
18148 * commands/help.c: Include <grub/term.h>.
18149 (TERM_WIDTH): Removed. Updated all users.
18150
18151 2008-07-27 Pavel Roskin <proski@gnu.org>
18152
18153 * util/getroot.c (find_root_device): Rephrase a comment to avoid
18154 spurious warnings about a comment within a comment.
18155
18156 2008-07-25 Robert Millan <rmh@aybabtu.com>
18157
18158 * util/getroot.c (find_root_device): Skip devices that match
18159 /dev/dm-[0-9]. This lets the real device be found for any type of
18160 abstraction (LVM, EVMS, RAID..).
18161 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
18162 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
18163 device is found first, find_root_device() will now skip it.
18164
18165 2008-07-24 Pavel Roskin <proski@gnu.org>
18166
18167 * include/grub/types.h: Use __builtin_bswap32() and
18168 __builtin_bswap64() with gcc 4.3 and newer.
18169
18170 2008-07-24 Christian Franke <franke@computer.org>
18171
18172 * util/i386/pc/grub-install.in: If `--debug' is specified,
18173 pass `--verbose' to grub-setup.
18174 Abort script if make_system_path_relative_to_its_root() fails.
18175
18176 2008-07-24 Bean <bean123ch@gmail.com>
18177
18178 * configure.ac: Fixed a bug caused by the previous cygwin patch,
18179 variable `target_platform' should be `platform'.
18180
18181 2008-07-24 Bean <bean123ch@gmail.com>
18182
18183 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
18184 (grub_png_init_fixed_block): New function.
18185 (grub_png_decode_image_data): Handle fixed huffman code compression.
18186
18187 2008-07-24 Bean <bean123ch@gmail.com>
18188
18189 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
18190 (grub_pe2elf_SOURCES): New macro.
18191 (CLEANFILES): Add grub-pe2elf.
18192
18193 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
18194 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
18195 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
18196 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
18197 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
18198 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
18199 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
18200 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
18201 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
18202 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
18203 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
18204 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
18205 (GRUB_PE32_DT_FUNCTION): Likewise.
18206 (GRUB_PE32_REL_I386_DIR32): Likewise.
18207 (GRUB_PE32_REL_I386_REL32): Likewise.
18208 (grub_pe32_symbol): New structure.
18209 (grub_pe32_reloc): Likewise.
18210
18211 * util/grub-pe2elf.c: New file.
18212
18213 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
18214 start symbol in non pc platform.
18215
18216 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
18217
18218 The following patches are from Christian Franke.
18219
18220 * include/grub/dl.h: Remove .previous, gas supports this only
18221 for ELF format.
18222
18223 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
18224 Remove .type, gas supports this only for ELF format.
18225
18226 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
18227 nullbytes in symbol table. This fixes an infinite loop if table is
18228 zero filled.
18229
18230 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
18231 TARGET_IMG_LDFLAGS and EXEEXT.
18232
18233 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
18234 TARGET_IMG_LDFLAGS_AC.
18235 (grub_CHECK_STACK_ARG_PROBE): New function.
18236
18237 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
18238
18239 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
18240
18241 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
18242 to set TARGET_IMG_LD* accordingly.
18243 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
18244 Add call to grub_CHECK_STACK_ARG_PROBE.
18245 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
18246
18247 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
18248
18249 * genmk.rb: Add EXEEXT to CLEANFILES.
18250
18251 2008-07-23 Robert Millan <rmh@aybabtu.com>
18252
18253 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
18254 define the codes for arrows and lines used for the menu).
18255 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
18256 as well.
18257
18258 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
18259 fonts, because the latter are too slow.
18260
18261 2008-07-21 Bean <bean123ch@gmail.com>
18262
18263 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
18264 a20. Run keyboard test last, as it will cause macbook to halt.
18265
18266 2008-07-18 Pavel Roskin <proski@gnu.org>
18267
18268 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
18269 load foreign architecture modules correctly anyway. Keep
18270 support for loading host architecture modules, whether we
18271 compile them or not.
18272
18273 2008-07-17 Pavel Roskin <proski@gnu.org>
18274
18275 * configure.ac: Use -m32 or -m64 regardless of whether we had to
18276 change target_cpu. The compiler default can mismatch target_cpu
18277 in any case.
18278
18279 * disk/efi/efidisk.c: Fix format warnings on x86_64.
18280 * kern/efi/efi.c: Likewise.
18281
18282 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
18283 target compiler is functional.
18284 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
18285 are set up.
18286
18287 * configure.ac: Default to efi platform for x86_64-apple. Allow
18288 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
18289 adjustments from the rest, only do them if target is not
18290 explicitly given. Merge other adjustments with the final sanity
18291 check. Remove an extraneous check for supported CPU. Be
18292 specific which CPU and which platform is not supported.
18293
18294 * configure.ac: Default to pc platform for x86_64.
18295
18296 2008-07-17 Robert Millan <rmh@aybabtu.com>
18297
18298 Partial LinuxBIOS -> Coreboot rename.
18299
18300 * conf/i386-linuxbios.rmk: Renamed to ...
18301 * conf/i386-coreboot.rmk: ... this.
18302 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
18303 * configure.ac: Accept "coreboot" as input platform (but maintain
18304 compatibility with "linuxbios").
18305 * include/grub/i386/linuxbios: Renamed to ...
18306 * include/grub/i386/coreboot: ... this.
18307
18308 2008-07-17 Bean <bean123ch@gmail.com>
18309
18310 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
18311 (appleldr_mod_SOURCE): New variable.
18312 (appleldr_mod_CFLAGS): Likewise.
18313 (appleldr_mod_LDFLAGS): Likewise.
18314 (pci_mod_SOURCES): Likewise.
18315 (pci_mod_CFLAGS): Likewise.
18316 (pci_mod_LDFLAGS): Likewise.
18317 (lspci_mod_SOURCES): Likewise.
18318 (lspci_mod_CFLAGS): Likewise.
18319 (lspci_mod_LDFLAGS): Likewise.
18320
18321 * conf/x86_64-efi.rmk: New file.
18322
18323 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
18324 macro.
18325 (grub_efidisk_write): Likewise.
18326
18327 * include/efi/api.h (efi_call_0): New macro.
18328 (efi_call_1): Likewise.
18329 (efi_call_2): Likewise.
18330 (efi_call_3): Likewise.
18331 (efi_call_4): Likewise.
18332 (efi_call_5): Likewise.
18333 (efi_call_6): Likewise.
18334
18335 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
18336 grub_rescue_cmd_chainloader.
18337
18338 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
18339 (grub_pe32_optional_header): Change some fields based on i386 or
18340 x86_64 platform.
18341 (GRUB_PE32_PE32_MAGIC): Likewise.
18342
18343 * include/grub/efi/uga_draw.h: New file.
18344
18345 * include/grub/elf.h (STN_ABS): New constant.
18346 (R_X86_64_NONE): Relocation constant for x86_64.
18347 (R_X86_64_64): Likewise.
18348 (R_X86_64_PC32): Likewise.
18349 (R_X86_64_GOT32): Likewise.
18350 (R_X86_64_PLT32): Likewise.
18351 (R_X86_64_COPY): Likewise.
18352 (R_X86_64_GLOB_DAT): Likewise.
18353 (R_X86_64_JUMP_SLOT): Likewise.
18354 (R_X86_64_RELATIVE): Likewise.
18355 (R_X86_64_GOTPCREL): Likewise.
18356 (R_X86_64_32): Likewise.
18357 (R_X86_64_32S): Likewise.
18358 (R_X86_64_16): Likewise.
18359 (R_X86_64_PC16): Likewise.
18360 (R_X86_64_8): Likewise.
18361 (R_X86_64_PC8): Likewise.
18362
18363 * include/grub/i386/efi/pci.h: New file.
18364
18365 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
18366 Change it value based on platform.
18367 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
18368 (GRUB_E820_RAM): Likewise.
18369 (GRUB_E820_RESERVED): Likewise.
18370 (GRUB_E820_ACPI): Likewise.
18371 (GRUB_E820_NVS): Likewise.
18372 (GRUB_E820_EXEC_CODE): Likewise.
18373 (GRUB_E820_MAX_ENTRY): Likewise.
18374 (grub_e820_mmap): New structure.
18375 (linux_kernel_header): Change the efi field according to different
18376 kernel version, also field from linux_kernel_header.
18377
18378 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
18379
18380 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
18381 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
18382 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
18383 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
18384 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
18385 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
18386 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
18387 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
18388 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
18389 (GRUB_PCI_ADDR_IO_MASK): Likewise.
18390
18391 * include/grub/x86_64/efi/kernel.h: New file.
18392
18393 * include/grub/x86_64/efi/loader.h: Likewise.
18394
18395 * include/grub/x86_64/efi/machine.h: Likewise.
18396
18397 * include/grub/x86_64/efi/pci.h: Likewise.
18398
18399 * include/grub/x86_64/efi/time.h: Likewise.
18400
18401 * include/grub/x86_64/linux.h: Likewise.
18402
18403 * include/grub/x86_64/setjmp.h: Likewise.
18404
18405 * include/grub/x86_64/time.h: Likewise.
18406
18407 * include/grub/x86_64/types.h: Likewise.
18408
18409 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
18410 GRUB_TARGET_SIZEOF_VOID_P.
18411
18412 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
18413 (grub_efi_locate_handle): Likewise.
18414 (grub_efi_open_protocol): Likewise.
18415 (grub_efi_set_text_mode): Likewise.
18416 (grub_efi_stall): Likewise.
18417 (grub_exit): Likewise.
18418 (grub_reboot): Likewise.
18419 (grub_halt): Likewise.
18420 (grub_efi_exit_boot_services): Likewise.
18421 (grub_get_rtc): Likewise.
18422
18423 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18424 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18425 (grub_efi_allocate_pages): Wrap efi calls.
18426 (grub_efi_free_pages): Wrap efi calls.
18427 (grub_efi_get_memory_map): Wrap efi calls.
18428
18429 * kern/x86_64/dl.c: New file.
18430
18431 * kern/x86_64/efi/callwrap.S: Likewise.
18432
18433 * kern/x86_64/efi/startup.S: Likewise.
18434
18435 * loader/efi/appleloader.c: Likewise.
18436
18437 * loader/efi/chainloader.c (cmdline): New variable.
18438 (grub_chainloader_unload): Wrap efi calls.
18439 (grub_chainloader_boot): Likewise.
18440 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18441 command line.
18442
18443 * loader/efi/chainloader_normal.c (chainloader_command):
18444 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18445 command line.
18446
18447 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18448 method.
18449 (grub_e820_add_region): New function.
18450 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18451 booting.
18452 (grub_find_video_card): New function.
18453 (grub_linux_setup_video): New function.
18454 (grub_rescue_cmd_linux): Probe for video information.
18455
18456 * normal/x86_64/setjmp.S: New file.
18457
18458 * term/efi/console.c (map_char): New function.
18459 (grub_console_putchar): Map unicode char.
18460 (grub_console_checkkey): Wrap efi calls.
18461 (grub_console_getkey): Likewise.
18462 (grub_console_getwh): Likewise.
18463 (grub_console_gotoxy): Likewise.
18464 (grub_console_cls): Likewise.
18465 (grub_console_setcolorstate): Likewise.
18466 (grub_console_setcursor): Likewise.
18467
18468 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18469
18470 2008-07-16 Pavel Roskin <proski@gnu.org>
18471
18472 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18473 format strings.
18474
18475 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18476 pointer, not an integer. This fixes a warning and prevents
18477 precision loss on 64-bit systems.
18478 (relocate_addresses): Remove unneeded cast.
18479
18480 2008-07-15 Pavel Roskin <proski@gnu.org>
18481
18482 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18483
18484 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18485
18486 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18487 Fix comparison between signed and unsigned.
18488
18489 * include/grub/i386/ieee1275/console.h: Declare
18490 grub_console_init() and grub_console_fini().
18491
18492 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18493 It's empty and unused.
18494
18495 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18496 beginning to avoid warnings with some compilers.
18497
18498 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18499 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18500
18501 2008-07-14 Pavel Roskin <proski@gnu.org>
18502
18503 * kern/env.c (grub_register_variable_hook): Don't copy empty
18504 string, it leaks memory. Pass "" to grub_env_set(), it should
18505 handle constant strings.
18506
18507 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18508 * commands/cmp.c (grub_cmd_cmp): Likewise.
18509 * kern/dl.c (grub_dl_flush_cache): Likewise.
18510 (grub_dl_load_core): Likewise.
18511 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18512 (grub_elf64_load_phdrs): Likewise.
18513
18514 2008-07-13 Pavel Roskin <proski@gnu.org>
18515
18516 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18517 between signed and unsigned.
18518 (LzmaEnc_Finish): Fix warning about an unused parameter.
18519
18520 2008-07-13 Bean <bean123ch@gmail.com>
18521
18522 * Makefile.in (enable_lzo): New rule.
18523
18524 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
18525
18526 * configure.ac (ENABLE_LZO): New option --enable-lzo.
18527
18528 * boot/i386/pc/lnxboot.S: #include <config.h>.
18529
18530 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
18531 its value according to the compression algorithm used, lzo or lzma.
18532
18533 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
18534 compression algorithm according to configure macro.
18535
18536 * kern/i386/pc/startup.S (codestart): Likewise.
18537
18538 * kern/i386/pc/lzma_decode.S: New file.
18539
18540 * include/grub/lib/LzFind.h: Likewise.
18541
18542 * include/grub/lib/LzHash.h: Likewise.
18543
18544 * include/grub/lib/LzmaDec.h: Likewise.
18545
18546 * include/grub/lib/LzmaEnc.h: Likewise.
18547
18548 * include/grub/lib/LzmaTypes.h: Likewise.
18549
18550 * lib/LzFind.c: Likewise.
18551
18552 * lib/LzmaDec.c: Likewise.
18553
18554 * lib/LzmaEnc.c: Likewise.
18555
18556 2008-07-13 Bean <bean123ch@gmail.com>
18557
18558 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
18559 (grub_ext4_extent_header): New structure.
18560 (grub_ext4_extent): Likewise.
18561 (grub_ext4_extent_idx): Likewise.
18562 (grub_ext4_find_leaf): New function.
18563 (grub_ext2_read_block): Handle extents.
18564
18565 2008-07-12 Robert Millan <rmh@aybabtu.com>
18566
18567 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
18568
18569 2008-07-11 Robert Millan <rmh@aybabtu.com>
18570
18571 * util/grub.d/40_custom.in: New file. Example on how to add custom
18572 entries to /etc/grub.d.
18573 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
18574 40_custom (implicitly, by merging all the grub.d rules).
18575
18576 2008-07-11 Pavel Roskin <proski@gnu.org>
18577
18578 * commands/read.c (grub_getline): Fix invalid memory access.
18579 Don't add newline to the variable value.
18580
18581 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
18582 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
18583 (serial_hw_get_port): Check validity of the port number.
18584 (grub_cmd_serial): Check return value of serial_hw_get_port().
18585
18586 2008-07-07 Pavel Roskin <proski@gnu.org>
18587
18588 * boot/i386/pc/diskboot.S (notification_string): Replace
18589 "Loading kernel" with just "loading". This is shorter, less
18590 confusing and saves a few bytes for possible future changes.
18591
18592 2008-07-05 Pavel Roskin <proski@gnu.org>
18593
18594 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
18595 size for ATAPI devices, they are undefined. Output sector
18596 number in decimal form.
18597
18598 * disk/ata.c: Use named constants for status bits.
18599
18600 2008-07-04 Pavel Roskin <proski@gnu.org>
18601
18602 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
18603 grub_addr_t before casting it to the void pointer to fix a
18604 warning. Non-addressable regions are discarded earlier.
18605 (grub_arch_modules_addr): Cast _end to grub_addr_t.
18606 * kern/i386/linuxbios/table.c: Include grub/misc.h.
18607 (check_signature): Don't shadow table_header.
18608 (grub_linuxbios_table_iterate): Cast numeric constants to
18609 grub_linuxbios_table_header_t.
18610 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
18611 grub_stop().
18612
18613 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
18614 prevent warnings.
18615
18616 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
18617 pointer, which can cause warnings. Support 64-bit addresses.
18618
18619 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
18620 of sizeof(long). This fixes PowerPC image generation on x86_64.
18621
18622 2008-07-04 Robert Millan <rmh@aybabtu.com>
18623
18624 This fixes a performance issue when pc & gpt partmap iterators
18625 didn't abort iteration even after our hook found what it was
18626 looking for (often causing expensive probes of non-existent drives).
18627
18628 Some callers relied on previous buggy behaviour, since they would
18629 raise an error when their own hooks caused early abortion of its
18630 iteration.
18631
18632 * kern/device.c (grub_device_open): Improve error message.
18633 * disk/lvm.c (grub_lvm_open): Likewise.
18634 * disk/raid.c (grub_raid_open): Likewise.
18635
18636 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
18637 when hook requests it, independently of grub_errno.
18638 (pc_partition_map_probe): Do not fail when find_func() caused
18639 early abortion of pc_partition_map_iterate().
18640
18641 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
18642 when hook requests it, independently of grub_errno.
18643 (gpt_partition_map_probe): Do not fail when find_func() caused
18644 early abortion of gpt_partition_map_iterate().
18645
18646 * kern/partition.c (grub_partition_iterate): Abort parent iteration
18647 when hook requests it, independently of grub_errno. Do not fail when
18648 part_map_iterate_hook() caused early abortion of p->iterate().
18649
18650 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
18651 when grub_partition_iterate() returned with non-zero.
18652
18653 2008-07-03 Pavel Roskin <proski@gnu.org>
18654
18655 * disk/ata.c (grub_ata_pio_write): Check status before writing,
18656 like we do in grub_ata_pio_read().
18657 (grub_ata_readwrite): Always write individual sectors. Fix the
18658 sector count for the remainder.
18659 (grub_ata_write): Enable writing to ATA devices. Correctly
18660 report error for ATAPI devices.
18661
18662 2008-07-02 Pavel Roskin <proski@gnu.org>
18663
18664 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
18665 warning.
18666
18667 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
18668 for every read sector, we already increment it for the whole
18669 batch. This fixes reading more than 256 sectors at once.
18670
18671 * util/grub-editenv.c (cmd_info): Cast argument to long
18672 explicitly. ptrdiff_t reduces to int on i386.
18673
18674 * util/grub-editenv.c (main): Be specific which parameter is
18675 missing.
18676
18677 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
18678 (memdisk): Make memdisk_orig_addr a pointer.
18679
18680 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
18681 for file offsets, use grub_off_t instead. Fix printf format
18682 warnings.
18683
18684 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
18685 there. Real unexpected warnings should not drown in the noise
18686 about known problems.
18687
18688 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
18689 grub_disk_addr_t for memory addresses.
18690
18691 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
18692 explicitly to fix a warning.
18693
18694 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
18695
18696 * Makefile.in (MODULE_LDFLAGS): New variable.
18697 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
18698 the linker accepts --build-id=none.
18699 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
18700 MODULE_LDFLAGS.
18701 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
18702
18703 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
18704 those in Linux XFS code. Provide a way to access 64-bit parent
18705 inode.
18706 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
18707 the end of struct grub_xfs_dir_header.
18708
18709 2008-07-02 Bean <bean123ch@gmail.com>
18710
18711 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
18712 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18713 and GRUB_IEEE1275_FLAG_NO_ANSI.
18714
18715 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
18716 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
18717 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
18718
18719 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
18720 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
18721
18722 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
18723 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
18724
18725 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
18726 esc sequence on non ANSI terminal.
18727 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
18728
18729 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
18730 beginning of file.
18731
18732 2008-07-02 Bean <bean123ch@gmail.com>
18733
18734 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
18735 (grub_editenv_SOURCES): New variable.
18736 (pkglib_MODULES): Add loadenv.mod.
18737 (loadenv_mod_SOURCES): New variable.
18738 (loadenv_mod_CFLAGS): Likewise.
18739 (loadenv_mod_LDFLAGS): Likewise.
18740
18741 * include/grub/envblk.h: New file.
18742
18743 * util/envblk.c: New file.
18744
18745 * util/grub-editenv.c: New file.
18746
18747 * commands/loadenv.c: New file.
18748
18749 2008-07-01 Pavel Roskin <proski@gnu.org>
18750
18751 * include/multiboot2.h (struct multiboot_tag_module): Use char,
18752 not unsigned char. This fixes warnings and is consistent with
18753 other tags.
18754
18755 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
18756
18757 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
18758
18759 * term/tparm.c (analyze): Always set *popcount.
18760
18761 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
18762 cast to fix a warning.
18763
18764 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
18765 cast to suppress a warning.
18766
18767 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
18768 grub_fshelp_read_file() expects.
18769
18770 * fs/fat.c: Fix UUID calculation on big-endian systems. We
18771 write uuid as a 32-bit value in CPU byte order, so declare and
18772 use it as such.
18773
18774 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
18775 long if the format specifier expects it.
18776 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
18777 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18778 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
18779 long to fix a warning.
18780 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
18781 grub_dprintf() arguments to fix warnings.
18782
18783 2008-06-30 Pavel Roskin <proski@gnu.org>
18784
18785 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
18786 install_bsd_part immediately before core.img is embedded or
18787 modified on disk. This fixes core.img verification if core.img
18788 cannot be embedded.
18789
18790 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
18791 core_path to calculate the blocklist.
18792 Patch from Javier Martín <lordhabbit@gmail.com>
18793
18794 2008-06-29 Robert Millan <rmh@aybabtu.com>
18795
18796 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
18797 block to disk block.
18798 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
18799 Patch from Niels Böhm <bitbucket@arcor.de>
18800
18801 2008-06-29 Robert Millan <rmh@aybabtu.com>
18802
18803 * util/update-grub_lib.in (font_path): Search for fonts in
18804 /boot/grub first, which is more likely to be readable (we aren't
18805 deciding where fonts live, just looking for them).
18806
18807 2008-06-26 Pavel Roskin <proski@gnu.org>
18808
18809 * util/biosdisk.c (read_device_map): Don't leave dead map
18810 entries for devices failing stat() check.
18811
18812 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
18813 core_path_dev for the core.img path on the target device.
18814
18815 2008-06-26 Robert Millan <rmh@aybabtu.com>
18816
18817 * disk/fs_uuid.c: New file.
18818 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
18819 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
18820 (fs_uuid_mod_LDFLAGS): New variables.
18821 * include/grub/disk.h (grub_disk_dev_id): Add
18822 `GRUB_DISK_DEVICE_UUID_ID'.
18823 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
18824 implement iterate().
18825
18826 2008-06-26 Robert Millan <rmh@aybabtu.com>
18827
18828 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
18829 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
18830 Linux image includes no initrd.
18831
18832 2008-06-21 Javier Martín <lordhabbit@gmail.com>
18833
18834 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
18835 call to resolve the core image location that effectively appended the
18836 name twice.
18837
18838 2008-06-21 Robert Millan <rmh@aybabtu.com>
18839
18840 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
18841 call from here ...
18842
18843 * util/grub.d/10_hurd.in: ... to here ...
18844 * util/grub.d/10_linux.in: ... and here.
18845
18846 2008-06-19 Robert Millan <rmh@aybabtu.com>
18847
18848 * kern/main.c (grub_main): Export `prefix' variable immediately
18849 after it has been set by grub_machine_set_prefix().
18850
18851 2008-06-19 Robert Millan <rmh@aybabtu.com>
18852
18853 * commands/search.c (search_label, search_fs_uuid, search_file): Print
18854 search result when not saving to variable, not the other way around.
18855 When saving to variable, abort iteration as soon as a match is found.
18856
18857 2008-06-19 Robert Millan <rmh@aybabtu.com>
18858
18859 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
18860 check for partition that provides /boot/grub. Its logic is flawed,
18861 as it prevents prepare_grub_to_access_device() from being called
18862 multiple times.
18863
18864 2008-06-19 Robert Millan <rmh@aybabtu.com>
18865
18866 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
18867 "insmod" command directly when abstraction modules are needed,
18868 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
18869 since it had already been processed).
18870
18871 2008-06-19 Pavel Roskin <proski@gnu.org>
18872
18873 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
18874 changed. This is needed in case GRUB_LIBDIR changes.
18875 * conf/i386-ieee1275.rmk: Likewise.
18876 * conf/i386-linuxbios.rmk: Likewise.
18877 * conf/i386-pc.rmk: Likewise.
18878 * conf/powerpc-ieee1275.rmk: Likewise.
18879
18880 2008-06-18 Pavel Roskin <proski@gnu.org>
18881
18882 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
18883 kernel_elf_symlist.c to symlist.c for consistency with other
18884 architectures. Update all users.
18885 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18886
18887 2008-06-18 Robert Millan <rmh@aybabtu.com>
18888
18889 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
18890 it in prefix.
18891
18892 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
18893 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
18894 a RAID device, run setup() for all members independently on whether
18895 LVM abstraction is being used.
18896 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
18897 If grub-mkimage has set `*install_dos_part == -2', don't override this
18898 value.
18899 Perform *install_dos_part adjustments independently on whether
18900 we're embedding or not.
18901 Clarify error message when image is too big for embedding.
18902 Remove duplicate *install_dos_part stanza.
18903
18904 2008-06-17 Robert Millan <rmh@aybabtu.com>
18905
18906 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
18907 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
18908 variables.
18909 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
18910 values in grub_ofconsole_normal_color and
18911 grub_ofconsole_highlight_color (they're not directly related to
18912 background and foreground).
18913 (grub_ofconsole_setcolorstate): Extract background and foreground
18914 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
18915
18916 2008-06-17 Robert Millan <rmh@aybabtu.com>
18917
18918 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
18919 /boot/grub for the check in last commit, not /boot (they could be
18920 different partitions).
18921
18922 2008-06-16 Robert Millan <rmh@aybabtu.com>
18923
18924 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
18925 asked to setup access for the same partition that provides /boot,
18926 don't bother using UUIDs since our root already has the value we
18927 want.
18928
18929 2008-06-16 Robert Millan <rmh@aybabtu.com>
18930
18931 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
18932 I2O devices.
18933 Patch from Sven Mueller <sven@debian.org>.
18934
18935 2008-06-16 Robert Millan <rmh@aybabtu.com>
18936
18937 * util/update-grub.in: Check for $EUID instead of $UID.
18938 Reported by Vincent Zweije.
18939
18940 2008-06-16 Bean <bean123ch@gmail.com>
18941
18942 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
18943 (grub_ext2_read_block): Likewise.
18944 (grub_ext2_read_inode): Likewise.
18945 (grub_ext2_mount): Likewise.
18946 (grub_ext2_close): Likewise.
18947 (grub_ext3_get_journal): Removed.
18948
18949 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
18950 (grub_reiserfs_read_symlink): Likewise.
18951 (grub_reiserfs_mount): Likewise.
18952 (grub_reiserfs_open): Likewise.
18953 (grub_reiserfs_read): Likewise.
18954 (grub_reiserfs_close): Likewise.
18955 (grub_reiserfs_get_journal): Removed.
18956
18957 * fs/fshelp.c (grub_fshelp_read): Removed.
18958 (grub_fshelp_map_block): Likewise.
18959
18960 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
18961 (grub_fshelp_journal): Likewise.
18962 (grub_fshelp_read): Likewise.
18963 (grub_fshelp_map_block): Likewise.
18964
18965 2008-06-16 Pavel Roskin <proski@gnu.org>
18966
18967 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
18968 floating point anymore.
18969 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
18970
18971 2008-06-15 Pavel Roskin <proski@gnu.org>
18972
18973 * commands/ls.c (grub_ls_list_files): Use integer calculations
18974 for human readable format, avoid floating point use.
18975 * kern/misc.c (grub_ftoa): Remove.
18976 (grub_vsprintf): Remove floating point support.
18977
18978 2008-06-15 Robert Millan <rmh@aybabtu.com>
18979
18980 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
18981 devices.
18982 Reported by Max Vozeler.
18983
18984 2008-06-15 Robert Millan <rmh@aybabtu.com>
18985
18986 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
18987 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
18988 skipped later.
18989 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
18990 the beginning of the prefix.
18991
18992 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
18993 It is assumed that if we have a memdisk, grub-mkimage has set
18994 grub_prefix to include the "(memdisk)" drive in it.
18995
18996 2008-06-15 Robert Millan <rmh@aybabtu.com>
18997
18998 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
18999 Initialize keyboard controller after registering the terminal, so that
19000 grub_printf() can be called from grub_keyboard_controller_init().
19001
19002 2008-06-15 Robert Millan <rmh@aybabtu.com>
19003
19004 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
19005 extent-btree which is written as big endian on disk.
19006 Reported by Alain Greppin <al@chilibi.org>.
19007
19008 2008-06-14 Robert Millan <rmh@aybabtu.com>
19009
19010 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
19011 * util/i386/pc/grub-install.in (modules): Likewise.
19012
19013 2008-06-13 Pavel Roskin <proski@gnu.org>
19014
19015 * commands/ls.c (grub_ls_list_files): Fix format warnings.
19016
19017 2008-06-13 Bean <bean123ch@gmail.com>
19018
19019 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
19020
19021 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
19022
19023 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
19024 to indicate sparse block.
19025
19026 2008-06-12 Pavel Roskin <proski@gnu.org>
19027
19028 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
19029 number, grub_fshelp_read() does it for us.
19030
19031 * fs/fshelp.c (grub_fshelp_read): New function. Implement
19032 linear disk read with journal translation.
19033 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
19034 * include/grub/fshelp.h: Declare grub_fshelp_read().
19035
19036 2008-06-09 Pavel Roskin <proski@gnu.org>
19037
19038 * fs/minix.c (grub_minix_mount): Handle error reading
19039 superblock.
19040
19041 2008-06-08 Robert Millan <rmh@aybabtu.com>
19042
19043 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
19044 don't append the RAID prefix afterwards.
19045 Reported by Clint Adams.
19046
19047 2008-06-08 Robert Millan <rmh@aybabtu.com>
19048
19049 Based on description from Pavel:
19050 * kern/disk.c (grub_disk_check_range): Rename to ...
19051 (grub_disk_adjust_range): ... this. Add a comment explaining the
19052 tasks performed by this function.
19053
19054 2008-06-08 Robert Millan <rmh@aybabtu.com>
19055
19056 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
19057 `num_serial' (for consistency with other variables).
19058 (struct grub_ntfs_data): Add `uuid' member.
19059 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
19060 (grub_ntfs_uuid): New function.
19061 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
19062
19063 2008-06-07 Pavel Roskin <proski@gnu.org>
19064
19065 * util/biosdisk.c (open_device): Revert last change to the
19066 function, it broke installation. The sector needs to be
19067 different dependent on which device is opened.
19068
19069 2008-06-06 Robert Millan <rmh@aybabtu.com>
19070
19071 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
19072 rest of GRUB, and breakage doesn't happen if its value were modified.
19073
19074 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19075 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
19076 a constant (same value).
19077 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
19078 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
19079
19080 2008-06-06 Robert Millan <rmh@aybabtu.com>
19081
19082 * util/biosdisk.c (open_device): Do not modify sector offset when
19083 accessing a partition. kern/disk.c already handles this for us.
19084
19085 2008-06-06 Robert Millan <rmh@aybabtu.com>
19086
19087 * util/grub-emu.c (grub_machine_init): Move code in this function from
19088 here ...
19089 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
19090 segfault in case grub_printf() is called).
19091
19092 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
19093 grub_probe. Update all users not to explicitly add it again.
19094 (grub_device): New variable; contains corresponding device for grubdir.
19095 (fs_module, partmap_module, devabstraction_module): Pass
19096 `--device ${grub_device}' to grub_probe to avoid traversing /dev
19097 every time.
19098
19099 2008-06-05 Robert Millan <rmh@aybabtu.com>
19100
19101 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
19102 is found, print it (same layout as with labels).
19103
19104 2008-06-04 Robert Millan <rmh@aybabtu.com>
19105
19106 * util/biosdisk.c (get_drive): Rename to ...
19107 (find_grub_drive): ... this. Update all users.
19108
19109 (get_os_disk): Rename to ...
19110 (convert_system_partition_to_system_disk): ... this. Update all users.
19111
19112 (find_drive): Rename to ...
19113 (find_system_device): ... this. Update all users.
19114
19115 2008-06-04 Robert Millan <rmh@aybabtu.com>
19116
19117 * util/biosdisk.c (get_os_disk): Handle IDA devices.
19118 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19119 (make_device_map): Likewise.
19120
19121 2008-06-01 Robert Millan <rmh@aybabtu.com>
19122
19123 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
19124 before dereferencing it.
19125
19126 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
19127 union with fat12/fat16-specific ones. Add some new fields, including
19128 `num_serial' for both versions.
19129 (struct grub_fat_data): Add `uuid' member.
19130 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
19131 names. Initialize `data->uuid' using `num_serial'.
19132 (grub_fat_uuid): New function.
19133 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
19134
19135 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
19136 (grub_reiserfs_uuid): New function.
19137 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
19138 member.
19139
19140 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
19141 (grub_xfs_uuid): New function.
19142 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
19143
19144 2008-06-01 Robert Millan <rmh@aybabtu.com>
19145
19146 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
19147 code that is backward compatible with pre-uuid search command.
19148
19149 2008-05-31 Robert Millan <rmh@aybabtu.com>
19150
19151 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
19152 floppies after everything else, to ensure floppy drive isn't accessed
19153 unnecessarily (patch from Bean).
19154
19155 2008-05-31 Robert Millan <rmh@aybabtu.com>
19156
19157 * commands/search.c (search_label, search_fs_uuid, search_file): Do
19158 not print device names when we were asked to set a variable.
19159
19160 2008-05-31 Robert Millan <rmh@aybabtu.com>
19161
19162 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
19163 using "cursor-on" and "cursor-off" commands (understood at least by
19164 the Open Firmware flavour on OLPC).
19165
19166 2008-05-31 Michael Gorven <michael@gorven.za.net>
19167
19168 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
19169 on and off sequences.
19170
19171 2008-05-31 Robert Millan <rmh@aybabtu.com>
19172
19173 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
19174 * util/update-grub.in: Likewise.
19175
19176 2008-05-30 Pavel Roskin <proski@gnu.org>
19177
19178 * util/biosdisk.c (linux_find_partition): Simplify logic and
19179 make the code more universal. Keep special processing for
19180 devfs, but use a simple rule for all other devices. If the
19181 device ends with a number, append 'p' and the partition number.
19182 Otherwise, append only the partition number.
19183
19184 2008-05-30 Robert Millan <rmh@aybabtu.com>
19185
19186 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
19187 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
19188 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
19189 the `root' parameter to Linux.
19190
19191 2008-05-30 Robert Millan <rmh@aybabtu.com>
19192
19193 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
19194 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
19195 --fs_uuid with --fs-uuid.
19196 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
19197 all filesystems support them).
19198
19199 2008-05-30 Robert Millan <rmh@aybabtu.com>
19200
19201 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
19202 grub_printf() flags, since we're printing in units of 2 bytes.
19203
19204 2008-05-30 Robert Millan <rmh@aybabtu.com>
19205
19206 * util/grub.d/00_header.in: Remove obsolete comment referencing
19207 convert_system_path_to_grub_path().
19208 * util/update-grub.in: Likewise.
19209 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
19210 (convert_system_path_to_grub_path): Add a warning message explaining
19211 that this function is deprecated. Rely on is_path_readable_by_grub()
19212 for the readability checks.
19213 (font_path): Use is_path_readable_by_grub() for the readability
19214 check rather than convert_system_path_to_grub_path().
19215
19216 2008-05-30 Robert Millan <rmh@aybabtu.com>
19217
19218 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
19219 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
19220 converting it first.
19221 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
19222 grub.cfg for access to font file, and afterwards call it again to set
19223 the root device.
19224
19225 2008-05-30 Robert Millan <rmh@aybabtu.com>
19226
19227 * commands/search.c (options): Add --fs_uuid option.
19228 (search_fs_uuid): New function.
19229 (grub_cmd_search): Fix --set argument passing.
19230 Use search_fs_uuid() when requested via --fs_uuid.
19231 (grub_search_init): Update help message.
19232 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
19233 and redeclare it as an array of 16-bit words.
19234 (grub_ext2_uuid): New function.
19235 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
19236 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
19237 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
19238 (GRUB_DEVICE_BOOT_UUID): New variables.
19239 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
19240 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
19241 whenever possible.
19242 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
19243 just assume `root' variable has the right value.
19244 * util/grub.d/10_linux.in: Likewise.
19245 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
19246 via PRINT_FS_UUID.
19247 (main): Recognise `-t fs_uuid' argument.
19248
19249 2008-05-30 Robert Millan <rmh@aybabtu.com>
19250
19251 * util/biosdisk.c (map): Redefine structure to hold information
19252 about GRUB drive name.
19253 (get_drive): Reimplement without assuming (and verifying) BIOS-like
19254 drive names.
19255 (call_hook): Remove.
19256 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
19257 member. Assume drive has partitions.
19258 (grub_util_biosdisk_open): Access device names via `.device' struct
19259 member.
19260 (open_device): Likewise.
19261 (find_drive): Likewise.
19262 (read_device_map): Adjust map[] usage to match the new struct
19263 definition. Don't check for duplicates (still possible, but not cheap
19264 anymore).
19265 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
19266 (make_device_name): Remove assumption of BIOS-like drive names.
19267
19268 2008-05-30 Pavel Roskin <proski@gnu.org>
19269
19270 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
19271 compiling execute.c doesn't need grub_script.tab.h anymore.
19272 (normal/command.c_DEPENDENCIES): Likewise.
19273 (normal/function.c_DEPENDENCIES): Likewise.
19274 * conf/i386-ieee1275.rmk: Likewise.
19275 * conf/i386-linuxbios.rmk: Likewise.
19276 * conf/i386-pc.rmk: Likewise.
19277 * conf/powerpc-ieee1275.rmk: Likewise.
19278 * conf/sparc64-ieee1275.rmk: Likewise.
19279
19280 2008-05-29 Pavel Roskin <proski@gnu.org>
19281
19282 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
19283 when scanning metadata for volume group name.
19284
19285 * include/grub/script.h: Don't include grub_script.tab.h. It's
19286 a generated file, which may only be included from the files with
19287 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
19288 use union YYSTYPE, as the later allows forward declaration.
19289 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
19290
19291 2008-05-29 Robert Millan <rmh@aybabtu.com>
19292
19293 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
19294 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
19295 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
19296 (grub_console_checkkey): Add grub_dprintf() call to report unknown
19297 scan codes.
19298
19299 2008-05-29 Robert Millan <rmh@aybabtu.com>
19300
19301 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
19302 control key combinations.
19303
19304 2008-05-29 Robert Millan <rmh@aybabtu.com>
19305
19306 * util/powerpc/ieee1275/grub-install.in: Move from here ...
19307 * util/ieee1275/grub-install.in: ... to here.
19308 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
19309 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
19310 (grub_install_SOURCES): Likewise.
19311
19312 2008-05-29 Robert Millan <rmh@aybabtu.com>
19313
19314 * fs/affs.c: Update copyright year.
19315 * fs/ext2.c: Likewise.
19316 * fs/fshelp.c: Likewise.
19317 * fs/hfsplus.c: Likewise.
19318 * fs/ntfs.c: Likewise.
19319 * fs/xfs.c: Likewise.
19320 * include/grub/fshelp.h: Likewise.
19321 * util/grub-mkdevicemap.c: Likewise.
19322
19323 2008-05-28 Robert Millan <rmh@aybabtu.com>
19324
19325 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
19326 might need to be fatfs to support some firmware implementations
19327 (e.g. OFW or EFI).
19328
19329 2008-05-28 Robert Millan <rmh@aybabtu.com>
19330
19331 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
19332 devices.
19333 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19334 (make_device_map): Likewise.
19335
19336 2008-05-20 Bean <bean123ch@gmail.com>
19337
19338 * fs/fshelp.c (grub_fshelp_map_block): New function.
19339 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
19340 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
19341
19342 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
19343 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
19344 (grub_fshelp_journal): New structure.
19345 (grub_fshelp_map_block): New function prototype.
19346 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
19347 (grub_fshelp_map_block): Likewise.
19348
19349 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
19350 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
19351 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
19352 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
19353 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
19354 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
19355 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
19356 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
19357 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
19358 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
19359 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
19360 (grub_ext2_sblock): New members for journal support.
19361 (grub_ext3_journal_header): New structure.
19362 (grub_ext3_journal_revoke_header): Likewise.
19363 (grub_ext3_journal_block_tag): Likewise.
19364 (grub_ext3_journal_sblock): Likewise.
19365 (grub_fshelp_node): New members logfile and journal.
19366 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
19367 grub_fshelp_map_block to get real block number.
19368 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
19369 number.
19370 (grub_ext2_read_inode): Likewise.
19371 (grub_ext3_get_journal): New function.
19372 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
19373 (grub_ext2_close): Release memory used by journal.
19374
19375 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
19376 (REISERFS_MAGIC_DESC_BLOCK): New macro.
19377 (grub_reiserfs_transaction_header): Renamed to
19378 grub_reiserfs_description_block, replace field data with real_blocks.
19379 (grub_reiserfs_commit_block): New structure.
19380 (grub_reiserfs_data): New member journal.
19381 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
19382 number.
19383 (grub_reiserfs_read_symlink): Likewise.
19384 (grub_reiserfs_iterate_dir): Likewise.
19385 (grub_reiserfs_open): Likewise.
19386 (grub_reiserfs_read): Likewise.
19387 (grub_reiserfs_get_journal): New function.
19388 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
19389 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
19390 using grub_reiserfs_get_journal.
19391 (grub_reiserfs_close): Release memory used by journal.
19392
19393 * fs/affs.c (grub_affs_read_block): Change block type to
19394 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
19395
19396 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
19397
19398 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
19399
19400 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
19401
19402 * fs/udf.c (grub_udf_read_block): Change block type to
19403 grub_disk_addr_t. Use type cast to avoid warning.
19404
19405 * fs/xfs.c (grub_xfs_read_block): Likewise.
19406
19407 2008-05-16 Christian Franke <franke@computer.org>
19408
19409 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
19410 to ensure that break with ESC will always work.
19411 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
19412 Remove ESC from keyboard queue.
19413
19414 2008-05-16 Christian Franke <franke@computer.org>
19415
19416 * util/biosdisk.c: [__CYGWIN__] Add includes.
19417 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
19418 (get_os_disk): Move variable declarations to OS specific
19419 parts to avoid warning.
19420 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
19421 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
19422 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
19423 Cygwin.
19424 * util/getroot.c: [__CYGWIN__] Add includes.
19425 (strip_extra_slashes): Fix "/" case.
19426 [__CYGWIN__] (get_win32_path): New function.
19427 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19428 [__CYGWIN__] (find_root_device): Disable.
19429 [__CYGWIN__] (get_bootsec_serial): New function.
19430 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19431 [__linux__] (grub_guess_root_device): Add early returns to simplify
19432 structure.
19433 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19434 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19435 check for Linux only.
19436
19437 2008-05-15 Bean <bean123ch@gmail.com>
19438
19439 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19440 keyboard hang problem in apple's intel mac.
19441
19442 2008-05-09 Robert Millan <rmh@aybabtu.com>
19443
19444 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19445 devices.
19446 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19447 (make_device_map): Likewise.
19448 Reported by Aurelien Jarno <aurel32@debian.org>
19449
19450 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
19451
19452 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19453 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19454 (make_device_map): Output entries for xvd type disks.
19455
19456 2008-05-07 Robert Millan <rmh@aybabtu.com>
19457
19458 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19459 devices.
19460 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19461 (make_device_map): Likewise.
19462 Reported by Roland Dreier <rdreier@cisco.com>
19463
19464 2008-05-07 Robert Millan <rmh@aybabtu.com>
19465
19466 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19467 grub_strstr() call. Correct a few mistakes in failure path handling.
19468
19469 2008-05-06 Robert Millan <rmh@aybabtu.com>
19470
19471 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19472 Do not print a trailing slash (therefore, the root directory is an
19473 empty string).
19474 (convert_system_path_to_grub_path): Do not remove trailing slash
19475 from make_system_path_relative_to_its_root() output.
19476
19477 * util/i386/pc/grub-install.in: Add trailing slash to output from
19478 make_system_path_relative_to_its_root().
19479
19480 2008-05-06 Robert Millan <rmh@aybabtu.com>
19481
19482 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19483 ensures that output lines aren't intermangled with those sent to
19484 stderr (via grub_util_info()).
19485 * util/grub-probe.c (grub_refresh): Likewise.
19486 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19487
19488 2008-05-05 Christian Franke <franke@computer.org>
19489
19490 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19491 Add Cygwin device names.
19492 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19493 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19494 (check_device): Return error instead of success on empty name.
19495 (make_device_map): Move label inside linux specific code to
19496 prevent compiler warning.
19497
19498 2008-04-30 Robert Millan <rmh@aybabtu.com>
19499
19500 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19501 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19502 first boot option.
19503 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19504
19505 2008-04-29 Robert Millan <rmh@aybabtu.com>
19506
19507 * docs/grub.cfg: New file (example GRUB configuration).
19508
19509 2008-04-26 Robert Millan <rmh@aybabtu.com>
19510
19511 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19512 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19513 and `disk/ieee1275/nand.c'.
19514
19515 2008-04-25 Bean <bean123ch@gmail.com>
19516
19517 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19518 i386-linuxbios.
19519
19520 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19521 change the buffer size to 4096 for cdrom device.
19522
19523 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
19524 and nand.mod.
19525 (_linux_mod_SOURCES): New variable.
19526 (_linux_mod_CFLAGS): Likewise.
19527 (_linux_mod_LDFLAGS): Likewise.
19528 (linux_mod_SOURCES): Likewise.
19529 (linux_mod_CFLAGS): Likewise.
19530 (linux_mod_LDFLAGS): Likewise.
19531 (nand_mod_SOURCES): Likewise.
19532 (nand_mod_CFLAGS): Likewise.
19533 (nand_mod_LDFLAGS): Likewise.
19534
19535 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
19536 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
19537 type property. (nand device in olpc don't have this property)
19538
19539 * include/grub/disk.h (grub_disk_dev_id): New macro
19540 GRUB_DISK_DEVICE_NAND_ID.
19541
19542 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
19543 function prototype.
19544 (grub_rescue_cmd_initrd): Likewise.
19545
19546 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
19547 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
19548 ofw_cif_handler and ofw_idt, adjust padding number.
19549
19550 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
19551 GRUB_MACHINE_IEEE1275 is defined.
19552
19553 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
19554 Use NESTED_FUNC_ATTR attribute on the hook parameter.
19555
19556 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
19557 on nested function heap_init.
19558 (grub_upper_mem): New variable for i386-ieee1275.
19559 (grub_get_extended_memory): New function for i386-ieee1275.
19560 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
19561
19562 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
19563 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
19564 property.
19565
19566 * loader/i386/ieee1275/linux.c: New file.
19567
19568 * loader/i386/ieee1275/linux_normal.c: New file.
19569
19570 * disk/ieee1275/nand.c: New file.
19571
19572 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
19573
19574 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
19575 value.
19576 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
19577
19578 2008-04-18 Robert Millan <rmh@aybabtu.com>
19579
19580 Restructures early code path on ieee1275 to unify grub_main() as
19581 the first C function that is executed in every platform.
19582
19583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
19584 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
19585 cmain().
19586 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
19587 * kern/ieee1275/cmain.c (cmain): Rename to ...
19588 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
19589 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
19590 at the beginning.
19591
19592 2008-04-18 Robert Millan <rmh@aybabtu.com>
19593
19594 * util/update-grub.in: Fix syntax error when setting
19595 `GRUB_PRELOAD_MODULES'.
19596 Reported by Stephane Chazelas <stephane@artesyncp.com>
19597
19598 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
19599
19600 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
19601 section into account, newer toolchains generate unique build ids
19602 * configure.ac: remove the test for --build-id=none acceptance,
19603 we want build ids to be preserved
19604 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
19605 far from other sections don't cause the raw binary images grow
19606 size
19607
19608 2008-04-15 Robert Millan <rmh@aybabtu.com>
19609
19610 * disk/lvm.c: Update copyright year.
19611 * kern/misc.c: Likewise.
19612
19613 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19614
19615 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
19616 there is no memory left for physical volume name.
19617
19618 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
19619
19620 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
19621 volume name mapping to support bigger than 9 character names properly.
19622
19623 2008-04-13 Robert Millan <rmh@aybabtu.com>
19624
19625 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
19626 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
19627
19628 2008-04-13 Christian Franke <franke@computer.org>
19629
19630 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
19631 to create a floppy emulation boot CD when non emulation mode
19632 does not work.
19633 Enable Joliet CD filesystem extension.
19634
19635 2008-04-13 Robert Millan <rmh@aybabtu.com>
19636
19637 * kern/misc.c (grub_strncat): Fix off-by-one error.
19638 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
19639
19640 * kern/env.c (grub_env_context_close): Clear current context, not
19641 previous one.
19642 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
19643
19644 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
19645
19646 2008-04-13 Robert Millan <rmh@aybabtu.com>
19647
19648 Improve robustness when handling LVM.
19649
19650 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
19651 (and leave `*p' unmodified).
19652 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
19653 through it.
19654 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
19655 iterating through it.
19656 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
19657 through it.
19658 (grub_lvm_scan_device): Check the return value (and fail gracefully
19659 when due) on each grub_lvm_getvalue() or grub_strstr() call.
19660 Don't assume `vg->pvs != NULL' when iterating through it.
19661
19662 2008-04-13 Robert Millan <rmh@aybabtu.com>
19663
19664 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
19665 * genmk.rb (partmap): New variable.
19666 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
19667 (#{partmap}): New target rule.
19668 * genpartmaplist.sh: New file.
19669 * Makefile.in (pkglib_DATA): Add partmap.lst.
19670 (partmap.lst): New target rule.
19671 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
19672 modules (including all partition maps), instead of preloading them.
19673
19674 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
19675
19676 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
19677 `linux-boot-prober' (if installed) to detect other operating
19678 systems which are installed on the computer and add them to
19679 the boot menu.
19680 * conf/common.rmk: Build and install 30_os-prober.
19681
19682 2008-04-12 Robert Millan <rmh@aybabtu.com>
19683
19684 * kern/powerpc/ieee1275/init.c: Move from here ...
19685 * kern/ieee1275/init.c: ... to here. Update all users.
19686
19687 * kern/powerpc/ieee1275/cmain.c: Move from here ...
19688 * kern/ieee1275/cmain.c: ... to here. Update all users.
19689
19690 * kern/powerpc/ieee1275/openfw.c: Move from here ...
19691 * kern/ieee1275/openfw.c: ... to here. Update all users.
19692
19693 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
19694 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
19695
19696 2008-04-10 Pavel Roskin <proski@gnu.org>
19697
19698 * configure.ac: Always use "_cv_" in cache variables for
19699 compatibility with Autoconf 2.62.
19700
19701 2008-04-07 Robert Millan <rmh@aybabtu.com>
19702
19703 Revert grub/machine/init.h addition by Pavel (since it breaks on
19704 i386-ieee1275 and others):
19705 * util/i386/pc/misc.c: Remove grub/machine/init.h.
19706 * util/powerpc/ieee1275/misc.c: Likewise.
19707
19708 2008-04-07 Robert Millan <rmh@aybabtu.com>
19709
19710 * util/grub-probe.c (probe): Improve error message.
19711
19712 2008-04-07 Robert Millan <rmh@aybabtu.com>
19713
19714 * util/biosdisk.c (read_device_map): Skip devices that don't exist
19715 (this prevents the presence of a bogus entry from ruining the whole
19716 thing).
19717
19718 2008-04-06 Pavel Roskin <proski@gnu.org>
19719
19720 * util/biosdisk.c: Include grub/util/biosdisk.h.
19721 * util/grub-fstest.c (execute_command): Make static.
19722 * util/grub-mkdevicemap.c (check_device): Likewise.
19723 * util/i386/pc/misc.c: Include grub/machine/init.h.
19724 * util/powerpc/ieee1275/misc.c: Likewise.
19725 * util/lvm.c: Include grub/util/lvm.h.
19726 * util/misc.c: Include grub/kernel.h, grub/misc.h and
19727 grub/cache.h.
19728 * util/raid.c: Include grub/util/raid.h.
19729 (grub_util_getdiskname): Make static.
19730
19731 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
19732 grub_hostfs_fini(), as they are called from grub_init_all() and
19733 grub_fini_all() respectively. This fixes an infinite loop in
19734 grub-fstest due to double registration of hostfs.
19735 Reported by Christian Franke <Christian.Franke@t-online.de>
19736
19737 2008-04-05 Pavel Roskin <proski@gnu.org>
19738
19739 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
19740 all 8 functions. Otherwise, probe function 0 only.
19741
19742 2008-04-04 Pavel Roskin <proski@gnu.org>
19743
19744 * commands/lspci.c (grub_lspci_iter): Print the bus number
19745 correctly.
19746
19747 * commands/lspci.c (grub_pci_classes): Fix typos.
19748 (grub_lspci_iter): Don't print func twice. Print vendor ID
19749 before device ID, as it's normally done.
19750
19751 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19752 Fix signedness warnings.
19753 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
19754 Likewise.
19755 * util/ieee1275/get_disk_name.c: Include config.h so that
19756 _GNU_SOURCE is defined and getline() is declared. Mark an
19757 unused argument as such. Fix a signedness warning.
19758
19759 2008-04-02 Pavel Roskin <proski@gnu.org>
19760
19761 * genkernsyms.sh.in: Use more robust assignments for CC and
19762 srcdir. Quote srcdir.
19763 * gensymlist.sh.in: Likewise. Assert at the compile time that
19764 the symbol table is not empty.
19765
19766 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
19767 * fs/cpio.c (grub_cpio_read): Likewise.
19768
19769 2008-04-01 Pavel Roskin <proski@gnu.org>
19770
19771 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
19772 * disk/host.c (grub_host_open): Likewise.
19773 * disk/loopback.c (grub_loopback_open): Likewise.
19774 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
19775 disk->id as in disk/host.c, not a multi-character constant.
19776
19777 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
19778 later is obsolete, potentially dangerous and sets a bad example.
19779 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
19780 * util/misc.c (grub_util_get_image_size): Likewise.
19781
19782 * disk/loopback.c (options): Improve help for "--partitions".
19783
19784 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
19785 options to align them with the short options, e.g. "echo -e".
19786
19787 2008-03-31 Bean <bean123ch@gmail.com>
19788
19789 * video/reader/png.c (grub_png_data): New member is_16bit and
19790 image_data.
19791 (grub_png_decode_image_header): Detect 16 bit png image.
19792 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
19793 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
19794 (grub_video_reader_png): Release memory occupied by image_data.
19795
19796 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
19797 4096 bytes.
19798 (grub_nfs_mount): Skip the test for sector per cluster.
19799
19800 * include/grub/ntfs.h (MAX_SPC): Removed.
19801
19802 2008-03-31 Bean <bean123ch@gmail.com>
19803
19804 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
19805 (grub_probe_SOURCES): Add fs/afs.c.
19806 (grub_fstest_SOURCES): Likewise.
19807 (afs_mod_SOURCES): New variable.
19808 (afs_mod_CFLAGS): Likewise.
19809 (afs_mod_LDFLAGS): Likewise.
19810
19811 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
19812 (grub_emu_SOURCES): Likewise.
19813
19814 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19815
19816 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19817
19818 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19819
19820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19821
19822 * fs/afs.c: New file.
19823
19824 2008-03-30 Pavel Roskin <proski@gnu.org>
19825
19826 * disk/host.c: Include grub/misc.h to fix a warning.
19827 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
19828 warnings about implicit declarations.
19829
19830 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
19831 variable.
19832 * include/grub/i386/loader.h: Change declaration of
19833 grub_linux_boot() to match what grub_loader_set() expects.
19834 * util/getroot.c (grub_guess_root_device): Return const char* to
19835 fix a warning.
19836 * util/grub-probe.c (probe): Fix a warning about uninitialized
19837 abstraction_name variable.
19838 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
19839 second argument as unused to fix a warning.
19840
19841 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
19842 missing grub_error() call.
19843
19844 * util/update-grub_lib.in: Define datarootdir, since Autoconf
19845 2.60 and newer uses it to define datadir.
19846
19847 * commands/sleep.c: Fix warning about implicit declaration.
19848 * disk/memdisk.c: Likewise.
19849 * loader/aout.c: Likewise.
19850 * loader/i386/bsd_normal.c: Likewise.
19851 * util/grub-probe.c: Likewise.
19852
19853 * commands/i386/cpuid.c (has_longmode): Make static.
19854 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
19855 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
19856
19857 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
19858 GDT. This is more robust, as %ds can change.
19859 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
19860 calling real_to_prot().
19861 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
19862
19863 2008-03-28 Pavel Roskin <proski@gnu.org>
19864
19865 * kern/i386/pc/startup.S: Assert that uncompressed functions
19866 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
19867 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
19868 code, as they push parts of the code (error handlers) beyond
19869 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
19870 code as correctness and size.
19871
19872 2008-03-28 Pavel Roskin <proski@gnu.org>
19873
19874 * kern/i386/pc/startup.S
19875 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
19876 data block address to the real mode, keep offset minimal. This
19877 works around a bug in AWARD BIOS on old Athlon systems, which
19878 makes CD detection hang.
19879
19880 2008-03-26 Pavel Roskin <proski@gnu.org>
19881
19882 * normal/color.c (grub_parse_color_name_pair): Make `name' a
19883 const.
19884 * include/grub/normal.h: Add grub_parse_color_name_pair()
19885 declaration.
19886
19887 2008-03-24 Bean <bean123ch@gmail.com>
19888
19889 * disk/i386/pc/biosdisk.c (cd_start): Removed.
19890 (cd_count): Removed.
19891 (cd_drive): New variable.
19892 (grub_biosdisk_get_drive): Don't check for (cdN) device.
19893 (grub_biosdisk_call_hook): Likewise.
19894 (grub_biosdisk_iterate): Change cdrom detection method.
19895 (grub_biosdisk_open): Replace cd_start with cd_drive.
19896 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
19897 detect cdrom device.
19898
19899 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
19900 Removed.
19901 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
19902 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
19903 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
19904 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
19905 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
19906 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
19907 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
19908 (grub_biosdisk_cdrp): New structure.
19909 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
19910
19911 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
19912
19913 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
19914 device.
19915
19916 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
19917 New function.
19918
19919 2008-03-20 Robert Millan <rmh@aybabtu.com>
19920
19921 Remove 2 TiB limit in ata.mod.
19922 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
19923 (grub_ata_dumpinfo): Print sector count with 0x%llx.
19924 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
19925 grub_uint64_t instead of grub_uint32_t.
19926
19927 2008-03-05 Bean <bean123ch@gmail.com>
19928
19929 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
19930 (grub_multiboot): Set boot device.
19931
19932 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
19933
19934 2008-03-02 Bean <bean123ch@gmail.com>
19935
19936 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
19937 symlink_buffer.
19938
19939 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
19940
19941 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
19942 texinfo.tex.
19943
19944 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
19945 modified.
19946
19947 * docs/fdl.texi: New file.
19948
19949 * docs/mdate-sh: New file. Copied from gnulib.
19950 * docs/texinfo.tex: Likewise.
19951
19952 * config.guess: Updated from gnulib.
19953 * install-sh: Likewise.
19954
19955 2008-02-28 Robert Millan <rmh@aybabtu.com>
19956
19957 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
19958 (aout_mod_SOURCES): New variable.
19959 (aout_mod_CFLAGS): Likewise.
19960 (aout_mod_LDFLAGS): Likewise.
19961
19962 * conf/i386-ieee1275.rmk: Likewise.
19963
19964 2008-02-28 Robert Millan <rmh@aybabtu.com>
19965
19966 * util/update-grub.in: Reorganise terminal validity check. Accept
19967 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
19968 Based on suggestion by Franklin PIAT.
19969
19970 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
19971
19972 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
19973 function.
19974 * util/getroot.c (grub_util_check_block_device): New function that
19975 returns the given argument if it is a block device and returns NULL else.
19976 * util/grub-probe.c (argument_is_device): New variable.
19977 (probe): Promote device_name from a variable to an argument. Receive
19978 device_name from grub_util_check_block_device() if path is NULL and from
19979 grub_guess_root_device() else. Do not free() device_name anymore.
19980 (options): Introduce new parameter '-d, --device'.
19981 (main): Add description of the new parameter to the help screen.
19982 Rename path variable to argument. Set argument_is_device if the '-d'
19983 option is given. Pass argument to probe() depending on
19984 argument_is_device.
19985
19986 2008-02-24 Bean <bean123ch@gmail.com>
19987
19988 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
19989 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
19990 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
19991 (GRUB_ISO9660_VOLDESC_PART): Likewise.
19992 (GRUB_ISO9660_VOLDESC_END): Likewise.
19993 (grub_iso9660_primary_voldesc): New member escape.
19994 (grub_iso9660_data): New member joliet.
19995 (grub_iso9660_convert_string): New function.
19996 (grub_iso9660_mount): Detect joliet extension.
19997 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
19998 (grub_iso9660_iso9660_label): Likewise.
19999
20000 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
20001 (grub_setup_SOURCES): Add fs/udf.c.
20002 (grub_fstest_SOURCES): Likewise.
20003 (udf_mod_SOURCES): New variable.
20004 (udf_mod_CFLAGS): Likewise.
20005 (udf_mod_LDFLAGS): Likewise.
20006
20007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
20008 (grub_emu_SOURCES): Likewise.
20009
20010 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20011
20012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20013
20014 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20015
20016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20017
20018 * fs/udf.c: New file.
20019
20020 2008-02-24 Robert Millan <rmh@aybabtu.com>
20021
20022 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
20023 (normal/lexer.c_DEPENDENCIES): New variables.
20024 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20025 (normal/lexer.c_DEPENDENCIES): Likewise.
20026 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
20027 (normal/lexer.c_DEPENDENCIES): Likewise.
20028 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
20029 (normal/lexer.c_DEPENDENCIES): Likewise.
20030 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20031 (normal/lexer.c_DEPENDENCIES): Likewise.
20032 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20033 (normal/lexer.c_DEPENDENCIES): Likewise.
20034
20035 2008-02-23 Robert Millan <rmh@aybabtu.com>
20036
20037 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
20038 since they were intended to be in hex. This didn't break previously
20039 because of a bug in gpt_partition_map_iterate() (see below).
20040
20041 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
20042 when checking the validity of GPT header.
20043 Remove `partno', since it always provides the same information as `i'.
20044
20045 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
20046
20047 * include/grub/efi/time.h: Fix a wrong comment.
20048
20049 2008-02-19 Pavel Roskin <proski@gnu.org>
20050
20051 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
20052 message.
20053
20054 2008-02-19 Bean <bean123ch@gmail.com>
20055
20056 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
20057 (aout_mod_SOURCES): New variable.
20058 (aout_mod_CFLAGS): Likewise.
20059 (aout_mod_LDFLAGS): Likewise.
20060 (_bsd_mod_SOURCES): New variable.
20061 (_bsd_mod_CFLAGS): Likewise.
20062 (_bsd_mod_LDFLAGS): Likewise.
20063 (bsd_mod_SOURCES): New variable.
20064 (bsd_mod_CFLAGS): Likewise.
20065 (bsd_mod_LDFLAGS): Likewise.
20066
20067 * include/grub/aout.h: New file.
20068
20069 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
20070
20071 * include/grub/i386/bsd.h: New file.
20072
20073 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
20074 to make it public.
20075
20076 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
20077 function is called, so that it's possible to change it inside the hook.
20078 (grub_elf64_load): Likewise.
20079 (grub_elf_file): Don't close the file if elf header is not found.
20080 (grub_elf_close): Close the file if grub_elf_file fails (The new
20081 grub_elf_file won't close it).
20082 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
20083 (grub_elf64_size): Likewise.
20084
20085 * kern/i386/loader.S (grub_unix_real_boot): New function.
20086
20087 * loader/aout.c: New file.
20088
20089 * loader/i386/bsd.c: New file.
20090
20091 * loader/i386/bsd_normal.c: New file.
20092
20093 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
20094
20095 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
20096 can test other formats.
20097
20098 2008-02-19 Robert Millan <rmh@aybabtu.com>
20099
20100 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
20101 (grub_gpt_partition_type_empty): Redefine with macro from
20102 `<grub/gpt_partition.h>'.
20103 (gpt_partition_map_iterate): Adjust partition type comparison.
20104
20105 Export `entry' as partmap-specific `part.data' struct.
20106 (grub_gpt_header, grub_gpt_partentry): Move from here ...
20107
20108 * include/grub/gpt_partition.h (grub_gpt_header)
20109 (grub_gpt_partentry): ... to here (new file).
20110
20111 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
20112
20113 (grub_gpt_partition_type_bios_boot): New const variable, defined
20114 with macro from `<grub/gpt_partition.h>'.
20115
20116 (setup): Replace `first_start' with `embed_region', which keeps
20117 track of the embed region (and is partmap-agnostic).
20118
20119 Replace find_first_partition_start() with find_usable_region(),
20120 which finds a usable region for embedding using partmap-specific
20121 knowledge (supports PC/MSDOS and GPT).
20122
20123 Fix all assumptions that the embed region start at sector 1, using
20124 `embed_region.start' from now on. Similarly, use `embed_region.end'
20125 rather than `first_start' to calculate available size.
20126
20127 In grub_util_info() message, replace "into after the MBR" with an
20128 indication of the specific sector our embed region starts at.
20129
20130 2008-02-19 Robert Millan <rmh@aybabtu.com>
20131
20132 * DISTLIST: Replace `commands/ieee1275/halt.c' and
20133 `commands/ieee1275/reboot.c' with `commands/halt.c' and
20134 `commands/reboot.c'.
20135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
20136 (halt_mod_SOURCES): Likewise.
20137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
20138 (halt_mod_SOURCES): Likewise.
20139
20140 2008-02-17 Christian Franke <franke@computer.org>
20141
20142 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
20143
20144 2008-02-17 Robert Millan <rmh@aybabtu.com>
20145
20146 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
20147 set `first_start' to 0 for non-PC/MSDOS partition maps.
20148
20149 2008-02-16 Robert Millan <rmh@aybabtu.com>
20150
20151 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
20152 do not assume partition map is PC/MSDOS before performing checks that
20153 are specific to that layout.
20154
20155 2008-02-13 Robert Millan <rmh@aybabtu.com>
20156
20157 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
20158 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
20159 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
20160
20161 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
20162
20163 * configure.ac: Only a cosmetic change on the handling of
20164 -fno-stack-protector.
20165
20166 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
20167
20168 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
20169 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
20170 reboot.c.
20171 (grub_install_SOURCES): Add halt.mod and reboot.mod.
20172 (halt_mod_SOURCES): New variable.
20173 (halt_mod_CFLAGS): Likewise.
20174 (halt_mod_LDFLAGS): Likewise.
20175 (reboot_mod_SOURCES): Likewise.
20176 (reboot_mod_CFLAGS): Likewise.
20177 (reboot_mod_LDFLAGS): Likewise.
20178
20179 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
20180 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
20181 reboot.c.
20182 (halt_mod_SOURCES): Likewise.
20183 (reboot_mod_SOURCES): Likewise.
20184
20185 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
20186 commands/i386/pc/reboot.c by commands/reboot.c.
20187 (reboot_mod_SOURCES): Likewise.
20188
20189 * commands/i386/pc/reboot.c: merge this file ...
20190
20191 * commands/ieee1275/reboot.c: ... and this file ...
20192
20193 * commands/reboot.c: ... to this file.
20194 Add some precompiler directive to include the correct header for
20195 each machine.
20196
20197 * commands/ieee1275/halt.c: move this file ...
20198
20199 * commands/halt.c: ... to here.
20200 Add some precompiler directive to include the correct header for
20201 each machine.
20202
20203 * include/grub/efi/efi.h (grub_reboot): New function declaration.
20204 (grub_halt): Likewise.
20205
20206 * kern/efi/efi.c (grub_reboot): New function.
20207 (grub_halt): Likewise.
20208
20209 2008-02-12 Robert Millan <rmh@aybabtu.com>
20210
20211 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
20212 /dev (like it is done for /dev/mapper). This doesn't provide support
20213 for EVMS, but at least it is now easy to identify the problem when it
20214 arises.
20215
20216 2008-02-11 Robert Millan <rmh@aybabtu.com>
20217
20218 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
20219 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
20220 comparing it with -1, not 0.
20221
20222 2008-02-10 Robert Millan <rmh@aybabtu.com>
20223
20224 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
20225 `disk/lvm.c'.
20226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20227 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20228
20229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
20230 `disk/lvm.c' to the end of the list.
20231 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20232 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20233
20234 2008-02-10 Robert Millan <rmh@aybabtu.com>
20235
20236 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
20237 grub_print_error() instead. This will let user know why we're entering
20238 rescue mode.
20239 Based on suggestions from Sam Morris.
20240
20241 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
20242
20243 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
20244 on remaining N args, instead of "--" arg N times.
20245
20246 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
20247
20248 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
20249 (fill_with_default_glyph): Changed to use unknown_glyph for fill
20250 pattern for unknown glyphs.
20251
20252 2008-02-09 Robert Millan <rmh@aybabtu.com>
20253
20254 * configure.ac: Probe for `help2man'.
20255 * Makefile.in (builddir): New variable.
20256 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
20257 or otherwise add a few flags/options to it.
20258 (install-local): For every executable utility or script that is
20259 installed, invoke $(HELP2MAN) to install a manpage based on --help
20260 output.
20261
20262 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
20263 that it doesn't prevent --help from working in build tree.
20264
20265 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
20266 with `bug-grub@gnu.org'.
20267 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
20268 * util/update-grub.in (usage): New function.
20269 Implement proper argument check, with support for --help and --version
20270 (as well as existing -y).
20271
20272 2008-02-09 Christian Franke <franke@computer.org>
20273
20274 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
20275 avoid overwriting previous output.
20276 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
20277
20278 2008-02-09 Robert Millan <rmh@aybabtu.com>
20279
20280 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
20281 drawing the menu.
20282
20283 2008-02-09 Robert Millan <rmh@aybabtu.com>
20284
20285 * commands/sleep.c: New file.
20286 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
20287 (sleep_mod_SOURCES): New variable.
20288 (sleep_mod_CFLAGS): Likewise.
20289 (sleep_mod_LDFLAGS): Likewise.
20290
20291 2008-02-09 Robert Millan <rmh@aybabtu.com>
20292
20293 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
20294 situations in which we can deduce the RAID size and the superblock
20295 doesn't match it.
20296
20297 2008-02-09 Robert Millan <rmh@aybabtu.com>
20298
20299 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
20300 and return a grub_diskmemberlist_t composed of LVM physical volumes.
20301 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
20302
20303 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
20304 and return a grub_diskmemberlist_t composed of physical array members.
20305 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
20306
20307 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
20308 prototype.
20309 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
20310 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
20311 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
20312
20313 * util/grub-probe.c (probe): Move partmap probing code from here ...
20314 (probe_partmap): ... to here.
20315 (probe): Use probe_partmap() once for the disk we're probing, and
20316 additionally, when such disk contains a memberlist() struct member,
20317 once for each disk that is contained in the structure returned by
20318 memberlist().
20319
20320 2008-02-09 Robert Millan <rmh@aybabtu.com>
20321
20322 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
20323 environment variable to 'all' in order to obtain debug output from
20324 non-util/ code.
20325 * util/i386/pc/grub-setup.c (main): Likewise.
20326
20327 2008-02-08 Robert Millan <rmh@aybabtu.com>
20328
20329 * disk/raid.c (grub_raid_scan_device): Check for
20330 `array->device[sb.this_disk.number]' rather than for
20331 `array->device[sb.this_disk.number]->name', since the latter is not
20332 guaranteed to be accessible.
20333
20334 2008-02-08 Robert Millan <rmh@aybabtu.com>
20335
20336 * disk/raid.c: Update copyright.
20337 * fs/cpio.c: Likewise.
20338 * include/grub/raid.h: Likewise.
20339 * loader/i386/pc/multiboot.c: Likewise.
20340 * util/hostfs.c: Likewise.
20341
20342 2008-02-08 Robert Millan <rmh@aybabtu.com>
20343
20344 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
20345 to a grub_disk_t array.
20346 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
20347 `device[x]'.
20348 (grub_raid_scan_device): Replace `device[x].name' accesses with
20349 `device[x]->name'. Simplify initialization of `array->device[x]'.
20350
20351 2008-02-08 Robert Millan <rmh@aybabtu.com>
20352
20353 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
20354 grub_dprintf() calls.
20355 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
20356 error message.
20357
20358 2008-02-07 Christian Franke <franke@computer.org>
20359
20360 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
20361 instead of fseek and ftell to support large files.
20362 (grub_hostfs_read): Likewise.
20363
20364 2008-02-07 Robert Millan <rmh@aybabtu.com>
20365
20366 Patch from Jeroen Dekkers.
20367 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
20368 failure, since successfully reading all array members might not be
20369 required.
20370
20371 2008-02-06 Robert Millan <rmh@aybabtu.com>
20372
20373 * util/grub-probe.c (probe): Simplify partmap probing (with the
20374 assumption that the first word up to the underscore equals to
20375 the module name).
20376
20377 2008-02-06 Christian Franke <franke@computer.org>
20378
20379 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
20380 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
20381 last block of a cpio or tar stream.
20382 Check for "TRAILER!!!" instead of any empty data
20383 block to detect last block of a cpio stream.
20384 (grub_cpio_dir): Fix constness of variable np.
20385 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
20386 cpio or tar trailer is detected. This fixes a crash
20387 on open of a non existing file.
20388
20389 2008-02-05 Bean <bean123ch@gmail.com>
20390
20391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
20392 address of entry.
20393 (grub_multiboot_load_elf64): Likewise.
20394 (grub_multiboot): Initialize mbi structure.
20395
20396 * util/grub-fstest.c: Don't include unused header file script.h.
20397
20398 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
20399 of file.
20400 (grub_fstest_SOURCES): Likewise.
20401
20402 2008-02-05 Robert Millan <rmh@aybabtu.com>
20403
20404 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
20405 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
20406 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
20407 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
20408
20409 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
20410 (translation_table): Replace hardcoded values with macros
20411 provided by `<grub/term.h>'.
20412
20413 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
20414 (keyboard_map): Correct/add a few values, with macros provided
20415 by `<grub/term.h>'.
20416 (keyboard_map_shift): Zero values that don't differ from their
20417 `keyboard_map' equivalents.
20418 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
20419 Discard the second scan code that is always sent by Caps lock.
20420 Only use `keyboard_map_shift' when it provides a non-zero value,
20421 otherwise fallback to `keyboard_map'.
20422
20423 2008-02-04 Bean <bean123ch@gmail.com>
20424
20425 * Makefile.in (enable_grub_fstest): New variable.
20426
20427 * conf/common.rmk (grub_fstest_init.lst): New rule.
20428 (grub_fstest_init.h): Likewise.
20429 (grub_fstest_init.c): Likewise.
20430 (util/grub-fstest.c_DEPENDENCIES): New variable.
20431 (grub_fstest_SOURCES): Likewise.
20432
20433 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20434
20435 * util/grub-fstest.c: New file.
20436
20437 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20438
20439 Make grub-setup handle a separate root device.
20440
20441 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20442 so that the root device can be compared with the destination
20443 device.
20444 When embedding the core image, if the root and destination devices
20445 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20446 0xFF.
20447 When not embedding, set ROOT_DRIVE to 0xFF.
20448
20449 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20450
20451 Add support for having a grub directory in a different drive. This
20452 is still only the data handling part.
20453
20454 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20455 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20456 (grub_root_drive): New variable.
20457
20458 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20459 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20460 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20461 as it was.
20462
20463 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20464
20465 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20466 macro.
20467 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20468
20469 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20470 is bogus, because PXE booting does not specify any drive
20471 correctly.
20472
20473 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20474 am not sure if this is really correct.
20475
20476 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20477 is always identical to the boot drive when booting from a CD.
20478
20479 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20480 longer.
20481 (root_drive): New variable.
20482 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20483 (setup_sectors): Push %dx right after popping it, because %dh will
20484 be modified later.
20485 (copy_buffer): Restore %dx.
20486
20487 2008-02-03 Robert Millan <rmh@aybabtu.com>
20488
20489 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20490 use `cdboot.img' for cdrom images.
20491
20492 2008-02-03 Robert Millan <rmh@aybabtu.com>
20493
20494 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20495 only setup gfxterm when `font' command has succeeded.
20496
20497 2008-02-03 Robert Millan <rmh@aybabtu.com>
20498
20499 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20500 (grub_rescue_cmd_multiboot_loader)
20501 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20502
20503 2008-02-03 Pavel Roskin <proski@gnu.org>
20504
20505 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
20506 %edx and %esi from stack only after grub_gate_a20() is called.
20507 grub_gate_a20() clobbers %edx.
20508
20509 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20510
20511 * configure.ac (AC_INIT): Bumped to 1.96.
20512
20513 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20514 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20515 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20516 video/readers/png.c.
20517
20518 2008-02-03 Bean <bean123ch@gmail.com>
20519
20520 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20521 (cdboot_img_SOURCES): New variable.
20522 (cdboot_img_ASFLAGS): New variable.
20523 (cdboot_img_LDFLAGS): New variable.
20524
20525 * boot/i386/pc/cdboot.S: New file.
20526
20527 * disk/i386/pc/biosdisk.c (cd_start): New variable.
20528 (cd_count): Likewise.
20529 (grub_biosdisk_get_drive): Add support for cd device.
20530 (grub_biosdisk_call_hook): Likewise.
20531 (grub_biosdisk_iterate): Likewise.
20532 (grub_biosdisk_open): Likewise.
20533 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
20534 (grub_biosdisk_rw): Support reading from cd device.
20535 (GRUB_MOD_INIT): Iterate cd devices.
20536
20537 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
20538 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
20539 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
20540
20541 * kern/i386/pc/init.c (make_install_device): Check for cd device.
20542
20543 2008-02-02 Robert Millan <rmh@aybabtu.com>
20544
20545 * commands/read.c: New file.
20546 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
20547 (read_mod_SOURCES): New variable.
20548 (read_mod_CFLAGS): Likewise.
20549 (read_mod_LDFLAGS): Likewise.
20550
20551 2008-02-02 Robert Millan <rmh@aybabtu.com>
20552
20553 * normal/main.c (grub_normal_execute): Check for `menu->size' when
20554 determining whether menu has to be displayed.
20555
20556 2008-02-02 Marco Gerards <marco@gnu.org>
20557
20558 * bus/pci.c: New file.
20559
20560 * include/grub/pci.h: Likewise.
20561
20562 * include/grub/i386/pc/pci.h: Likewise.
20563
20564 * commands/lspci.c: Likewise.
20565
20566 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
20567 `lspci.mod'.
20568 (pci_mod_SOURCES): New variable.
20569 (pci_mod_CFLAGS): Likewise.
20570 (pci_mod_LDFLAGS): Likewise.
20571 (lspci_mod_SOURCES): Likewise.
20572 (lspci_mod_CFLAGS): Likewise.
20573 (lspci_mod_LDFLAGS): Likewise.
20574
20575 2008-02-02 Bean <bean123ch@gmail.com>
20576
20577 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
20578 (grub_ufs_get_file_block): Fix indirect block calculation problem.
20579
20580 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
20581 (grub_xfs_btree_node): New structure.
20582 (grub_xfs_btree_root): New structure.
20583 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
20584 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
20585 (GRUB_XFS_EXTENT_BLOCK): Likewise.
20586 (GRUB_XFS_EXTENT_SIZE): Likewise.
20587 (grub_xfs_read_block): Support btree format type.
20588 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
20589 Use directory block as basic unit.
20590
20591 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
20592
20593 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
20594 __attribute__ ((__regparm__ (1))).
20595
20596 2008-02-01 Robert Millan <rmh@aybabtu.com>
20597
20598 Correct a mistake in previous commit.
20599
20600 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
20601 top.
20602 (normal/command.c_DEPENDENCIES): New variable.
20603
20604 2008-02-01 Robert Millan <rmh@aybabtu.com>
20605
20606 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
20607 top.
20608 (normal/command.c_DEPENDENCIES): New variable.
20609 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
20610 * conf/i386-ieee1275.rmk: Likewise.
20611 * conf/i386-linuxbios.rmk: Likewise.
20612 * conf/i386-pc.rmk: Likewise.
20613 * conf/sparc64-ieee1275.rmk: Likewise.
20614 * conf/powerpc-ieee1275.rmk: Likewise.
20615 (grub_emu_SOURCES): Add `fs/fshelp.c'.
20616
20617 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
20618
20619 2008-02-01 Robert Millan <rmh@aybabtu.com>
20620
20621 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
20622 call at beginning of function.
20623
20624 2008-01-31 Pavel Roskin <proski@gnu.org>
20625
20626 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
20627 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
20628 (grub_mkrescue_SOURCES): Likewise.
20629 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
20630
20631 2008-01-30 Robert Millan <rmh@aybabtu.com>
20632
20633 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
20634 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
20635 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
20636 (grub_probe_SOURCES): ... to here.
20637
20638 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
20639 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
20640 * conf/i386-ieee1275.rmk: Likewise.
20641 * conf/i386-linuxbios.rmk: Likewise.
20642 * conf/powerpc-ieee1275.rmk: Likewise.
20643
20644 2008-01-30 Tristan Gingold <gingold@free.fr>
20645
20646 * kern/rescue.c: Silently accept empty lines.
20647
20648 2008-01-29 Bean <bean123ch@gmail.com>
20649
20650 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
20651 (real_code_2): Code cleanup and change comment style.
20652 (move_memory): Avoid using 32-bit address mode.
20653
20654 2008-01-29 Bean <bean123ch@gmail.com>
20655
20656 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
20657 (png_mod_SOURCES): New variable.
20658 (png_mod_CFLAGS): Likewise.
20659 (png_mod_LDFLAGS): Likewise.
20660
20661 * video/readers/png.c: New file.
20662
20663 2008-01-28 Robert Millan <rmh@aybabtu.com>
20664
20665 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
20666 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
20667 `ifndef GRUB_MOD_GAP' hack.
20668 * util/elf/grub-mkimage.c (add_segments): Likewise.
20669
20670 2008-01-27 Robert Millan <rmh@aybabtu.com>
20671
20672 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
20673 `GRUB_MOD_GAP' for platforms in which it's not defined.
20674 * util/elf/grub-mkimage.c (add_segments): Likewise.
20675
20676 2008-01-27 Robert Millan <rmh@aybabtu.com>
20677
20678 Get grub-emu to build again (including parallel builds).
20679
20680 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
20681 Split into ...
20682 (util/grub-emu.c_DEPENDENCIES): ... this, ...
20683 (normal/execute.c_DEPENDENCIES): ... this, ...
20684 (grub-emu_DEPENDENCIES): ... and this.
20685
20686 * conf/i386-efi.rmk: Likewise.
20687 * conf/i386-linuxbios.rmk: Likewise.
20688 * conf/i386-ieee1275.rmk: Likewise.
20689 * conf/powerpc-ieee1275.rmk: Likewise.
20690 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
20691
20692 2008-01-27 Robert Millan <rmh@aybabtu.com>
20693
20694 * NEWS: Add a few items.
20695
20696 2008-01-27 Robert Millan <rmh@aybabtu.com>
20697
20698 Fix parallel builds with grub-emu. Based on earlier commit for
20699 grub-probe and grub-setup.
20700
20701 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20702 (util/grub-emu.c_DEPENDENCIES): ... this.
20703 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20704 (util/grub-emu.c_DEPENDENCIES): ... this.
20705 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20706 (util/grub-emu.c_DEPENDENCIES): ... this.
20707 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20708 (util/grub-emu.c_DEPENDENCIES): ... this.
20709 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
20710 (util/grub-emu.c_DEPENDENCIES): ... this.
20711
20712 2008-01-27 Pavel Roskin <proski@gnu.org>
20713
20714 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
20715 to create a gap between _end and the modules added to the image
20716 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
20717 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
20718 * util/elf/grub-mkimage.c (add_segments): Likewise.
20719
20720 2008-01-26 Pavel Roskin <proski@gnu.org>
20721
20722 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
20723 just return an error.
20724
20725 2008-01-26 Bean <bean123ch@gmail.com>
20726
20727 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
20728 (grub_reiserfs_get_item): Save offset of the next item.
20729 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
20730
20731 2008-01-25 Robert Millan <rmh@aybabtu.com>
20732
20733 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
20734 make all filesystem sources appear together (possibly fixing omissions
20735 while at it).
20736 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20737 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20738 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20740
20741 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
20742 add `kern/file.c'.
20743 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
20744 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20745 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
20746 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
20747
20748 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
20749 (probe): Add a sanity check to make sure of our ability to read
20750 requested files when probing for filesystem type.
20751
20752 * genmk.rb: Update copyright year (2007).
20753
20754 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
20755 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
20756 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
20757 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
20758 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
20759 : Remove function prototypes.
20760
20761 2008-01-25 Robert Millan <rmh@aybabtu.com>
20762
20763 Revert my previous commits (based on wrong assumption of how grub_errno
20764 works).
20765
20766 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
20767 * kern/file.c (grub_file_open): Likewise.
20768
20769 2008-01-24 Pavel Roskin <proski@gnu.org>
20770
20771 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
20772 that hang if GRUB tries to setup colors.
20773 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
20774 colors for firmwares that don't support it.
20775 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
20776 Recognize Open Hack'Ware, set flags to work around its
20777 limitations.
20778
20779 2008-01-24 Robert Millan <rmh@aybabtu.com>
20780
20781 * kern/file.c (grub_file_open): Do not account previous failures of
20782 unrelated functions when grub_errno is checked for.
20783 Reported by Oleg Strikov.
20784
20785 2008-01-24 Bean <bean123ch@gmail.com>
20786
20787 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
20788 (grub_ufs_sblock): New member volume name.
20789 (grub_ufs_find_file): Fix string copy bug.
20790 (grub_ufs_label): Implement this function properly.
20791
20792 * fs/hfs.c (grub_hfs_cnid_type): New enum.
20793 (grub_hfs_iterate_records): Use the correct file number for extents
20794 and catalog file. Fix problem in next index calculation.
20795 (grub_hfs_find_node): Replace recursive function call with loop.
20796 (grub_hfs_iterate_dir): Replace recursive function call with loop.
20797
20798 2008-01-23 Robert Millan <rmh@aybabtu.com>
20799
20800 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
20801 `<grub/symbol.h>' and `<grub/multiboot.h>'.
20802 (grub_multiboot2_real_boot): New function prototype.
20803
20804 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
20805 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
20806
20807 * kern/i386/ieee1275/init.c (grub_os_area_addr)
20808 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
20809
20810 2008-01-23 Robert Millan <rmh@aybabtu.com>
20811
20812 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
20813 #ifdef'ed out grub_printf().
20814
20815 2008-01-23 Robert Millan <rmh@aybabtu.com>
20816
20817 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
20818 grub_dprintf calls, since they make "debug=all" mode unusable.
20819 (grub_console_checkkey): Likewise.
20820
20821 2008-01-23 Robert Millan <rmh@aybabtu.com>
20822
20823 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20824 `term/i386/pc/at_keyboard.c'.
20825 (pkglib_MODULES): Add `serial.mod'.
20826 (serial_mod_SOURCES): New variable.
20827 (serial_mod_CFLAGS): Likewise.
20828 (serial_mod_LDFLAGS): Likewise.
20829
20830 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
20831 `<grub/powerpc/ieee1275/console.h>'.
20832 (grub_keyboard_controller_init): New function prototype.
20833 (grub_console_checkkey): Likewise.
20834 (grub_console_getkey): Likewise.
20835
20836 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
20837 keyboard on i386.
20838
20839 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
20840 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
20841
20842 2008-01-23 Robert Millan <rmh@aybabtu.com>
20843
20844 * kern/i386/pc/init.c (make_install_device): When memdisk image is
20845 present, "(memdisk)/boot/grub" becomes the default prefix.
20846
20847 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
20848 a memdisk tarball with all the modules. Add --overlay=DIR option that
20849 allows users to overlay additional files into the image.
20850
20851 2008-01-23 Robert Millan <rmh@aybabtu.com>
20852
20853 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
20854 and `machine/memory.h'.
20855 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
20856 (_multiboot_mod_SOURCES): New variable.
20857 (_multiboot_mod_CFLAGS): Likewise.
20858 (_multiboot_mod_LDFLAGS): Likewise.
20859 (multiboot_mod_SOURCES): Likewise.
20860 (multiboot_mod_CFLAGS): Likewise.
20861 (multiboot_mod_LDFLAGS): Likewise.
20862
20863 * include/grub/i386/ieee1275/loader.h: New file.
20864
20865 * include/grub/i386/ieee1275/machine.h: Likewise.
20866
20867 * include/grub/i386/ieee1275/memory.h: Likewise.
20868
20869 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
20870 variable declaration.
20871 (grub_os_area_size): Likewise.
20872
20873 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
20874 (grub_lower_mem, grub_upper_mem): New variables.
20875 (grub_stop_floppy): New function (just to make
20876 grub_multiboot2_real_boot() happy).
20877
20878 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
20879 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
20880 (grub_stop): New function.
20881 Include `"../realmode.S"' and `"../loader.S"'.
20882
20883 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
20884 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
20885
20886 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
20887 rely on grub_multiboot2_real_boot() for final boot.
20888
20889 2008-01-22 Robert Millan <rmh@aybabtu.com>
20890
20891 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
20892 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
20893 device that doesn't look like an SD card.
20894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20895 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
20896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
20897 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
20898 found.
20899
20900 2008-01-22 Robert Millan <rmh@aybabtu.com>
20901
20902 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
20903 avoid claiming over our own code.
20904
20905 2008-01-22 Bean <bean123ch@gmail.com>
20906
20907 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
20908 (jpeg_mod_SOURCES): New variable.
20909 (jpeg_mod_CFLAGS): Likewise.
20910 (jpeg_mod_LDFLAGS): Likewise.
20911
20912 * video/readers/jpeg.c : New file.
20913
20914 2008-01-22 Bean <bean123ch@gmail.com>
20915
20916 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
20917 there are no more items.
20918
20919 2008-01-21 Robert Millan <rmh@aybabtu.com>
20920
20921 * kern/mm.c (grub_mm_init_region): Improve debug message.
20922
20923 2008-01-21 Robert Millan <rmh@aybabtu.com>
20924
20925 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
20926 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
20927 address.
20928 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
20929 a C macro.
20930 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
20931 Indicates start of upper memory.
20932 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
20933 (generate_image): Abort when image size is big enough to corrupt
20934 upper memory.
20935
20936 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
20937 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
20938 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20939 instead of hardcoding 0xA0000.
20940 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
20941 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
20942 instead of hardcoding 0xA0000.
20943
20944 2008-01-21 Robert Millan <rmh@aybabtu.com>
20945
20946 * disk/memdisk.c (memdisk_size): New variable.
20947 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
20948 `memdisk_size'.
20949 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
20950 image to dynamic memory.
20951 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
20952 `memdisk_size'. Free memdisk block.
20953
20954 2008-01-21 Robert Millan <rmh@aybabtu.com>
20955
20956 Fix detection of very small filesystems (like tar).
20957
20958 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
20959 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
20960 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
20961 a problem with this disk).
20962
20963 2008-01-21 Robert Millan <rmh@aybabtu.com>
20964
20965 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
20966 on grub_biosdisk_rw_standard() error.
20967
20968 2008-01-21 Robert Millan <rmh@aybabtu.com>
20969
20970 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
20971 recent changes.
20972 * kern/elf.c: Likewise.
20973 * kern/ieee1275/ieee1275.c: Likewise.
20974 * kern/powerpc/ieee1275/openfw.c: Likewise.
20975 * term/ieee1275/ofconsole.c: Likewise.
20976
20977 2008-01-21 Robert Millan <rmh@aybabtu.com>
20978
20979 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
20980
20981 * include/grub/kernel.h (grub_arch_memdisk_addr)
20982 (grub_arch_memdisk_size): Moved from here ...
20983
20984 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
20985 (grub_arch_memdisk_size): ... to here.
20986
20987 2008-01-21 Robert Millan <rmh@aybabtu.com>
20988
20989 Mostly based on bugfix from Bean.
20990
20991 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
20992 attribute with hook() parameter.
20993 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
20994 declaration.
20995 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
20996 attribute with hook() parameter.
20997 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
20998 declaration.
20999
21000 2008-01-21 Robert Millan <rmh@aybabtu.com>
21001
21002 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
21003 (pkglib_MODULES): Add `memdisk.mod'.
21004 (memdisk_mod_SOURCES): New variable.
21005 (memdisk_mod_CFLAGS): Likewise.
21006 (memdisk_mod_LDFLAGS): Likewise.
21007
21008 * disk/memdisk.c: New file.
21009
21010 * include/grub/disk.h (grub_disk_dev_id): Add
21011 `GRUB_DISK_DEVICE_MEMDISK_ID'.
21012
21013 * include/grub/i386/pc/kernel.h
21014 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
21015 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
21016 (grub_kernel_image_size): New variable declaration.
21017 (grub_total_module_size): Likewise.
21018 (grub_memdisk_image_size): Likewise.
21019
21020 * include/grub/i386/pc/memory.h
21021 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
21022
21023 * include/grub/kernel.h: Include `<grub/symbol.h>'.
21024 (grub_arch_memdisk_addr): New variable declaration.
21025 (grub_arch_memdisk_size): Likewise.
21026
21027 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
21028 (grub_arch_memdisk_size): Likewise.
21029
21030 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
21031 (codestart): Replace hardcoded `0x100000' with
21032 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
21033
21034 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
21035 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
21036 not NULL, append the contents of the file it refers to, at the end of
21037 the compressed kernel image. Initialize `grub_memdisk_image_size'
21038 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
21039 (options): Add "memdisk"|'m' option.
21040 (main): Parse --memdisk|-m option, and pass user-provided path as
21041 parameter to generate_image().
21042
21043 2008-01-20 Robert Millan <rmh@aybabtu.com>
21044
21045 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
21046 grub_dprintf() calls from here ...
21047 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
21048
21049 2008-01-20 Robert Millan <rmh@aybabtu.com>
21050
21051 Fix detection of "real mode" when /options/real-mode? doesn't exist.
21052
21053 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
21054 declaration.
21055 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
21056 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
21057 `GRUB_IEEE1275_FLAG_REAL_MODE'.
21058 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
21059 property).
21060 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
21061 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
21062
21063 2008-01-19 Robert Millan <rmh@aybabtu.com>
21064
21065 Get rid of confusing function (superseded by
21066 `grub_ieee1275_get_integer_property')
21067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
21068 prototype.
21069 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
21070 function.
21071 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
21072 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
21073 in native endianness from grub_ieee1275_get_integer_property().
21074
21075 2008-01-19 Robert Millan <rmh@aybabtu.com>
21076
21077 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
21078 command after "shut-down", since implementations differ on which
21079 the command for halt is.
21080
21081 2008-01-19 Robert Millan <rmh@aybabtu.com>
21082
21083 * include/grub/i386/linuxbios/console.h: Add header protection.
21084 (grub_keyboard_controller_init): New function prototype.
21085 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
21086 (KEYBOARD_COMMAND_READ): Likewise.
21087 (KEYBOARD_COMMAND_WRITE): Likewise.
21088 (KEYBOARD_SCANCODE_SET1): Likewise.
21089 (grub_keyboard_controller_write): New function.
21090 (grub_keyboard_controller_read): Likewise.
21091 (grub_keyboard_controller_init): Likewise.
21092
21093 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
21094 (grub_console_init): On coreboot/LinuxBIOS, call
21095 grub_keyboard_controller_init().
21096
21097 2008-01-19 Robert Millan <rmh@aybabtu.com>
21098
21099 PowerPC changes provided by Pavel Roskin.
21100
21101 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
21102 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
21103 don't rely on cmain() doing it.
21104 * kern/i386/ieee1275/startup.S (_start): Store %eax in
21105 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
21106
21107 2008-01-16 Robert Millan <rmh@aybabtu.com>
21108
21109 * include/grub/i386/linuxbios/memory.h
21110 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
21111 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
21112 receive `table_header' as argument. Instead, probe for it in the
21113 known memory ranges where it can be present.
21114 (grub_available_iterate): Do not pass a fixed `table_header' address
21115 to grub_linuxbios_table_iterate().
21116
21117 2008-01-15 Robert Millan <rmh@aybabtu.com>
21118
21119 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
21120 * conf/i386-ieee1275.rmk: New file.
21121 * include/grub/i386/ieee1275/console.h: Likewise.
21122 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
21123 * include/grub/i386/ieee1275/kernel.h: Likewise.
21124 * include/grub/i386/ieee1275/time.h: Likewise.
21125 * kern/i386/ieee1275/init.c: Likewise.
21126 * kern/i386/ieee1275/startup.S: Likewise.
21127
21128 2008-01-15 Robert Millan <rmh@aybabtu.com>
21129
21130 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
21131 when pointers are 32-bit (but still do set it to one when they are
21132 64-bit).
21133
21134 2008-01-15 Robert Millan <rmh@aybabtu.com>
21135
21136 * include/grub/ieee1275/ieee1275.h
21137 (grub_ieee1275_get_integer_property): New function prototype.
21138
21139 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
21140 (grub_ieee1275_get_integer_property): New function. Wraps around
21141 grub_ieee1275_get_property() to handle endianness.
21142
21143 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
21144 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
21145 where appropriate.
21146 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
21147 (grub_map): Likewise.
21148 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
21149
21150 2008-01-15 Bean <bean123ch@gmail.com>
21151
21152 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
21153 (grub_script_execute_cmdline): Reset grub_errno.
21154
21155 * normal/main.c (read_config_file): Reset grub_errno.
21156
21157 * normal/parse.y (script_init): New.
21158 (script): Move function and menuentry here.
21159 (delimiter): New.
21160 (command): Add delimiter at the end of command.
21161 (commands): Adjust to match the new command.
21162 (commandblock): Remove grub_script_lexer_record_start.
21163 (menuentry): Add grub_script_lexer_record_start, use the new commands.
21164 (if): Use the new commands.
21165
21166 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
21167
21168 2008-01-15 Robert Millan <rmh@aybabtu.com>
21169
21170 * normal/menu.c (run_menu): Move timeout message from here ...
21171 (print_timeout): ... to here.
21172 (run_menu): Use print_timeout() once during initial draw to print
21173 the whole message, and again in every clock tick to update only
21174 the number of seconds.
21175
21176 2008-01-15 Robert Millan <rmh@aybabtu.com>
21177
21178 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
21179 actual size of `available' from grub_ieee1275_get_property(), and
21180 restrict parsing to that bound.
21181
21182 2008-01-15 Christian Franke <franke@computer.org>
21183
21184 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
21185 (argp_program_version): Remove variable.
21186 (argp_program_bug_address): Likewise.
21187 (options): Convert from struct argp_option to struct option.
21188 (struct arguments): Remove.
21189 (parse_opt): Remove.
21190 (usage): New function.
21191 (main): Replace struct args members by simple variables.
21192 Replace argp_parse() by getopt_long().
21193 Add switch to evaluate options.
21194 Add missing "(...)" around root_dev in prefix string.
21195
21196 2008-01-14 Robert Millan <rmh@aybabtu.com>
21197
21198 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
21199 for grub_ieee1275_exit(), in order to improve portability.
21200
21201 2008-01-14 Robert Millan <rmh@aybabtu.com>
21202
21203 * util/grub.d/10_linux.in (prefix): Define.
21204 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
21205
21206 2008-01-13 Pavel Roskin <proski@gnu.org>
21207
21208 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
21209 grub_errno if no errors have been detected.
21210
21211 2008-01-12 Robert Millan <rmh@aybabtu.com>
21212
21213 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
21214 (grub_util_get_dev_abstraction): New function prototype.
21215
21216 * util/getroot.c: Include `<grub/util/getroot.h>'
21217 (grub_util_get_grub_dev): Move detection of abstraction type to ...
21218 (grub_util_get_dev_abstraction): ... here (new function).
21219
21220 * util/grub-probe.c: Convert PRINT_* to an enum. Add
21221 `PRINT_ABSTRACTION'.
21222 (probe): Probe for abstraction type when requested.
21223 (main): Understand `--target=abstraction'.
21224
21225 * util/i386/efi/grub-install.in: Add abstraction module to core
21226 image when it is found to be necessary.
21227 * util/i386/pc/grub-install.in: Likewise.
21228 * util/powerpc/ieee1275/grub-install.in: Likewise.
21229
21230 * util/update-grub_lib.in (font_path): Return system path without
21231 converting to GRUB path.
21232 * util/update-grub.in: Convert system path returned by font_path()
21233 to a GRUB path. Use `grub-probe -t abstraction' to determine what
21234 abstraction module is needed for loading fonts (if any). Export
21235 that as `GRUB_PRELOAD_MODULES'.
21236 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
21237 insmod commands).
21238
21239 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
21240
21241 Remove some unused code from reiserfs.
21242
21243 * fs/reiserfs.c (struct grub_reiserfs_key)
21244 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
21245 (struct grub_reiserfs_node_body): Removed.
21246 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
21247 Likewise.
21248 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21249 Likewise.
21250 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21251 Likewise.
21252 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21253 Likewise.
21254 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
21255 Likewise.
21256 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
21257 Likewise.
21258 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21259 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21260 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21261
21262 2008-01-10 Robert Millan <rmh@aybabtu.com>
21263
21264 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
21265 Determines if a file is garbage left by packaging systems, etc.
21266 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
21267 for processing /etc/grub.d scripts.
21268 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
21269 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
21270 as a condition for processing Linux images.
21271
21272 2008-01-10 Pavel Roskin <proski@gnu.org>
21273
21274 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
21275 to compile reiserfs.c on PowerPC.
21276
21277 2008-01-10 Robert Millan <rmh@aybabtu.com>
21278
21279 * kern/device.c (grub_device_iterate): Do not abort device iteration
21280 when one of the devices cannot be opened.
21281 * kern/disk.c (grub_disk_open): Do not account previous failures of
21282 unrelated functions when grub_errno is checked for.
21283
21284 2008-01-08 Robert Millan <rmh@aybabtu.com>
21285
21286 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
21287 `! grub_linux_is_bzimage', change order of address comparison to make
21288 it more intuitive, and improve "too big zImage" error message.
21289
21290 2008-01-08 Robert Millan <rmh@aybabtu.com>
21291
21292 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
21293 `$(update-grub_DATA)'.
21294 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
21295 targets.
21296
21297 2008-01-07 Robert Millan <rmh@aybabtu.com>
21298
21299 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
21300 which instruction is modified by grub-setup during installation
21301 (since it wasn't obvious by only looking at this file).
21302
21303 2008-01-07 Robert Millan <rmh@aybabtu.com>
21304
21305 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
21306 listing actual TODO items.
21307
21308 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21309
21310 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
21311 correctly.
21312 (grub_reiserfs_get_key_offset): Likewise.
21313 (grub_reiserfs_set_key_offset): Likewise.
21314 (grub_reiserfs_set_key_type): Likewise.
21315 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
21316
21317 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
21318 better to remove the bitfield version completely.
21319
21320 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21321
21322 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
21323 allocated from the heap, due to the fshelp implementation.
21324 (grub_reiserfs_dir): Free NODE, due to the same reason.
21325
21326 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21327
21328 Mostly from Vincent Pelletier:
21329
21330 * fs/reiserfs.c: New file.
21331
21332 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
21333 (reiserfs_mod_SOURCES): New variable.
21334 (reiserfs_mod_CFLAGS): Likewise.
21335 (reiserfs_mod_LDFLAGS): Likewise.
21336
21337 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
21338 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
21339 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
21340 normal/color.c.
21341
21342 2008-01-06 Robert Millan <rmh@aybabtu.com>
21343
21344 * normal/color.c: Remove `<grub/env.h>'.
21345
21346 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
21347
21348 * include/grub/normal.h: Include <grub/env.h>.
21349
21350 2008-01-05 Robert Millan <rmh@aybabtu.com>
21351
21352 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
21353 usage example with `(hd0,1)'.
21354 Reported by Samuel Thibault.
21355
21356 2008-01-05 Robert Millan <rmh@aybabtu.com>
21357
21358 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
21359 (grub_linux_boot_zimage): Rename to ...
21360 (grub_linux_boot): ... this.
21361 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
21362 (grub_linux_boot_zimage): Conditionalize zImage copy.
21363
21364 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
21365 (grub_linux_boot_bzimage): Remove prototype.
21366 (grub_linux_boot_zimage): Rename to ...
21367 (grub_linux_boot): ... this.
21368
21369 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
21370 (grub_linux_boot): Remove function.
21371
21372 2008-01-05 Robert Millan <rmh@aybabtu.com>
21373
21374 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
21375 (grub_env_write_color_highlight): Likewise.
21376 (grub_wait_after_message): Likewise.
21377
21378 * normal/color.c: New file.
21379
21380 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21381 (normal_mod_DEPENDENCIES): Likewise.
21382
21383 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21384 (normal_mod_DEPENDENCIES): Likewise.
21385
21386 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21387 (normal_mod_DEPENDENCIES): Likewise.
21388
21389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21390 (normal_mod_DEPENDENCIES): Likewise.
21391
21392 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
21393 for waiting after a message is printed.
21394 * normal/main.c (read_config_file): Likewise.
21395 (grub_normal_init): Register grub_env_write_color_normal() and
21396 grub_env_write_color_highlight() hooks. Mark `color_normal' and
21397 `color_highlight' variables as global.
21398
21399 * normal/menu.c (grub_wait_after_message): New function.
21400 (grub_color_menu_normal): New variable. Replaces ...
21401 (GRUB_COLOR_MENU_NORMAL): ... this macro.
21402 (grub_color_menu_highlight): New variable. Replaces ...
21403 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
21404 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
21405 `GRUB_TERM_COLOR_STANDARD'.
21406 (print_message): Use `grub_setcolorstate' to reload colors. Rename
21407 `normal_code' and `highlight_code' to `old_color_normal' and
21408 `old_color_highlight', respectively.
21409 (grub_menu_init_page): Update colors when drawing the menu, based on
21410 `menu_color_normal' and `menu_color_highlight' variables.
21411 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
21412 a message is printed.
21413
21414 2008-01-05 Robert Millan <rmh@aybabtu.com>
21415
21416 * kern/env.c (grub_env_context_open): Propagate hooks for global
21417 variables to new context.
21418
21419 * kern/main.c (grub_set_root_dev): Export `root' variable.
21420
21421 2008-01-05 Robert Millan <rmh@aybabtu.com>
21422
21423 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
21424 discs unconditionally, since udev and others have options to provide
21425 them.
21426
21427 2008-01-05 Robert Millan <rmh@aybabtu.com>
21428
21429 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21430
21431 2008-01-04 Christian Franke <franke@computer.org>
21432
21433 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21434 of eisa_mmap.
21435
21436 2008-01-03 Pavel Roskin <proski@gnu.org>
21437
21438 * kern/i386/linuxbios/init.c: Put "void" to all function
21439 declarations with no arguments.
21440 * kern/powerpc/ieee1275/init.c: Likewise.
21441 * term/i386/pc/at_keyboard.c: Likewise.
21442 * term/i386/pc/vga_text.c: Likewise.
21443 * util/grub-mkdevicemap.c: Likewise.
21444
21445 2008-01-02 Robert Millan <rmh@aybabtu.com>
21446
21447 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21448 message when loaded image is out of bounds.
21449 (grub_multiboot_load_elf64): Likewise.
21450
21451 2008-01-02 Pavel Roskin <proski@gnu.org>
21452
21453 * util/grub.d/10_linux.in: Try version without ".old" when
21454 looking for initrd. It's better to use initrd from the newer
21455 kernel of the same version than no initrd at all.
21456
21457 2008-01-01 Robert Millan <rmh@aybabtu.com>
21458
21459 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21460
21461 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21462
21463 * include/grub/video.h: Added grub_video_unmap_color and
21464 grub_video_get_active_render_target.
21465 (grub_video_adapter): Added unmap_color and get_active_render_target.
21466
21467 * video/video.c: Added grub_video_unmap_color and
21468 grub_video_get_active_render_target.
21469 (grub_video_get_info): Changed method to accept NULL pointer as an
21470 argument to allow detection of active video adapter.
21471
21472 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21473 grub_video_vbe_unmap_color_int.
21474 Added grub_video_vbe_unmap_color and
21475 grub_video_vbe_get_active_render_target.
21476 (grub_video_vbe_adapter): Added unmap_color and
21477 get_active_render_target.
21478
21479 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
21480 with grub_video_vbe_unmap_color_int.
21481
21482 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21483 (DEFAULT_NORMAL_COLOR): Likewise.
21484 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21485 (DEFAULT_FG_COLOR): Removed.
21486 (DEFAULT_BG_COLOR): Likewise.
21487 (DEFAULT_CURSOR_COLOR): Changed value.
21488 (grub_virtual_screen): Added standard_color_setting,
21489 normal_color_setting, highlight_color_setting and term_color.
21490 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21491 (bitmap_width): Added.
21492 (bitmap_height): Likewise.
21493 (bitmap): Likewise.
21494 (set_term_color): Likewise.
21495 (grub_virtual_screen_setup): Changed to use new terminal coloring
21496 settings.
21497 (grub_gfxterm_init): Added init for bitmap.
21498 (grub_gfxterm_fini): Added destroy for bitmap.
21499 (redraw_screen_rect): Updated to use background bitmap and new
21500 terminal coloring.
21501 (scroll_up): Added optimization for case when there is no bitmap.
21502 (grub_gfxterm_cls): Fixed to use correct background color.
21503 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21504 coloring.
21505 (grub_virtual_screen_setcolor): Likewise.
21506 (grub_virtual_screen_getcolor): Added.
21507 (grub_gfxterm_background_image_cmd): Likewise.
21508 (grub_video_term): Added setcolor and getcolor.
21509 (MOD_INIT): Added registration of background_image command.
21510 (MOD_TERM): Added unregistration for background_image command.
21511
21512 2007-12-30 Pavel Roskin <proski@gnu.org>
21513
21514 * loader/multiboot_loader.c: Fix multiboot command
21515 unregistration. Fix all typos in the word "multiboot".
21516
21517 2007-12-29 Pavel Roskin <proski@gnu.org>
21518
21519 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21520 support for initrd names used in Fedora.
21521
21522 2007-12-26 Bean <bean123ch@gmail.com>
21523
21524 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
21525 (cpio_mod_SOURCES): New variable.
21526 (cpio_mod_CFLAGS): Likewise.
21527 (cpio_mod_LDFLAGS): Likewise.
21528
21529 * fs/cpio.c: New file.
21530
21531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
21532
21533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21534
21535 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21536
21537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21538
21539 2007-12-25 Robert Millan <rmh@aybabtu.com>
21540
21541 * include/grub/term.h (struct grub_term): Add `getcolor' function.
21542 (grub_getcolor): New function.
21543
21544 * kern/term.c (grub_getcolor): New function.
21545 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
21546 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
21547 (print_entry): Set normal and highlight colors to
21548 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
21549 respectively, before printing and restore them to old
21550 values afterwards.
21551 (grub_menu_init_page): Likewise. Fill an additional colored space
21552 that would otherwise be left blank.
21553
21554 * term/efi/console.c (grub_console_getcolor): New function.
21555 (struct grub_console_term.getcolor): New variable.
21556 * term/i386/pc/console.c (grub_console_getcolor): New function.
21557 (struct grub_console_term.getcolor): New variable.
21558 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
21559 (struct grub_console_term.getcolor): New variable.
21560
21561 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
21562 (struct grub_console_term.setcolor): Remove variable.
21563 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
21564 (struct grub_console_term.setcolor): Remove variable.
21565 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
21566 (struct grub_console_term.setcolor): Remove variable.
21567 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
21568 (struct grub_console_term.setcolor): Remove variable.
21569
21570 2007-12-25 Robert Millan <rmh@aybabtu.com>
21571
21572 * configure.ac: Search for possible unifont.hex locations, and
21573 define UNIFONT_HEX if found.
21574
21575 * Makefile.in (UNIFONT_HEX): Define variable.
21576 (DATA): Rename to ...
21577 (PKGLIB): ... this. Update all users.
21578 (PKGDATA): New variable.
21579 (pkgdata_IMAGES): Rename to ...
21580 (pkglib_IMAGES): ... this. Update all users.
21581 (pkgdata_MODULES): Rename to ...
21582 (pkglib_MODULES): ... this. Update all users.
21583 (pkgdata_PROGRAMS): Rename to ...
21584 (pkglib_PROGRAMS): ... this. Update all users.
21585 (pkgdata_DATA): Rename to ...
21586 (pkglib_DATA): ... this. Update all users.
21587 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
21588 (unicode.pff, ascii.pff): New rules.
21589 (all-local): Add `$(PKGDATA)' dependency.
21590 (install-local): Process `$(PKGDATA)'.
21591
21592 * util/update-grub_lib.in (font_path): Search for *.pff files in
21593 a few more locations, including `${pkgdata}'.
21594
21595 2007-12-23 Robert Millan <rmh@aybabtu.com>
21596
21597 Patch from Bean <bean123ch@gmail.com>:
21598 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
21599 `size'.
21600
21601 2007-12-21 Bean <bean123ch@gmail.com>
21602
21603 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
21604 (ntfscomp_mod_SOURCES): New variable.
21605 (ntfscomp_mod_CFLAGS): Likewise.
21606 (ntfscomp_mod_LDFLAGS): Likewise.
21607
21608 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
21609 (grub_probe_SOURCES): Likewise.
21610 (grub_emu_SOURCES): Likewise.
21611
21612 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21613 (grub_emu_SOURCES): Likewise.
21614
21615 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21616 (grub_emu_SOURCES): Likewise.
21617
21618 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
21619 (grub_emu_SOURCES): Likewise.
21620
21621 * fs/ntfs.c (grub_ntfscomp_func): New variable.
21622 (read_run_list): Renamed to grub_ntfs_read_run_list.
21623 (decomp_nextvcn): Moved to ntfscomp.c.
21624 (decomp_getch): Likewise.
21625 (decomp_get16): Likewise.
21626 (decomp_block): Likewise.
21627 (read_block): Likewise.
21628 (read_data): Partially moved to ntfscomp.c.
21629 (fixup): Change unsigned to grub_uint16_t.
21630 (read_mft): Change unsigned long to grub_uint32_t.
21631 (read_attr): Likewise.
21632 (read_data): Likewise.
21633 (read_run_data): Likewise.
21634 (read_run_list): Likewise.
21635 (read_mft): Likewise.
21636
21637 * fs/ntfscomp.c: New file.
21638
21639 * include/grub/ntfs.h: New file.
21640
21641 2007-12-16 Robert Millan <rmh@aybabtu.com>
21642
21643 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
21644 IDE disk check, since Linux is known to support 20 IDE disks.
21645 Reported by Colin Watson.
21646
21647 2007-12-15 Bean <bean123ch@gmail.com>
21648
21649 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
21650 (lnxboot_img_SOURCES): New variable.
21651 (lnxboot_img_ASFLAGS): Likewise.
21652 (lnxboot_img_LDFLAGS): Likewise.
21653
21654 * boot/i386/pc/lnxboot.S: New file.
21655
21656 2007-11-24 Pavel Roskin <proski@gnu.org>
21657
21658 * configure.ac: Test if '--build-id=none' is supported by the
21659 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
21660 objcopy to generate incorrect binary files (binutils
21661 2.17.50.0.18-1 as shipped by Fedora 8).
21662 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
21663 linking, so that build ID doesn't break the test.
21664
21665 2007-11-24 Pavel Roskin <proski@gnu.org>
21666
21667 * include/grub/i386/time.h: use "void" in the argument list
21668 of grub_cpu_idle().
21669 * include/grub/powerpc/time.h: Likewise.
21670 * include/grub/sparc64/time.h: Likewise.
21671
21672 2007-11-18 Christian Franke <franke@computer.org>
21673
21674 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
21675 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
21676 This fixes the problem that function keys did not work in grub-emu.
21677
21678 2007-11-18 Christian Franke <franke@computer.org>
21679
21680 * disk/host.c (grub_host_open): Remove attribute unused from
21681 name parameter. Add check for "host". This fixes the problem
21682 that grub-emu does not find partitions.
21683
21684 2007-11-18 Christian Franke <franke@computer.org>
21685
21686 * util/hostfs.c (is_dir): New function.
21687 (grub_hostfs_dir): Handle missing dirent.d_type case.
21688 (grub_hostfs_read): Add missing fseek().
21689 (grub_hostfs_label): Clear label pointer. This fixes a crash
21690 of grub-emu on "ls (host)".
21691
21692 2007-11-18 Christian Franke <franke@computer.org>
21693
21694 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
21695 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
21696 to 64 bit boundary by default.
21697
21698 2007-11-18 Bean <bean123ch@gmail.com>
21699
21700 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
21701 (hexdump_mod_SOURCES): New variable.
21702 (hexdump_mod_CFLAGS): Likewise.
21703 (hexdump_mod_LDFLAGS): Likewise.
21704
21705 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21706
21707 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21708
21709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21710
21711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
21712
21713 * include/grub/hexdump.h: New file.
21714
21715 * commands/hexdump.c: New file.
21716
21717 2007-11-10 Robert Millan <rmh@aybabtu.com>
21718
21719 * commands/i386/pc/play.c (beep_off): Switch order of arguments
21720 in grub_outb() calls.
21721 (beep_on): Likewise.
21722
21723 2007-11-10 Christian Franke <franke@computer.org>
21724
21725 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
21726 (grub_menu_run): Likewise.
21727
21728 2007-11-10 Robert Millan <rmh@aybabtu.com>
21729
21730 * include/grub/i386/efi/machine.h: New file.
21731 * include/grub/i386/linuxbios/machine.h: Likewise.
21732 * include/grub/i386/pc/machine.h: Likewise.
21733 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21734 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21735
21736 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
21737 (serial_hw_io_addr): New variable.
21738 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
21739 instead of `(unsigned short *) 0x400'.
21740
21741 2007-11-10 Bean <bean123ch@gmail.com>
21742
21743 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
21744
21745 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21746
21747 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
21748 (vga_mod_SOURCES): Added.
21749 (vga_mod_CFLAGS): Likewise.
21750 (vga_mod_LDFLAGS): Likewise.
21751
21752 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
21753 grub_outb() calls.
21754 (set_map_mask): Likewise.
21755 (set_read_map): Likewise.
21756 (set_read_address): Likewise.
21757 (vga_font): Removed variable.
21758 (get_vga_glyph): Removed function.
21759 (invalidate_char): Likewise.
21760 (write_char): Changed to use grub_font_get_glyph() for font
21761 information.
21762 (grub_vga_putchar): Likewise.
21763 (grub_vga_getcharwidth): Likewise.
21764
21765 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
21766
21767 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
21768 flags.
21769 (pxeboot_img_LDFLAGS): Likewise.
21770 (diskboot_img_LDFLAGS): Likewise.
21771 (kernel_img_LDFLAGS): Likewise.
21772
21773 2007-11-06 Robert Millan <rmh@aybabtu.com>
21774
21775 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
21776 in grub_outb() calls.
21777 (serial_hw_init): Likewise.
21778
21779 2007-11-05 Robert Millan <rmh@aybabtu.com>
21780
21781 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
21782 spaces. Skip non-regular files.
21783
21784 2007-11-05 Robert Millan <rmh@aybabtu.com>
21785
21786 * kern/disk.c (grub_disk_firmware_fini)
21787 (grub_disk_firmware_is_tainted): New variables.
21788
21789 * include/grub/disk.h (grub_disk_firmware_fini)
21790 (grub_disk_firmware_is_tainted): Likewise.
21791
21792 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
21793 (grub_disk_biosdisk_fini): ... to here.
21794 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
21795 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
21796 is set. Register grub_disk_biosdisk_fini() in
21797 `grub_disk_firmware_fini'.
21798
21799 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
21800 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
21801 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
21802 to finish existing firmware disk interface.
21803
21804 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
21805 (ata_mod_SOURCES): New variable.
21806 (ata_mod_CFLAGS): Likewise.
21807 (ata_mod_LDFLAGS): Likewise.
21808
21809 2007-11-05 Robert Millan <rmh@aybabtu.com>
21810
21811 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
21812 (grub_ata_wait): Reimplement using grub_millisleep().
21813
21814 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
21815 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
21816
21817 2007-11-03 Marco Gerards <marco@gnu.org>
21818
21819 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
21820 (CRTC_ADDR_PORT): New macro.
21821 (CRTC_DATA_PORT): Likewise.
21822 (CRTC_CURSOR): Likewise.
21823 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21824 (CRTC_CURSOR_ADDR_LOW): Likewise.
21825 (update_cursor): New function.
21826 (grub_console_real_putchar): Call `update_cursor'.
21827 (grub_console_gotoxy): Likewise.
21828 (grub_console_cls): Set the default color when clearing the
21829 screen.
21830 (grub_console_setcursor): Implemented.
21831
21832 2007-11-03 Marco Gerards <marco@gnu.org>
21833
21834 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
21835 become activate.
21836 (grub_ata_pio_write): Likewise.
21837
21838 (grub_atapi_identify): Wait after issuing an ATA command.
21839 (grub_atapi_packet): Likewise.
21840 (grub_ata_identify): Likewise.
21841 (grub_ata_readwrite): Likewise.
21842
21843 2007-11-03 Marco Gerards <marco@gnu.org>
21844
21845 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
21846 (grub_ata_pio_write): Likewise.
21847 (grub_ata_readwrite): Use `grub_error', instead of
21848 returning `grub_errno'.
21849
21850 2007-11-03 Marco Gerards <marco@gnu.org>
21851
21852 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
21853 grub_ata_pio_write once for every single sector, instead of for
21854 multiple sectors.
21855
21856 2007-10-31 Robert Millan <rmh@aybabtu.com>
21857
21858 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
21859
21860 * conf/i386-linuxbios.rmk: New file.
21861
21862 * kern/i386/pc/hardware.c: Likewise.
21863 * term/i386/pc/at_keyboard.c: Likewise.
21864 * term/i386/pc/vga_text.c: Likewise.
21865
21866 * include/grub/i386/linuxbios/boot.h: Likewise.
21867 * include/grub/i386/linuxbios/console.h: Likewise.
21868 * include/grub/i386/linuxbios/init.h: Likewise.
21869 * include/grub/i386/linuxbios/kernel.h: Likewise.
21870 * include/grub/i386/linuxbios/loader.h: Likewise.
21871 * include/grub/i386/linuxbios/memory.h: Likewise.
21872 * include/grub/i386/linuxbios/serial.h: Likewise.
21873 * include/grub/i386/linuxbios/time.h: Likewise.
21874
21875 * kern/i386/linuxbios/init.c: Likewise.
21876 * kern/i386/linuxbios/startup.S: Likewise.
21877 * kern/i386/linuxbios/table.c: Likewise.
21878
21879 2007-10-31 Marco Gerards <marco@gnu.org>
21880
21881 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
21882 (ata_mod_SOURCES): New variable.
21883 (ata_mod_CFLAGS): Likewise.
21884 (ata_mod_LDFLAGS): Likewise.
21885
21886 * disk/ata.c: New file.
21887
21888 * include/grub/disk.h (grub_disk_dev_id): Add
21889 `GRUB_DISK_DEV_ATA_ID'.
21890
21891 2007-10-31 Robert Millan <rmh@aybabtu.com>
21892
21893 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
21894 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
21895
21896 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
21897 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
21898
21899 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
21900 `<grub/types.h>'.
21901
21902 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
21903
21904 2007-10-27 Robert Millan <rmh@aybabtu.com>
21905
21906 * include/grub/types.h (ULONG_MAX): Define macro.
21907
21908 2007-10-22 Robert Millan <rmh@aybabtu.com>
21909
21910 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
21911 `"../realmode.S"'.
21912 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
21913
21914 2007-10-22 Robert Millan <rmh@aybabtu.com>
21915
21916 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
21917 (pkgdata_MODULES): Add `biosdisk.mod'.
21918 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
21919 variables.
21920
21921 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
21922 (grub_biosdisk_init): Replace with ...
21923 (GRUB_MOD_INIT(biosdisk)): ... this.
21924 (grub_biosdisk_fini): Replace with ...
21925 (GRUB_MOD_FINI(biosdisk)): ... this.
21926
21927 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
21928 (grub_machine_init): Remove call to grub_biosdisk_init().
21929 (grub_machine_fini): Remove call to grub_machine_fini().
21930
21931 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
21932
21933 2007-10-22 Robert Millan <rmh@aybabtu.com>
21934
21935 * include/grub/time.h: New file.
21936 * include/grub/i386/time.h: Likewise.
21937 * include/grub/powerpc/time.h: Likewise.
21938 * include/grub/sparc64/time.h: Likewise.
21939
21940 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
21941 instances to ...
21942 (KERNEL_MACHINE_TIME_HEADER): ... this.
21943 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21944 instances to ...
21945 (KERNEL_MACHINE_TIME_HEADER): ... this.
21946 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
21947 instances to ...
21948 (KERNEL_MACHINE_TIME_HEADER): ... this.
21949
21950 * kern/i386/efi/init.c: Include `<grub/time.h>'.
21951 (grub_millisleep): New function.
21952 * kern/i386/pc/init.c: Include `<grub/time.h>'.
21953 (grub_millisleep): New function.
21954 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
21955 Remove `grub/machine/time.h' include.
21956 (grub_millisleep): New function.
21957 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
21958 Remove `grub/machine/time.h' include.
21959 (grub_millisleep): New function.
21960
21961 * include/grub/misc.h (grub_div_roundup): New function.
21962
21963 * kern/misc.c: Include `<grub/time.h>'.
21964 (grub_millisleep_generic): New function.
21965
21966 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
21967 Add `time.h'.
21968 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
21969 Add `time.h'.
21970 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
21971 `machine/time.h'. Add `time.h'.
21972 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21973
21974 2007-10-21 Robert Millan <rmh@aybabtu.com>
21975
21976 * include/grub/misc.h (grub_max): New function.
21977
21978 2007-10-21 Robert Millan <rmh@aybabtu.com>
21979
21980 * util/misc.c (grub_util_info): Call fflush() before returning.
21981
21982 2007-10-20 Robert Millan <rmh@aybabtu.com>
21983
21984 * genmk.rb (Image): Copy `extra_flags' from here ...
21985 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
21986
21987 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
21988 to `argc' and `args' arguments.
21989
21990 2007-10-17 Robert Millan <rmh@aybabtu.com>
21991
21992 * kern/i386/loader.S: New file.
21993
21994 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
21995 * kern/i386/loader.S (grub_linux_prot_size)... to here.
21996 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
21997 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
21998 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
21999 * kern/i386/loader.S (grub_linux_real_addr)... to here.
22000 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
22001 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
22002 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
22003 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
22004 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
22005 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
22006 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
22007 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
22008
22009 * kern/i386/realmode.S: New file.
22010
22011 * kern/i386/pc/startup.S (protstack): Moved from here ...
22012 * kern/i386/realmode.S (protstack)... to here.
22013 * kern/i386/pc/startup.S (gdt): Moved from here ...
22014 * kern/i386/realmode.S (gdt)... to here.
22015 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
22016 * kern/i386/realmode.S (prot_to_real)... to here.
22017
22018 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
22019 `kern/i386/realmode.S'.
22020
22021 2007-10-17 Robert Millan <rmh@aybabtu.com>
22022
22023 * include/grub/i386/loader.h: New file.
22024
22025 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
22026 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
22027 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
22028 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
22029 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
22030 * include/grub/i386/loader.h (grub_linux_prot_size)
22031 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
22032 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
22033 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
22034 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
22035
22036 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
22037
22038 2007-10-15 Robert Millan <rmh@aybabtu.com>
22039
22040 * normal/misc.c (grub_normal_print_device_info): Do not probe for
22041 filesystem when dev->disk is unset.
22042 Do probe for filesystem even when dev->disk->has_partitions is set.
22043 In case a filesystem is found, always report it.
22044 In case it isn't, if dev->disk->has_partitions is set, report that
22045 a partition table was found instead of reporting that no filesystem
22046 could be identified.
22047
22048 2007-10-12 Robert Millan <rmh@aybabtu.com>
22049
22050 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
22051 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
22052
22053 * include/grub/types.h (grub_host_to_target16): New macro.
22054 (grub_host_to_target32): Likewise.
22055 (grub_host_to_target64): Likewise.
22056 (grub_target_to_host16): Likewise.
22057 (grub_target_to_host32): Likewise.
22058 (grub_target_to_host64): Likewise.
22059
22060 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22061 Renamed from to ...
22062 (GRUB_MOD_ALIGN): ...this. Update all users.
22063
22064 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
22065 grub_host_to_target32.
22066 Replace grub_be_to_cpu32 with grub_target_to_host32.
22067 (load_modules): Likewise.
22068 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
22069 Replace grub_be_to_cpu32 with grub_target_to_host32.
22070 Replace grub_cpu_to_be16 with grub_host_to_target16.
22071 Replace grub_cpu_to_be32 grub_host_to_target32.
22072
22073 2007-10-12 Robert Millan <rmh@aybabtu.com>
22074
22075 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
22076 * util/elf/grub-mkimage.c: ... here.
22077
22078 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
22079 `util/powerpc/ieee1275/grub-mkimage.c'.
22080
22081 2007-10-07 Robert Millan <rmh@aybabtu.com>
22082
22083 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
22084 and make it easier to figure out.
22085 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
22086 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
22087 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
22088 leave us with less than HEAP_MIN_SIZE total heap.
22089 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
22090
22091 2007-10-03 Robert Millan <rmh@aybabtu.com>
22092
22093 * include/grub/i386/io.h: New file.
22094 * commands/i386/pc/play.c (inb): Removed.
22095 (outb): Removed.
22096 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22097 with grub_outb().
22098 * term/i386/pc/serial.c (inb): Removed.
22099 (outb): Removed.
22100 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22101 with grub_outb().
22102 * term/i386/pc/vga.c (inb): Removed.
22103 (outb): Removed.
22104 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22105 with grub_outb().
22106
22107 2007-10-02 Robert Millan <rmh@aybabtu.com>
22108
22109 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
22110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22111 Reported by Marcin Kurek.
22112
22113 2007-09-07 Robert Millan <rmh@aybabtu.com>
22114
22115 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
22116 SmartFirmware version updates (as released by Sven Luther), and avoid
22117 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
22118 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
22119 known broken.
22120
22121 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22122
22123 From Hitoshi Ozeki:
22124 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
22125 when merging two regions.
22126
22127 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22128
22129 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
22130 * normal/completion.c (grub_normal_do_completion): Likewise.
22131 Reported by Hitoshi Ozeki.
22132
22133 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22134
22135 Do not use devices at boot in chainloading.
22136
22137 * loader/i386/pc/chainloader.c (boot_drive): New variable.
22138 (boot_part_addr): Likewise.
22139 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
22140 with BOOT_DRIVE and BOOT_PART_ADDR.
22141 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
22142 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
22143
22144 2007-08-29 Robert Millan <rmh@aybabtu.com>
22145
22146 Patch from Simon Peter <dn.tlp@gmx.net>:
22147 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
22148 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
22149 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
22150 util/i386/pc/grub-setup.c_DEPENDENCIES.
22151 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
22152 util/grub-probe.c_DEPENDENCIES.
22153 * conf/powerpc-ieee1275.rmk: Likewise.
22154
22155 2007-08-28 Robert Millan <rmh@aybabtu.com>
22156
22157 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
22158 to tell grub-mkdevicemap how to name devices.
22159 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
22160 feature).
22161
22162 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
22163 util/i386/get_disk_name.c.
22164 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
22165 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
22166 util/ieee1275/get_disk_name.c.
22167
22168 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
22169
22170 * DISTLIST: Add util/i386/get_disk_name.c and
22171 util/ieee1275/get_disk_name.c.
22172
22173 * util/grub-mkdevicemap.c: Replace device naming logic with
22174 grub_util_get_disk_name() calls.
22175
22176 2007-08-20 Robert Millan <rmh@aybabtu.com>
22177
22178 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
22179 (so that it works for both plural and singular quantities).
22180
22181 2007-08-05 Robert Millan <rmh@aybabtu.com>
22182
22183 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
22184 so that [xz] isn't taken into account when determining order.
22185
22186 2007-08-02 Marco Gerards <marco@gnu.org>
22187
22188 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
22189 `include/multiboot2.h', `include/grub/elfload.h',
22190 `include/multiboot.h', `include/grub/multiboot.h',
22191 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
22192 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
22193 `kern/elf.c', `loader/multiboot_loader.c',
22194 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
22195 `loader/i386/pc/multiboot2.c',
22196 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
22197 `util/i386/pc/grub-mkrescue.in'. Remove
22198 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
22199 `include/grub/i386/pc/util/biosdisk.h' and
22200 `include/grub/powerpc/ieee1275/multiboot.h'.
22201
22202 2007-08-02 Bean <bean123ch@gmail.com>
22203
22204 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
22205 (ntfs_mod_SOURCES): New variable.
22206 (ntfs_mod_CFLAGS): Likewise.
22207 (ntfs_mod_LDFLAGS): Likewise.
22208
22209 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
22210 (grub_probe_SOURCES): Likewise.
22211 (grub_emu_SOURCES): Likewise.
22212
22213 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
22214 (grub_emu_SOURCES): Likewise.
22215
22216 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
22217 (grub_emu_SOURCES): Likewise.
22218
22219 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
22220
22221 * fs/ntfs.c: New file.
22222
22223 2007-08-02 Bean <bean123ch@gmail.com>
22224
22225 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
22226
22227 * file.h (grub_file): Likewise.
22228
22229 * fshelp.h (grub_fshelp_read_file): Likewise.
22230
22231 * util/i386/pc/grub-setup.c (setup): Likewise.
22232 (save_first_sector): Likewise.
22233 (save_blocklists): Likewise.
22234
22235 * fs/affs.c (grub_affs_read_file): Likewise.
22236
22237 * fs/ext2.c (grub_ext2_read_file): Likewise.
22238
22239 * fs/fat.c (grub_fat_read_data): Likewise.
22240
22241 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
22242
22243 * fs/hfs.c (grub_hfs_read_file): Likewise.
22244
22245 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22246
22247 * fs/jfs.c (grub_jfs_read_file): Likewise.
22248
22249 * fs/minix.c (grub_minix_read_file): Likewise.
22250
22251 * fs/sfs.c (grub_sfs_read_file): Likewise.
22252
22253 * fs/ufs.c (grub_ufs_read_file): Likewise.
22254
22255 * fs/xfs.c (grub_xfs_read_file): Likewise.
22256
22257 * command/blocklist.c (read_blocklist): Likewise.
22258 (print_blocklist): Likewise.
22259
22260 2007-08-02 Marco Gerards <marco@gnu.org>
22261
22262 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
22263 `util/hostfs.c'.
22264
22265 * disk/host.c: New file.
22266
22267 * util/hostfs.c: Likewise.
22268
22269 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
22270 return `GRUB_ERR_BAD_FS'.
22271 * fs/sfs.c (grub_sfs_mount): Likewise.
22272 * fs/xfs.c (grub_xfs_mount): Likewise.
22273
22274 * include/grub/disk.h (enum grub_disk_dev_id): Add
22275 `GRUB_DISK_DEVICE_HOST_ID'.
22276
22277 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
22278
22279 2007-07-24 Jerone Young <jerone@gmail.com>
22280
22281 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
22282 modules for compilation.
22283 * conf/powerpc-ieee1275.rmk: Likewise.
22284
22285 * include/multiboot.h: Move multiboot definitions to one file. Rename
22286 many definitions to not get grub specific.
22287 * include/multiboot2.h: Create header with multiboot 2 definitions.
22288 * include/grub/multiboot.h: Header for grub specific function
22289 prototypes and definitions.
22290 * include/grub/multiboot2.h: Likewise.
22291 * include/grub/multiboot_loader.h: Likewise.
22292 * include/grub/i386/pc/multiboot.h: Removed.
22293 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
22294
22295 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
22296 and 2 to allow for one multiboot and module commands.
22297 * loader/multiboot2.c: Add multiboot2 functionality.
22298 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
22299 and definition names.
22300 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
22301 2 functions.
22302 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
22303 ieee1275 specific multiboot2 code.
22304
22305 * kern/i386/pc/startup.S: Change headers and definition names for
22306 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
22307
22308 2007-07-22 Robert Millan <rmh@aybabtu.com>
22309
22310 * geninitheader.sh: Process file specified in first parameter rather
22311 than hardcoding grub_modules_init.lst.
22312 * geninit.sh: Likewise. Also, construct header name dynamically rather
22313 than hardcoding grub_modules_init.h.
22314
22315 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
22316 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
22317 grub_probe_init.[ch] and grub_setup_init.[ch].
22318
22319 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
22320 grub_modules_init.h with grub_emu_init.h.
22321 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
22322 grub_probe_init.[ch] files.
22323 * conf/i386-efi.rmk: Likewise.
22324 * conf/i386-pc.rmk: Likewise.
22325 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
22326 grub_setup_init.[ch] files.
22327
22328 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
22329 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
22330 to initialize modules rather than a list of hardcoded functions.
22331 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
22332 grub_init_all() to initialize modules rather than a list of hardcoded
22333 functions.
22334
22335 2007-07-22 Robert Millan <rmh@aybabtu.com>
22336
22337 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22338 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
22339
22340 2007-07-22 Robert Millan <rmh@aybabtu.com>
22341
22342 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22343 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
22344 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
22345 flag when running on SmartFirmware.
22346 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
22347 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
22348 was set.
22349
22350 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22351 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
22352 rather than decreasing it.
22353
22354 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
22355 there's not enough space to do it, fail in the same way as when it
22356 can't be done because there are no partitions.
22357
22358 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
22359 when nvsetenv failed.
22360
22361 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22362
22363 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
22364 because this rule is automatically generated.
22365 (grub-mkrescue): Removed for the same reason as above.
22366
22367 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22368
22369 Migrate to GNU General Public License Version 3.
22370
22371 * COPYING: Replaced with the plain text version of GPLv3.
22372
22373 * config.guess: Updated from gnulib.
22374 * config.sub: Likewise.
22375
22376 * geninit.sh: Output a GPLv3 copyright notice.
22377 * geninitheader.sh: Likewise.
22378 * genmodsrc.sh: Likewise.
22379 * gensymlist.sh.in: Likewise.
22380
22381 * boot/i386/pc/boot.S: Upgraded to GPLv3.
22382 * boot/i386/pc/diskboot.S: Likewise.
22383 * boot/i386/pc/pxeboot.S: Likewise.
22384 * commands/blocklist.c: Likewise.
22385 * commands/boot.c: Likewise.
22386 * commands/cat.c: Likewise.
22387 * commands/cmp.c: Likewise.
22388 * commands/configfile.c: Likewise.
22389 * commands/echo.c: Likewise.
22390 * commands/help.c: Likewise.
22391 * commands/ls.c: Likewise.
22392 * commands/search.c: Likewise.
22393 * commands/terminal.c: Likewise.
22394 * commands/test.c: Likewise.
22395 * commands/videotest.c: Likewise.
22396 * commands/i386/cpuid.c: Likewise.
22397 * commands/i386/pc/halt.c: Likewise.
22398 * commands/i386/pc/play.c: Likewise.
22399 * commands/i386/pc/reboot.c: Likewise.
22400 * commands/i386/pc/vbeinfo.c: Likewise.
22401 * commands/i386/pc/vbetest.c: Likewise.
22402 * commands/ieee1275/halt.c: Likewise.
22403 * commands/ieee1275/reboot.c: Likewise.
22404 * commands/ieee1275/suspend.c: Likewise.
22405 * disk/loopback.c: Likewise.
22406 * disk/lvm.c: Likewise.
22407 * disk/raid.c: Likewise.
22408 * disk/efi/efidisk.c: Likewise.
22409 * disk/i386/pc/biosdisk.c: Likewise.
22410 * disk/ieee1275/ofdisk.c: Likewise.
22411 * font/manager.c: Likewise.
22412 * fs/affs.c: Likewise.
22413 * fs/ext2.c: Likewise.
22414 * fs/fat.c: Likewise.
22415 * fs/fshelp.c: Likewise.
22416 * fs/hfs.c: Likewise.
22417 * fs/hfsplus.c: Likewise.
22418 * fs/iso9660.c: Likewise.
22419 * fs/jfs.c: Likewise.
22420 * fs/minix.c: Likewise.
22421 * fs/sfs.c: Likewise.
22422 * fs/ufs.c: Likewise.
22423 * fs/xfs.c: Likewise.
22424 * hello/hello.c: Likewise.
22425 * include/grub/acorn_filecore.h: Likewise.
22426 * include/grub/arg.h: Likewise.
22427 * include/grub/bitmap.h: Likewise.
22428 * include/grub/boot.h: Likewise.
22429 * include/grub/cache.h: Likewise.
22430 * include/grub/device.h: Likewise.
22431 * include/grub/disk.h: Likewise.
22432 * include/grub/dl.h: Likewise.
22433 * include/grub/elfload.h: Likewise.
22434 * include/grub/env.h: Likewise.
22435 * include/grub/err.h: Likewise.
22436 * include/grub/file.h: Likewise.
22437 * include/grub/font.h: Likewise.
22438 * include/grub/fs.h: Likewise.
22439 * include/grub/fshelp.h: Likewise.
22440 * include/grub/gzio.h: Likewise.
22441 * include/grub/hfs.h: Likewise.
22442 * include/grub/kernel.h: Likewise.
22443 * include/grub/loader.h: Likewise.
22444 * include/grub/lvm.h: Likewise.
22445 * include/grub/misc.h: Likewise.
22446 * include/grub/mm.h: Likewise.
22447 * include/grub/net.h: Likewise.
22448 * include/grub/normal.h: Likewise.
22449 * include/grub/parser.h: Likewise.
22450 * include/grub/partition.h: Likewise.
22451 * include/grub/pc_partition.h: Likewise.
22452 * include/grub/raid.h: Likewise.
22453 * include/grub/rescue.h: Likewise.
22454 * include/grub/script.h: Likewise.
22455 * include/grub/setjmp.h: Likewise.
22456 * include/grub/symbol.h: Likewise.
22457 * include/grub/term.h: Likewise.
22458 * include/grub/terminfo.h: Likewise.
22459 * include/grub/tparm.h: Likewise.
22460 * include/grub/types.h: Likewise.
22461 * include/grub/video.h: Likewise.
22462 * include/grub/efi/api.h: Likewise.
22463 * include/grub/efi/chainloader.h: Likewise.
22464 * include/grub/efi/console.h: Likewise.
22465 * include/grub/efi/console_control.h: Likewise.
22466 * include/grub/efi/disk.h: Likewise.
22467 * include/grub/efi/efi.h: Likewise.
22468 * include/grub/efi/pe32.h: Likewise.
22469 * include/grub/efi/time.h: Likewise.
22470 * include/grub/i386/linux.h: Likewise.
22471 * include/grub/i386/setjmp.h: Likewise.
22472 * include/grub/i386/types.h: Likewise.
22473 * include/grub/i386/efi/kernel.h: Likewise.
22474 * include/grub/i386/efi/loader.h: Likewise.
22475 * include/grub/i386/efi/time.h: Likewise.
22476 * include/grub/i386/pc/biosdisk.h: Likewise.
22477 * include/grub/i386/pc/boot.h: Likewise.
22478 * include/grub/i386/pc/chainloader.h: Likewise.
22479 * include/grub/i386/pc/console.h: Likewise.
22480 * include/grub/i386/pc/init.h: Likewise.
22481 * include/grub/i386/pc/kernel.h: Likewise.
22482 * include/grub/i386/pc/loader.h: Likewise.
22483 * include/grub/i386/pc/memory.h: Likewise.
22484 * include/grub/i386/pc/multiboot.h: Likewise.
22485 * include/grub/i386/pc/serial.h: Likewise.
22486 * include/grub/i386/pc/time.h: Likewise.
22487 * include/grub/i386/pc/vbe.h: Likewise.
22488 * include/grub/i386/pc/vbeblit.h: Likewise.
22489 * include/grub/i386/pc/vbefill.h: Likewise.
22490 * include/grub/i386/pc/vbeutil.h: Likewise.
22491 * include/grub/i386/pc/vga.h: Likewise.
22492 * include/grub/ieee1275/ieee1275.h: Likewise.
22493 * include/grub/ieee1275/ofdisk.h: Likewise.
22494 * include/grub/powerpc/libgcc.h: Likewise.
22495 * include/grub/powerpc/setjmp.h: Likewise.
22496 * include/grub/powerpc/types.h: Likewise.
22497 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22498 * include/grub/powerpc/ieee1275/console.h: Likewise.
22499 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22500 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22501 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22502 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22503 * include/grub/powerpc/ieee1275/time.h: Likewise.
22504 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22505 * include/grub/sparc64/libgcc.h: Likewise.
22506 * include/grub/sparc64/setjmp.h: Likewise.
22507 * include/grub/sparc64/types.h: Likewise.
22508 * include/grub/sparc64/ieee1275/console.h: Likewise.
22509 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22510 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22511 * include/grub/sparc64/ieee1275/time.h: Likewise.
22512 * include/grub/util/biosdisk.h: Likewise.
22513 * include/grub/util/getroot.h: Likewise.
22514 * include/grub/util/lvm.h: Likewise.
22515 * include/grub/util/misc.h: Likewise.
22516 * include/grub/util/raid.h: Likewise.
22517 * include/grub/util/resolve.h: Likewise.
22518 * io/gzio.c: Likewise.
22519 * kern/device.c: Likewise.
22520 * kern/disk.c: Likewise.
22521 * kern/dl.c: Likewise.
22522 * kern/elf.c: Likewise.
22523 * kern/env.c: Likewise.
22524 * kern/err.c: Likewise.
22525 * kern/file.c: Likewise.
22526 * kern/fs.c: Likewise.
22527 * kern/loader.c: Likewise.
22528 * kern/main.c: Likewise.
22529 * kern/misc.c: Likewise.
22530 * kern/mm.c: Likewise.
22531 * kern/parser.c: Likewise.
22532 * kern/partition.c: Likewise.
22533 * kern/rescue.c: Likewise.
22534 * kern/term.c: Likewise.
22535 * kern/efi/efi.c: Likewise.
22536 * kern/efi/init.c: Likewise.
22537 * kern/efi/mm.c: Likewise.
22538 * kern/i386/dl.c: Likewise.
22539 * kern/i386/efi/init.c: Likewise.
22540 * kern/i386/efi/startup.S: Likewise.
22541 * kern/i386/pc/init.c: Likewise.
22542 * kern/i386/pc/lzo1x.S: Likewise.
22543 * kern/i386/pc/startup.S: Likewise.
22544 * kern/ieee1275/ieee1275.c: Likewise.
22545 * kern/powerpc/cache.S: Likewise.
22546 * kern/powerpc/dl.c: Likewise.
22547 * kern/powerpc/ieee1275/cmain.c: Likewise.
22548 * kern/powerpc/ieee1275/crt0.S: Likewise.
22549 * kern/powerpc/ieee1275/init.c: Likewise.
22550 * kern/powerpc/ieee1275/openfw.c: Likewise.
22551 * kern/sparc64/cache.S: Likewise.
22552 * kern/sparc64/dl.c: Likewise.
22553 * kern/sparc64/ieee1275/init.c: Likewise.
22554 * kern/sparc64/ieee1275/openfw.c: Likewise.
22555 * loader/efi/chainloader.c: Likewise.
22556 * loader/efi/chainloader_normal.c: Likewise.
22557 * loader/i386/efi/linux.c: Likewise.
22558 * loader/i386/efi/linux_normal.c: Likewise.
22559 * loader/i386/pc/chainloader.c: Likewise.
22560 * loader/i386/pc/chainloader_normal.c: Likewise.
22561 * loader/i386/pc/linux.c: Likewise.
22562 * loader/i386/pc/linux_normal.c: Likewise.
22563 * loader/i386/pc/multiboot.c: Likewise.
22564 * loader/i386/pc/multiboot_normal.c: Likewise.
22565 * loader/powerpc/ieee1275/linux.c: Likewise.
22566 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22567 * normal/arg.c: Likewise.
22568 * normal/cmdline.c: Likewise.
22569 * normal/command.c: Likewise.
22570 * normal/completion.c: Likewise.
22571 * normal/execute.c: Likewise.
22572 * normal/function.c: Likewise.
22573 * normal/lexer.c: Likewise.
22574 * normal/main.c: Likewise.
22575 * normal/menu.c: Likewise.
22576 * normal/menu_entry.c: Likewise.
22577 * normal/misc.c: Likewise.
22578 * normal/parser.y: Likewise.
22579 * normal/script.c: Likewise.
22580 * normal/i386/setjmp.S: Likewise.
22581 * normal/powerpc/setjmp.S: Likewise.
22582 * normal/sparc64/setjmp.S: Likewise.
22583 * partmap/acorn.c: Likewise.
22584 * partmap/amiga.c: Likewise.
22585 * partmap/apple.c: Likewise.
22586 * partmap/gpt.c: Likewise.
22587 * partmap/pc.c: Likewise.
22588 * partmap/sun.c: Likewise.
22589 * term/gfxterm.c: Likewise.
22590 * term/terminfo.c: Likewise.
22591 * term/efi/console.c: Likewise.
22592 * term/i386/pc/console.c: Likewise.
22593 * term/i386/pc/serial.c: Likewise.
22594 * term/i386/pc/vesafb.c: Likewise.
22595 * term/i386/pc/vga.c: Likewise.
22596 * term/ieee1275/ofconsole.c: Likewise.
22597 * util/biosdisk.c: Likewise.
22598 * util/console.c: Likewise.
22599 * util/genmoddep.c: Likewise.
22600 * util/getroot.c: Likewise.
22601 * util/grub-emu.c: Likewise.
22602 * util/grub-mkdevicemap.c: Likewise.
22603 * util/grub-probe.c: Likewise.
22604 * util/lvm.c: Likewise.
22605 * util/misc.c: Likewise.
22606 * util/raid.c: Likewise.
22607 * util/resolve.c: Likewise.
22608 * util/update-grub.in: Likewise.
22609 * util/update-grub_lib.in: Likewise.
22610 * util/grub.d/00_header.in: Likewise.
22611 * util/grub.d/10_hurd.in: Likewise.
22612 * util/grub.d/10_linux.in: Likewise.
22613 * util/i386/efi/grub-install.in: Likewise.
22614 * util/i386/efi/grub-mkimage.c: Likewise.
22615 * util/i386/pc/grub-install.in: Likewise.
22616 * util/i386/pc/grub-mkimage.c: Likewise.
22617 * util/i386/pc/grub-mkrescue.in: Likewise.
22618 * util/i386/pc/grub-setup.c: Likewise.
22619 * util/i386/pc/misc.c: Likewise.
22620 * util/powerpc/ieee1275/grub-install.in: Likewise.
22621 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
22622 * util/powerpc/ieee1275/misc.c: Likewise.
22623 * video/bitmap.c: Likewise.
22624 * video/video.c: Likewise.
22625 * video/i386/pc/vbe.c: Likewise.
22626 * video/i386/pc/vbeblit.c: Likewise.
22627 * video/i386/pc/vbefill.c: Likewise.
22628 * video/i386/pc/vbeutil.c: Likewise.
22629 * video/readers/tga.c: Likewise.
22630
22631 2007-07-02 Robert Millan <rmh@aybabtu.com>
22632
22633 * conf/i386-efi.rmk: Replace obsolete reference to
22634 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
22635 with util/getroot.c.
22636 * conf/powerpc-ieee1275.rmk: Likewise.
22637 * conf/sparc64-ieee1275.rmk: Likewise.
22638
22639 * util/grub-emu.c (main): Fix unchecked pointer handling.
22640
22641 2007-07-02 Robert Millan <rmh@aybabtu.com>
22642
22643 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
22644 invocation to fail, in order to support partition-less media.
22645
22646 * util/i386/pc/grub-install.in: Likewise.
22647
22648 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
22649 which fs or partmap modules are needed (akin to its sister scripts).
22650
22651 Also use grub-probe to get rid of unportable /proc/mounts check.
22652
22653 Print the same informational message that the other scripts do, before
22654 exiting.
22655
22656 2007-06-23 Robert Millan <rmh@aybabtu.com>
22657
22658 * util/update-grub_lib.in (font_path): New function. Determine whether
22659 a font file can be found and, if so, echo the GRUB path to it.
22660
22661 * util/update-grub.in: Handle multiple terminals depending on user
22662 input, platform availability and font file presence. Propagate
22663 variables of our findings to /etc/grub.d/ children.
22664
22665 * util/grub.d/00_header.in: Handle multiple terminals, based on
22666 environment setup by update-grub.
22667
22668 2007-06-23 Robert Millan <rmh@aybabtu.com>
22669
22670 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
22671
22672 2007-06-21 Robert Millan <rmh@aybabtu.com>
22673
22674 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
22675 indicate end of data section in kernel image.
22676 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
22677 GRUB_KERNEL_MACHINE_DATA_END.
22678
22679 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
22680 space for it.
22681 * kern/i386/efi/startup.S: Likewise.
22682
22683 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
22684 during image generation. Implement --prefix option to override this
22685 patch.
22686 * util/i386/efi/grub-mkimage.c: Likewise.
22687
22688 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
22689 code to make path relative to its root into a separate function.
22690
22691 * util/i386/pc/grub-install.in: Use newly provided
22692 make_system_path_relative_to_its_root() to convert ${grubdir}, then
22693 pass the result to grub-install --prefix.
22694
22695 2007-06-13 Robert Millan <rmh@aybabtu.com>
22696
22697 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
22698 DEFAULT_DEVICE_MAP.
22699 * util/grub-emu.c: Use above definitions from misc.h instead of
22700 defining them.
22701 * util/grub-mkdevicemap.c: Likewise.
22702 * util/i386/pc/grub-setup.c: Likewise.
22703 * util/grub-probe.c: Likewise.
22704 (probe): Abort with grub_util_error() when either
22705 grub_guess_root_device or grub_util_get_grub_dev fails.
22706
22707 2007-06-12 Robert Millan <rmh@aybabtu.com>
22708
22709 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
22710 "pager" assignment.
22711 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
22712 "pcdata".
22713 * util/grub-probe.c (probe): Likewise for "drive_name".
22714
22715 2007-06-11 Robert Millan <rmh@aybabtu.com>
22716
22717 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
22718 not just the cdrom one.
22719
22720 2007-06-11 Robert Millan <rmh@aybabtu.com>
22721
22722 * util/i386/pc/grub-mkrescue.in: Add "set -e".
22723 Add --pkglibdir=DIR option to override pkglibdir.
22724 Mention --image-type=TYPE in help output.
22725 Fix --grub-mkimage (it was a no-op).
22726 Abort gracefully when no parameter is given.
22727
22728 2007-06-11 Robert Millan <rmh@aybabtu.com>
22729
22730 * util/i386/pc/grub-mkrescue.in: New file.
22731 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
22732 * Makefile.in: Handle bin_SCRIPTS.
22733
22734 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
22735
22736 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
22737 list of video modes.
22738
22739 2007-06-06 Robert Millan <rmh@aybabtu.com>
22740
22741 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
22742 file doesn't exist, or if it is in a filesystem grub can't read.
22743
22744 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
22745 not abort if GRUB_DRIVE could not be defined. Rearrange generated
22746 header comment to fit in 80 columns when the variables are resolved.
22747
22748 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
22749 could be identified by update-grub. Remove redundant check for
22750 unifont.pff existence (since convert_system_path_to_grub_path now
22751 handles that).
22752
22753 2007-06-04 Robert Millan <rmh@aybabtu.com>
22754
22755 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
22756
22757 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
22758
22759 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
22760
22761 2007-06-04 Robert Millan <rmh@aybabtu.com>
22762
22763 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
22764
22765 * include/grub/partition.h: Declare grub_apple_partition_map_init and
22766 grub_apple_partition_map_fini.
22767
22768 * util/biosdisk.c
22769 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
22770 to access >2 TiB disks).
22771
22772 Print disk->total_sectors with %llu instead of %lu, since this
22773 variable is always 64-bit (prevents wrong disk size from being displayed
22774 on either >2 TiB disk or big-endian CPU).
22775
22776 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
22777 into a generic case that supports all (sane) partition maps.
22778
22779 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
22780 breaks big-endian.
22781
22782 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
22783 and grub_apple_partition_map_fini() after that.
22784
22785 2007-06-01 Robert Millan <rmh@aybabtu.com>
22786
22787 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
22788
22789 * util/grub.d/00_header.in: Only enable gfxterm when
22790 convert_system_path_to_grub_path() succeeds.
22791
22792 2007-05-20 Robert Millan <rmh@aybabtu.com>
22793
22794 * util/update-grub_lib.in: New file.
22795 * DISTLIST: Add update-grub_lib.in.
22796 * conf/common.rmk: Generate update-grub_lib and install it in
22797 $(lib_DATA).
22798 * Makefile.in: Add install routine for $(lib_DATA).
22799
22800 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
22801 function provided by update-grub_lib to support arbitrary paths of
22802 unifont.pff.
22803 * util/update-grub.in: Use convert_system_path_to_grub_path() to
22804 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
22805
22806 2007-05-19 Robert Millan <rmh@aybabtu.com>
22807
22808 * commands/i386/cpuid.c: New module.
22809 * DISTLIST: Add it.
22810 * conf/i386-efi.rmk: Enable cpuid.mod.
22811 * conf/i386-pc.rmk: Likewise.
22812
22813 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22814
22815 * kern/disk.c (grub_disk_read): Check return value of
22816 grub_realloc().
22817
22818 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
22819
22820 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
22821 arrays.
22822 * disk/raid.c (grub_raid_open): Likewise.
22823
22824 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22825
22826 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
22827 stack instead of on the heap.
22828
22829 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
22830 before doing a read on it.
22831
22832 * configure.ac: Only use -fno-stack-protector for the target
22833 environment.
22834
22835 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
22836
22837 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
22838 __attribute_ ((unused)) to mode_type argument.
22839
22840 * util/getroot.c (grub_guess_root_device): Fix #endif.
22841
22842 * kern/misc.c (memcmp): Fix prototype.
22843
22844 * include/grub/partition.h [GRUB_UTIL]
22845 (grub_gpt_partition_map_init): Add prototype.
22846 (grub_gpt_partition_map_fini): Likewise.
22847
22848 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
22849 at the right place.
22850
22851 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
22852 (grub_fat_read_data): Likewise.
22853 (grub_fat_find_dir): Likewise.
22854
22855 * font/manager.c (find_glyph): Make table a const.
22856 (grub_font_get_glyph): Remove bitmap from if statement.
22857
22858 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
22859
22860 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
22861 code, first search for device in /dev/mapper, then in /dev.
22862 (grub_util_get_grub_dev): New function.
22863 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
22864 prototype.
22865 * util/grub-probe.c (probe): Remove check for RAID, call
22866 grub_util_get_grub_dev() instead of
22867 grub_util_biosdisk_get_grub_dev().
22868 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
22869 grub_util_biosdisk_get_grub_dev().
22870 * util/i386/pc/grub-setup.c (main): Likewise.
22871
22872 2007-05-16 Robert Millan <rmh@aybabtu.com>
22873
22874 * DISTLIST: Update for the latest changes.
22875 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
22876 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
22877 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
22878 grub/util/biosdisk.h.
22879 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
22880 grub/util/biosdisk.h.
22881
22882 2007-05-16 Robert Millan <rmh@aybabtu.com>
22883
22884 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
22885
22886 2007-05-16 Robert Millan <rmh@aybabtu.com>
22887
22888 * util/i386/efi/grub-install.in: New.
22889 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
22890 newly added grub-install.
22891 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
22892 include.
22893 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
22894 grub/util/biosdisk.h.
22895 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
22896 grub/util/biosdisk.h.
22897
22898 2007-05-16 Robert Millan <rmh@aybabtu.com>
22899
22900 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
22901 * include/grub/util/biosdisk.h: ... here.
22902 * util/i386/pc/biosdisk.c: Moved to ...
22903 * util/biosdisk.c: ... here.
22904 * util/i386/pc/getroot.c: Moved to ...
22905 * util/getroot.c: ... here.
22906 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
22907 * util/grub-mkdevicemap.c: ... here.
22908 * util/i386/pc/grub-probe.c: Moved to ...
22909 * util/grub-probe.c: ... here.
22910
22911 2007-05-15 Robert Millan <rmh@aybabtu.com>
22912
22913 * util/update-grub.in: Remove duplicated line in grub.cfg header
22914 message.
22915
22916 2007-05-13 Robert Millan <rmh@aybabtu.com>
22917
22918 * util/update-grub.in: Fix a few assumptions about the devices holding
22919 /, /boot and /boot/grub being the same.
22920 * util/grub.d/00_header.in: Likewise.
22921 * util/grub.d/10_hurd.in: Likewise.
22922 * util/grub.d/10_linux.in: Likewise.
22923
22924 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
22925 patterns. Use that to define the `.old' suffix as older than `'.
22926
22927 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
22928
22929 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
22930 the grub.cfg header message.
22931
22932 2007-05-11 Robert Millan <rmh@aybabtu.com>
22933
22934 * util/update-grub.in: Create device.map if it doesn't already exist,
22935 before attempting to run grub-probe.
22936 Check for grub-probe and grub-mkdevicemap with the same code
22937 grub-install is using.
22938 Remove test mode.
22939
22940 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
22941
22942 * Makefile.in: Add the datarootdir autoconf variable.
22943
22944 2007-05-09 Robert Millan <rmh@aybabtu.com>
22945
22946 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
22947 fail gracefully if dev->disk->partition == NULL.
22948
22949 2007-05-07 Robert Millan <rmh@aybabtu.com>
22950
22951 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
22952 determine partition map module.
22953 * util/i386/pc/grub-install.in: Use this feature to decide which
22954 partition module to load, instead of hardcoding pc and gpt.
22955
22956 2007-05-07 Robert Millan <rmh@aybabtu.com>
22957
22958 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
22959 source directory differs from build directory.
22960
22961 2007-05-05 Robert Millan <rmh@aybabtu.com>
22962
22963 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
22964 initialisation.
22965
22966 2007-05-05 Robert Millan <rmh@aybabtu.com>
22967
22968 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
22969
22970 2007-05-05 Robert Millan <rmh@aybabtu.com>
22971
22972 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
22973 command-line arguments via ${GRUB_CMDLINE_LINUX}.
22974
22975 2007-05-05 Robert Millan <rmh@aybabtu.com>
22976
22977 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
22978 (grub_probe_SOURCES): Likewise.
22979 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
22980 GPT and initialize dos_part and bsd_part accordingly.
22981 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
22982 install_bsd_part.
22983 (main): Activate gpt module for use during partition identification,
22984 and deactivate it afterwards.
22985 * util/i386/pc/grub-install.in: Add gpt module to core.img.
22986 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
22987 partition identification, and deactivate it afterwards.
22988
22989 2007-05-05 Robert Millan <rmh@aybabtu.com>
22990
22991 * term/i386/pc/console.c (grub_console_fini): Call
22992 grub_term_set_current() before grub_term_unregister().
22993
22994 2007-05-04 Robert Millan <rmh@aybabtu.com>
22995
22996 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
22997 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
22998 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
22999 and update-grub_DATA.
23000 * conf/common.rmk: Build and install update-grub components.
23001 * conf/common.mk: Regenerate.
23002 * util/update-grub.in: New. Core of update-grub.
23003 * util/grub.d/00_header.in: New. Generates grub.cfg header.
23004 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
23005 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
23006 * util/grub.d/README: New. Document grub.d directory layout.
23007
23008 2007-05-01 Robert Millan <rmh@aybabtu.com>
23009
23010 * util/grub-emu.c: Move initialization functions
23011 grub_util_biosdisk_init() and grub_init_all() before
23012 grub_util_biosdisk_get_grub_dev(), which relies on them.
23013
23014 2007-04-19 Robert Millan <rmh@aybabtu.com>
23015
23016 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
23017 it is used later.
23018
23019 2007-04-18 Jerone Young <jerone@gmail.com>
23020
23021 * kernel/elf.c: Add missing parenthesis for conditional statement
23022 stanza.
23023
23024 2007-04-10 Jerone Young <jerone@gmail.com>
23025
23026 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
23027 continue on and look for device node with real device name.
23028
23029 2007-04-10 Jerone Young <jerone@gmail.com>
23030
23031 * configure.ac: Add argument for autoconf to use transformation
23032 ability.
23033 * Makefile.in: Add autoconf package transformation code.
23034 * util/i386/pc/grub-install.in: Likewise.
23035 * util/powerpc/ieee1275/grub-install.in: Likewise.
23036
23037 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23038
23039 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
23040 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
23041 (EXT2_REVISION): Likewise.
23042 (EXT2_INODE_SIZE): Likewise.
23043 (struct grub_ext2_block_group): Added a missing member
23044 "used_dirs".
23045 (grub_ext2_read_inode): Divide by the inode size in a superblock
23046 instead of 128 to obtain INODES_PER_BLOCK.
23047 Use the macro EXT2_INODE_SIZE instead of directly using
23048 SBLOCK->INODE_SIZE.
23049
23050 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23051
23052 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
23053 superblock instead of the structure size to compute an
23054 offset. This fixes the problem that GRUB could not read a
23055 filesystem when inode size is different from 128-byte.
23056
23057 2007-03-05 Marco Gerards <marco@gnu.org>
23058
23059 * normal/main.c (read_config_file): When "menu" is not set, create
23060 an initial context.
23061
23062 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
23063
23064 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
23065 (HEAP_LIMIT): New macro.
23066 (grub_claim_heap): Claim memory up to `heaplimit'.
23067
23068 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
23069
23070 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
23071 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
23072 (_start): Likewise.
23073 (grub_arch_modules_addr): Return address after `_end'.
23074 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
23075 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
23076 (add_segments): Calculate `_end' from phdr size and location.
23077 (ALIGN_UP): Moved to ...
23078 * include/grub/misc.h: here.
23079 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23080 New macro.
23081 (GRUB_IEEE1275_MODULE_BASE): Removed.
23082
23083 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23084
23085 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
23086 loop boundary.
23087
23088 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23089
23090 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
23091 All users updated.
23092 (grub_elf64_load_hook_t): Likewise.
23093 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
23094 debug output.
23095
23096 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23097
23098 * kern/mm.c: Update copyright.
23099 (grub_mm_debug): Correct syntax error.
23100 (grub_mm_dump_free): New function.
23101 (grub_debug_free): Call `grub_free'.
23102 * include/grub/mm.h: Update copyright.
23103 (grub_mm_dump_free): Add declaration.
23104
23105 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
23106
23107 * include/grub/ieee1275/ieee1275.h: Update copyright.
23108 * kern/powerpc/ieee1275/init.c: Likewise.
23109 * kern/powerpc/ieee1275/openfw.c: Likewise.
23110
23111 * loader/powerpc/ieee1275/linux.c: Likewise.
23112 * include/grub/elfload.h: Likewise.
23113 * kern/elf.c: Likewise.
23114 (grub_elf32_load): Pass `base' and `size' parameters. Update all
23115 callers.
23116 (grub_elf64_load): Likewise.
23117 (grub_elf32_load_segment): Move to a nested function.
23118 (grub_elf64_load_segment): Likewise.
23119
23120 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
23121
23122 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
23123 prototype.
23124 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
23125 (grub_heap_len): Likewise.
23126 (HEAP_SIZE): New macro.
23127 (grub_claim_heap): New function.
23128 (grub_machine_init): Don't claim heap directly. Call
23129 `grub_claim_heap'.
23130 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
23131 (grub_available_iterate): New function.
23132
23133 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
23134
23135 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
23136 * configure.ac: Use it for testing the HOST and TARGET compilers.
23137
23138 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
23139
23140 * Makefile.in (enable_grub_emu): New variable.
23141 * configure.ac (--enable-grub-emu): New option.
23142 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
23143 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
23144 * conf/i386-pc.rmk: Likewise.
23145 * conf/powerpc-ieee1275.rmk: Likewise.
23146 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
23147
23148 2006-12-12 Marco Gerards <marco@gnu.org>
23149
23150 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
23151
23152 * kern/env.c (grub_env_unset): Don't free the member `value' when
23153 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
23154 pointer.
23155
23156 * normal/main.c (current_menu): Removed.
23157 (free_menu): Unset the `menu' environment variable.
23158 (grub_normal_menu_addentry): Make use of the environment variable
23159 `menu', instead of using the global `current_menu'. Allocate
23160 memory for the sourcecode of this entry.
23161 (read_config_file): New argument `nested', changed all callers.
23162 Only in the case of a new context, initialize a new menu. Set the
23163 `menu' environment variable.
23164 (grub_normal_execute): Don't set and unset the environment
23165 variable `menu' here anymore. Only free the menu when leaving the
23166 context.
23167
23168 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
23169 leak.
23170
23171 2006-12-11 Marco Gerards <marco@gnu.org>
23172
23173 * normal/menu_entry.c (run): Fix off by one bug so the last line
23174 is executed. Move the loader check to outside the loop.
23175
23176 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
23177
23178 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
23179
23180 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
23181
23182 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
23183 the number of sectors. Reported by Andrey Shuvikov
23184 <mr_hyro@yahoo.com>.
23185
23186 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
23187
23188 * kern/disk.c (grub_disk_read): When there is a read error, always
23189 try to read only the necessary data.
23190
23191 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
23192 disk/raid.c.
23193 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
23194 prototype.
23195 [GRUB_UTIL] (grub_raid_fini): Likewise.
23196 [GRUB_UTIL] (grub_lvm_init): Likewise.
23197 [GRUB_UTIL] (grub_lvm_fini): Likewise.
23198 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
23199 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
23200 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
23201 and grub_raid_fini().
23202
23203 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23204
23205 * include/grub/types.h (__unused): Rename to UNUSED.
23206 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
23207 (grub_elf64_size): Likewise.
23208
23209 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
23210
23211 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
23212 grub_error_push and grub_error_pop in the error-handling path.
23213 (grub_elf32_load_segment): Only call grub_file_read with non-zero
23214 length.
23215
23216 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
23217
23218 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
23219 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23221 (kernel_elf_SOURCES): Likewise.
23222 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
23223 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
23224 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23225 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23226 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
23227 (elf_mod_SOURCES): New variable.
23228 (elf_mod_CFLAGS): Likewise.
23229 (elf_mod_LDFLAGS): Likewise.
23230 * include/grub/types.h (__unused): New macro.
23231 * include/grub/elfload.h: New file.
23232 * kern/elf.c: Likewise.
23233 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
23234 (ELF32_LOADMASK): New macro.
23235 (ELF64_LOADMASK): Likewise.
23236 (vmlinux): Removed.
23237 (grub_linux_load32): New function.
23238 (grub_linux_load64): Likewise.
23239 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
23240 Use grub_elf_t instead of grub_file_t.
23241
23242 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
23243
23244 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
23245 `catch_result' to struct set_color_args.
23246
23247 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23248
23249 * normal/menu.c: Include grub/script.h.
23250 * normal/menu_entry.c: Likewise.
23251 * include/grub/normal.h: Do not include grub/script.h.
23252
23253 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23254
23255 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
23256
23257 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23258
23259 * kern/disk.c (grub_disk_open): Print debug messages when opening a
23260 disk.
23261 (grub_disk_close): Print debug messages when closing a disk.
23262 (grub_disk_read): Print debug messages when disk read fails.
23263 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
23264 filesystem type.
23265 * kern/partition.c: Include misc.h.
23266 (grub_partition_iterate): Print debug messages when detecting
23267 partition type.
23268
23269 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23270
23271 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
23272 is negative.
23273 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
23274
23275 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
23276
23277 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23278 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
23279
23280 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
23281
23282 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
23283 instead of sizeof(lv). Patch by Michael Guntsche.
23284
23285 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
23286
23287 * disk/lvm.c: Rename VGS to VG_LIST.
23288 (grub_lvm_iterate): Change VGS->LV to VG-LV.
23289 (grub_lvm_open): Likewise.
23290 Thanks to Michael Guntsche for finding this bug.
23291
23292 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23293
23294 * configure.ac (AC_INIT): Bumped to 1.95.
23295
23296 2006-10-14 Robert Millan <rmh@aybabtu.com>
23297
23298 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
23299 with "/dev/.static/dev/md".
23300
23301 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23302
23303 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
23304 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
23305 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
23306 DRIVE_NAME are always freed.
23307
23308 * util/i386/pc/biosdisk.c (make_device_name): Add one into
23309 DOS_PART, as a DOS partition is counted from one instead of zero
23310 now. Reported by Robert Millan.
23311
23312 2006-10-14 Robert Millan <rmh@aybabtu.com>
23313
23314 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
23315 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
23316 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
23317 string returned by grub_guess_root_device.
23318 * util/i386/pc/grub-setup.c: Likewise.
23319 * util/i386/pc/grub-probefs.c: Likewise.
23320
23321 * util/i386/pc/grub-probefs.c: Rename to ...
23322 * util/i386/pc/grub-probe.c: ... this.
23323 * DISTLIST: Remove grub-probefs, add grub-probe.
23324 * conf/i386-efi.rmk: Likewise.
23325 * conf/i386-pc.rmk: Likewise.
23326 * util/i386/pc/grub-install.in: Likewise.
23327
23328 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
23329 choose which information we want to print.
23330
23331 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23332
23333 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
23334 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
23335 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
23336 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
23337 video/readers/tga.c and video/i386/pc/vbeutil.c.
23338
23339 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
23340
23341 Added support for RAID and LVM.
23342
23343 * disk/lvm.c: New file.
23344 * disk/raid.c: Likewise.
23345 * include/grub/lvm.h: Likewise.
23346 * include/grub/raid.h: Likewise.
23347 * include/grub/util/lvm.h: Likewise.
23348 * include/grub/util/raid.h: Likewise.
23349 * util/lvm.c: Likewise.
23350 * util/raid.c: Likewise.
23351
23352 * include/grub/disk.h (grub_disk_dev_id): Add
23353 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
23354 (grub_disk_get_size): New prototype.
23355 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
23356 returns a partition.
23357 (grub_disk_get_size): New function.
23358
23359 * kern/i386/pc/init.c (make_install_device): Copy the prefix
23360 verbatim if grub_install_dos_part is -2.
23361
23362 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
23363 and LVM devices.
23364
23365 * util/i386/pc/grub-setup.c (setup): New argument
23366 MUST_EMBED. Force embedding of GRUB when the argument is
23367 true. Close FILE before returning.
23368 (main): Add support for RAID and LVM.
23369
23370 * conf/common.rmk: Add RAID and LVM modules.
23371 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
23372 util/lvm.c.
23373 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
23374
23375 * kern/misc.c (grub_strstr): New function.
23376 * include/grub/misc.h (grub_strstr): New prototype.
23377
23378 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
23379
23380 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
23381
23382 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
23383
23384 * kern/misc.c (grub_strtoull): Guess the base only if not
23385 specified.
23386
23387 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
23388
23389 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
23390 PowerMac support.
23391
23392 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
23393
23394 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
23395
23396 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
23397 Remove `flags' argument. All callers changed.
23398 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
23399 (IEEE1275_IHANDLE_INVALID): New variable.
23400 (IEEE1275_CELL_INVALID): New variable.
23401 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23402 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
23403 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
23404 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
23405 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
23406 codes from Open Firmware. All callers updated.
23407 (grub_ieee1275_next_property): Directly return Open Firmware return
23408 code.
23409 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23410 Standardize error checking from `grub_ieee1275_get_property'.
23411 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
23412 `devalias' to `aliases'. Correct comments. Consolidate error paths.
23413
23414 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
23415
23416 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
23417 `instance_to_package_args' to `instance_to_path_args'.
23418
23419 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
23420 `grub_ieee1275_chosen'.
23421
23422 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
23423 `grub_ieee1275_interpret'.
23424
23425 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
23426
23427 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23428
23429 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
23430
23431 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23432 (__cmpdi): Likewise.
23433
23434 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23435 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23436 `grub_ssize_t'.
23437
23438 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
23439
23440 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23441 to type `grub_ssize_t'.
23442 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23443
23444 2006-09-22 Marco Gerards <marco@gnu.org>
23445
23446 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23447 newlines.
23448
23449 2006-09-22 Marco Gerards <marco@gnu.org>
23450
23451 * commands/echo.c: New file.
23452
23453 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23454
23455 * conf/common.rmk (echo_mod_SOURCES): New variable.
23456 (echo_mod_CFLAGS): Likewise.
23457 (echo_mod_LDFLAGS): Likewise.
23458
23459 2006-09-22 Marco Gerards <marco@gnu.org>
23460
23461 * normal/main.c (get_line): Malloc memory instead of using
23462 preallocated memory. Removed the arguments `cmdline' and
23463 `max_len'. Updated all callers.
23464
23465 2006-09-22 Marco Gerards <marco@gnu.org>
23466
23467 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23468 (normal_mod_DEPENDENCIES): Likewise.
23469
23470 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23471 (normal_mod_DEPENDENCIES): Likewise.
23472
23473 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23474
23475 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
23476
23477 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23478 programs.
23479 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23480 (normal_mod_DEPENDENCIES): Likewise.
23481 * conf/i386-pc.mk: Regenerate.
23482 * conf/i386-efi.mk: Likewise
23483 * conf/common.mk: Likewise.
23484 * conf/powerpc-ieee1275.mk: Likewise.
23485 * conf/sparc64-ieee1275.mk: Likewise.
23486
23487 2006-09-22 Robert Millan <rmh@aybabtu.com>
23488
23489 Sync with i386 version.
23490 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23491 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23492
23493 2006-09-21 Robert Millan <rmh@aybabtu.com>
23494
23495 Import from GRUB Legacy (lib/device.c):
23496 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23497 (init_device_map) [__linux__]: Add support for I2O devices.
23498
23499 2006-09-14 Marco Gerards <marco@gnu.org>
23500
23501 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23502 `-melf_i386'.
23503
23504 2006-09-14 Robert Millan <rmh@aybabtu.com>
23505
23506 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23507 /boot/grub/*.lst.
23508
23509 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
23510
23511 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23512 before adding it to device.map.
23513
23514 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
23515
23516 * genmk.rb: Let GCC generate dependencies the first time it
23517 compiles a file; using the -MD option.
23518 * conf/common.mk: Regenerate.
23519 * conf/i386-pc.mk: Likewise.
23520 * conf/i386-efi.mk: Likewise.
23521 * conf/powerpc-ieee1275.mk: Likewise.
23522 * conf/sparc64-ieee1275.mk: Likewise.
23523
23524 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
23525
23526 Move the prototypes of grub_setjmp and grub_longjmp to
23527 cpu/setjmp.h, so that each architecture may specify different
23528 attributes.
23529
23530 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
23531 (grub_longjmp): Likewise.
23532 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
23533 (grub_longjmp): Likewise.
23534 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
23535 (grub_longjmp): Likewise.
23536
23537 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
23538 [!GRUB_UTIL] (grub_longjmp): Removed.
23539
23540 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
23541
23542 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
23543 "color!" method does not return any value.
23544
23545 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23546
23547 * include/grub/bitmap.h: New file.
23548
23549 * include/grub/i386/pc/vbeutil.h: Likewise.
23550
23551 * video/bitmap.c: Likewise.
23552
23553 * video/readers/tga.c: Likewise.
23554
23555 * video/i386/pc/vbeutil.c: Likewise.
23556
23557 * commands/videotest.c: Code cleanup and updated to reflect to new
23558 video API.
23559
23560 * term/gfxterm.c: Likewise.
23561
23562 * video/video.c: Likewise.
23563
23564 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
23565 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
23566 (bitmap_mod_SOURCES): New entry.
23567 (bitmap_mod_CFLAGS): Likewise.
23568 (bitmap_mod_LDFLAGS): Likewise.
23569 (tga_mod_SOURCES): Likewise.
23570 (tga_mod_CFLAGS): Likewise.
23571 (tga_mod_LDFLAGS): Likewise.
23572
23573 * include/grub/video.h (grub_video_blit_operators): New enum type.
23574 (grub_video_render_target): Changed as forward declaration and moved
23575 actual definition to be video driver specific.
23576 (grub_video_adapter.blit_bitmap): Added blitting operator.
23577 (grub_video_adapter.blit_render_target): Likewise.
23578 (grub_video_blit_bitmap): Likewise.
23579 (grub_video_blit_render_target): Likewise.
23580
23581 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
23582 driver specific render target definition.
23583 (grub_video_vbe_map_rgba): Added driver internal helper.
23584 (grub_video_vbe_unmap_color): Updated to use
23585 grub_video_i386_vbeblit_info.
23586 (grub_video_vbe_get_video_ptr): Likewise.
23587
23588 * include/grub/i386/pc/vbeblit.h
23589 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
23590 grub_video_i386_vbeblit_info.
23591 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23592 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23593 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23595 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23596 (grub_video_i386_vbeblit_index_index): Likewise.
23597 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
23598 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23599 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23600 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
23601 operator.
23602 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
23603 operator.
23604
23605 * video/i386/pc/vbeblit.c: Updated to reflect changes on
23606 include/grub/i386/pc/vbeblit.h.
23607
23608 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
23609 Updated to use grub_video_i386_vbeblit_info.
23610 (grub_video_i386_vbefill_R8G8B8): Likewise.
23611 (grub_video_i386_vbefill_index): Likewise.
23612 (grub_video_i386_vbefill): Added generic filler.
23613
23614 * video/i386/pc/vbefill.c: Updated to reflect changes on
23615 include/grub/i386/pc/vbefill.h.
23616
23617 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
23618 grub_video_i386_vbeblit_info.
23619 (grub_video_vbe_unmap_color): Likewise.
23620 (grub_video_vbe_blit_glyph): Likewise.
23621 (grub_video_vbe_scroll): Likewise.
23622 (grub_video_vbe_draw_pixel): Removed function.
23623 (grub_video_vbe_get_pixel): Likewise.
23624 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
23625 updated code to use it.
23626 (common_blitter): Added common blitter for render target and bitmap.
23627 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
23628 (grub_video_vbe_blit_render_target): Likewise.
23629
23630 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
23631
23632 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
23633 is in text mode if there is no console control protocol instance
23634 available.
23635
23636 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23637
23638 * include/grub/video.h: Code cleanup.
23639
23640 * include/grub/i386/pc/vbe.h: Likewise.
23641
23642 * video/i386/pc/vbe.c: Likewise.
23643
23644 * video/i386/pc/vbeblit.c: Likewise.
23645
23646 * video/i386/pc/vbefill.c: Likewise.
23647
23648 * video/video.c: Likewise. Also added more comments.
23649
23650 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
23651
23652 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
23653 (struct grub_biosdisk_dap): Likewise.
23654
23655 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
23656 linkage settings for all functions.
23657
23658 2006-07-12 Marco Gerards <marco@gnu.org>
23659
23660 * configure.ac (--enable-mm-debug): Fix typo.
23661
23662 * genkernsyms.sh.in: Use proper quoting for `CC'.
23663
23664 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
23665
23666 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
23667 (normal_mod_ASFLAGS): Remove "-m32".
23668
23669 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
23670
23671 * util/misc.c: Include config.h.
23672 [!HAVE_MEMALIGN]: Do not include malloc.h.
23673 (grub_memalign): Use posix_memalign, if present. Then, use
23674 memalign, if present. Otherwise, emit an error.
23675
23676 * util/grub-emu.c: Do not include malloc.h.
23677
23678 * include/grub/util/misc.h: Include unistd.h. This is required for
23679 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
23680 D. Eades III <hde@foobar-qux.org>.
23681
23682 * configure.ac (AC_GNU_SOURCE): Added.
23683 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
23684 type.
23685
23686 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
23687
23688 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
23689 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
23690
23691 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
23692
23693 * include/grub/types.h (grub_host_addr_t): Rename to
23694 grub_target_addr_t.
23695 (grub_host_off_t): Rename to grub_target_off_t.
23696 (grub_host_size_t): Rename to grub_target_size_t.
23697 (grub_host_ssize_t): Rename to grub_target_ssize_t.
23698 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
23699
23700 * include/grub/kernel.h (struct grub_module_header): Change type
23701 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
23702 (grub_module_info): Likewise.
23703
23704 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23705
23706 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
23707 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
23708 Velazquez <jesus.velazquez@gmail.com>.
23709
23710 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
23711
23712 Count partitions from 1 instead of 0 in the string representation
23713 of partitions. Still use 0-based internally.
23714
23715 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
23716 (sun_partition_map_iterate): Use grub_partition_t instead of
23717 struct grub_partition *. Cast DESC->START_CYLINDER to
23718 grub_uint64_t after converting the endian.
23719 (sun_partition_map_probe): Subtract 1 for PARTNUM.
23720 (sun_partition_map_get_name): Add 1 to P->INDEX.
23721
23722 * partmap/pc.c (grub_partition_parse): Subtract 1 for
23723 PCDATA->DOS_PART.
23724 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
23725
23726 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
23727 zero instead of one.
23728 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
23729 (gpt_partition_map_get_name): Add 1 into P->INDEX.
23730
23731 * partmap/apple.c (apple_partition_map_iterate): Change the type
23732 of POS to unsigned.
23733 (apple_partition_map_probe): Subtract 1 for PARTNUM.
23734 (apple_partition_map_get_name): Add 1 into P->INDEX.
23735
23736 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
23737 of POS to unsigned.
23738 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
23739 calculate the offset of a partition.
23740 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
23741 (amiga_partition_map_get_name): Add 1 into P->INDEX.
23742
23743 * partmap/acorn.c (acorn_partition_map_find): Change the type of
23744 SECTOR to grub_disk_addr_t.
23745 (acorn_partition_map_iterate): Likewise.
23746 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
23747 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
23748 top.
23749 (acorn_partition_map_get_name): Add 1 into P->INDEX.
23750
23751 * kern/i386/pc/init.c (make_install_device): Add 1 into
23752 GRUB_INSTALL_DOS_PART.
23753
23754 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
23755 conditional.
23756
23757 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23758
23759 Clean up the code to support 64-bit addressing in disks and
23760 files. This change is not enough for filesystems yet.
23761
23762 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
23763 type of "start" to grub_uint64_t.
23764 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
23765 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
23766 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
23767 convert addresses.
23768
23769 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
23770 to grub_disk_addr_t.
23771
23772 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
23773 string.
23774
23775 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23776
23777 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
23778 to char *.
23779
23780 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
23781
23782 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
23783
23784 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
23785
23786 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
23787 to grub_off_t, to detect an error from grub_file_seek.
23788 (grub_multiboot_load_elf32): Likewise.
23789
23790 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
23791 maximum unsigned long value when an overflow is detected.
23792 (grub_strtoull): New function.
23793 (grub_divmod64): Likewise.
23794 (grub_lltoa): use grub_divmod64.
23795
23796 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
23797 grub_disk_addr_t.
23798 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
23799 the pointer to next character. Use grub_strtoull instead of
23800 grub_strtoul.
23801 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
23802 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
23803 respectively.
23804
23805 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
23806 return value is signed.
23807 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
23808 test if OFFSET is less than zero, as OFFSET is unsigned now.
23809
23810 * kern/disk.c (struct grub_disk_cache): Change the type of
23811 "sector" to grub_disk_addr_t.
23812 (grub_disk_cache_get_index): Change the type of SECTOR to
23813 grub_disk_addr_t. Calculate the hash with SECTOR casted to
23814 unsigned after shifting.
23815 (grub_disk_cache_invalidate): Change the type of SECTOR to
23816 grub_disk_addr_t.
23817 (grub_disk_cache_unlock): Likewise.
23818 (grub_disk_cache_store): Likewise.
23819 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
23820 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
23821 grub_disk_addr_t and grub_uint64_t, respectively.
23822 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
23823 body, as the value of OFFSET is tweaked by
23824 grub_disk_check_range. Change the types of START_SECTOR, LEN and
23825 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
23826 respectively.
23827 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
23828 body, as the value of OFFSET is tweaked by
23829 grub_disk_check_range. Change the types of LEN and N to
23830 grub_size_t.
23831
23832 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
23833 and "saved_offset" to grub_off_t.
23834 (test_header): Cast BUF to char *.
23835 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
23836 to char *.
23837 (grub_gzio_read): Change the types of OFFSET and SIZE to
23838 grub_off_t and grub_size_t, respectively.
23839
23840 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
23841 Removed.
23842 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
23843 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
23844 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
23845 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
23846 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
23847
23848 * include/grub/types.h (grub_off_t): Unconditionally set to
23849 grub_uint64_t.
23850 (grub_disk_addr_t): Changed to grub_uint64_t.
23851
23852 * include/grub/partition.h (struct grub_partition): Change the
23853 types of "start", "len" and "offset" to grub_disk_addr_t,
23854 grub_uint64_t and grub_disk_addr_t, respectively.
23855 (grub_partition_get_start): Return grub_disk_addr_t.
23856 (grub_partition_get_len): Return grub_uint64_t.
23857
23858 * include/grub/misc.h (grub_strtoull): New prototype.
23859 (grub_divmod64): Likewise.
23860
23861 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
23862 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
23863 grub_off_t, respectively.
23864 All callers and references changed.
23865
23866 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
23867 grub_size_t in "read".
23868 All callers and references changed.
23869
23870 * include/grub/file.h (struct grub_file): Change the types of
23871 "offset" and "size" to grub_off_t and grub_off_t,
23872 respectively. Change the type of SECTOR to grub_disk_addr_t in
23873 "read_hook".
23874 (grub_file_read): Change the type of LEN to grub_size_t.
23875 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
23876 grub_off_t.
23877 (grub_file_size): Return grub_off_t.
23878 (grub_file_tell): Likewise.
23879 All callers and references changed.
23880
23881 * include/grub/disk.h (struct grub_disk_dev): Change the types of
23882 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
23883 "write".
23884 (struct grub_disk): Change the type of "total_sectors" to
23885 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
23886 "read_hook".
23887 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
23888 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
23889 (grub_disk_write): Likewise.
23890 All callers and references changed.
23891
23892 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
23893 char * for grub_strncmp to silence gcc.
23894 (grub_iso9660_mount): Likewise.
23895 (grub_iso9660_mount): Likewise.
23896 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
23897 return statement.
23898 (grub_iso9660_iterate_dir): Likewise.
23899 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
23900
23901 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
23902 LEN to grub_disk_addr_t and grub_size_t, respectively.
23903
23904 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23905
23906 * fs/jfs.c (grub_jfs_read_file): Likewise.
23907
23908 * fs/minix.c (grub_jfs_read_file): Likewise.
23909
23910 * fs/sfs.c (grub_jfs_read_file): Likewise.
23911
23912 * fs/ufs.c (grub_jfs_read_file): Likewise.
23913
23914 * fs/xfs.c (grub_jfs_read_file): Likewise.
23915
23916 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
23917 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
23918 respectively.
23919
23920 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
23921 BLKNR to -1 instead of returning GRUB_ERRNO.
23922 (grub_ext2_read_file): Change the types of SECTOR and
23923 LEN to grub_disk_addr_t and grub_size_t, respectively.
23924
23925 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
23926 LEN to grub_disk_addr_t and grub_size_t, respectively.
23927
23928 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
23929 grub_file_read.
23930
23931 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
23932 string. Do not cast SECTOR explicitly.
23933
23934 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
23935 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
23936 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
23937 grub_disk_addr_t and grub_size_t, respectively. If the sector is
23938 over 2TB and LBA mode is not supported, raise an error.
23939 (get_safe_sectors): New function.
23940 (grub_biosdisk_read): Use get_safe_sectors.
23941 (grub_biosdisk_write): Likewise.
23942
23943 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
23944 (grub_efidisk_write): Likewise.
23945
23946 * disk/loopback.c (delete_loopback): Cosmetic changes.
23947 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
23948 correctly.
23949 (grub_loopback_open): Likewise.
23950 (grub_loopback_read): Likewise. Also, change the type of POS to
23951 grub_off_t, and fix the usage of grub_memset.
23952
23953 * commands/i386/pc/play.c: Include grub/machine/time.h.
23954
23955 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
23956 print FILE->SIZE.
23957
23958 * commands/configfile.c: Include grub/env.h.
23959
23960 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
23961 GRUB_ERRNO directly instead. Change the type of POS to
23962 grub_off_t. Follow the coding standard.
23963
23964 * commands/blocklist.c: Include grub/partition.h.
23965 (grub_cmd_blocklist): Return an error if the underlying device is
23966 not a disk. Take the starting sector of a partition into account,
23967 if a partition is used.
23968
23969 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
23970 a length field.
23971 (lba_mode): Support 64-bit addresses.
23972 (chs_mode): Likewise.
23973 (copy_buffer): Adapted to the new offsets of a length field and a
23974 segment field.
23975 (blocklist_default_start): Allocate 64-bit space.
23976
23977 * boot/i386/pc/boot.S (force_lba): Removed.
23978 (boot_drive): Moved to under KERNEL_SECTOR.
23979 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
23980 space.
23981 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
23982 is useless.
23983 (lba_mode): Refactored to support a 64-bit address. More size
23984 optimization.
23985 (setup_sectors): Likewise.
23986
23987 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
23988
23989 * DISTLIST: Added include/grub/i386/linux.h. Removed
23990 include/grub/i386/pc/linux.h
23991
23992 * configure.ac (AC_INIT): Bumped to 1.94.
23993
23994 * config.guess: Updated from gnulib.
23995 * config.sub: Likewise.
23996 * install-sh: Likewise.
23997 * mkinstalldirs: Likewise.
23998
23999 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
24000
24001 * conf/common.rmk (grub_modules_init.lst): Depended on
24002 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
24003 MODSRCFILES.
24004
24005 * genmk.rb (PModule::rule): Reverted the previous change.
24006
24007 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
24008
24009 * conf/common.rmk (grub_modules_init.lst): Depends on
24010 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
24011 that the target does not exist before producing.
24012 (grub_modules_init.h): Remove the target before generating.
24013 (grub_emu_init.c): Likewise.
24014
24015 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
24016
24017 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
24018
24019 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
24020 for the target-specific tests. Make sure that we also have the
24021 up-to-date target variables for those tests.
24022
24023 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
24024
24025 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
24026 (PModule::rule): Likewise.
24027
24028 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
24029
24030 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
24031 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
24032 target-specific flags should be prefixed.
24033 (PModule::rule): Likewise.
24034
24035 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
24036
24037 * configure.ac (CMP): Check if cmp is available explicitly.
24038
24039 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
24040
24041 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
24042 (target_cpu): New variable.
24043 (pkglibdir): Use target_cpu instead of host_cpu.
24044
24045 * util/i386/pc/grub-install.in (host_cpu): Removed.
24046 (target_cpu): New variable.
24047 (pkglibdir): Use target_cpu instead of host_cpu.
24048
24049 * util/genmoddep.c: Removed.
24050
24051 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
24052 instead of GRUB_HOST_SIZEOF_VOID_P.
24053 * kern/dl.c: Likewise.
24054
24055 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
24056 ...
24057 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24058 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24059 (GRUB_TARGET_SIZEOF_LONG): ... this.
24060 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24061 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24062 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
24063 to ...
24064 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24065 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24066 (GRUB_TARGET_SIZEOF_LONG): ... this.
24067 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24068 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24069 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
24070 to ...
24071 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24072 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24073 (GRUB_TARGET_SIZEOF_LONG): ... this.
24074 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24075 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24076
24077 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
24078 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
24079 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
24080 instead of GRUB_HOST_SIZEOF_LONG.
24081 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
24082 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
24083 GRUB_CPU_WORDS_BIGENDIAN.
24084 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
24085 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
24086 grub_host_ssize_t.
24087
24088 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
24089 (genmoddep_SOURCES): Likewise.
24090 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
24091 (genmoddep_SOURCES): Likewise.
24092 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
24093 (genmoddep_SOURCES): Likewise.
24094 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
24095 Likewise.
24096 (genmoddep_SOURCES): Likewise.
24097
24098 * genmoddep.awk: New file.
24099
24100 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
24101 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
24102 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
24103 (PModule::rule): Likewise.
24104 (Program::rule): Likewise.
24105 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
24106 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
24107 respectively.
24108
24109 * configure.ac: Rewritten intensively to use host and target
24110 instead of build and host, respectively.
24111
24112 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
24113 (host_cpu): Removed.
24114 (target_cpu): New variable.
24115 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
24116 (BUILD_CC): Removed.
24117 (BUILD_CFLAGS): Likewise.
24118 (BUILD_CPPFLAGS): Likewise.
24119 (TARGET_CC): New variable.
24120 (TARGET_CFLAGS): Likewise.
24121 (TARGET_CPPFLAGS): Likewise.
24122 (TARGET_LDFLAGS): Likewise.
24123 (AWK): Likewise.
24124 (include): Use target_cpu instead of host_cpu.
24125 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
24126
24127 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
24128
24129 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
24130
24131 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
24132 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
24133 field 'false' to 'exec_on_false'.
24134 (grub_script_create_cmdif): Renamed argument names to reflect above
24135 changes.
24136
24137 * normal/execute.c (grub_script_execute_cmdif): Likewise.
24138
24139 * normal/script.c (grub_script_create_cmdif): Likewise.
24140
24141 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
24142
24143 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
24144 top.
24145 (grub_hfsplus_btree_recptr): Likewise.
24146 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
24147 FILEBLOCK both to pass a block number and store next block
24148 number.
24149 (grub_hfsplus_read_block): Rewritten heavily to support an extent
24150 overflow file correctly. Specify errors appropriately, because
24151 fshelp expects that GRUB_ERRNO is set when fails. Reuse
24152 grub_hfsplus_btree_recptr to get the pointer to a found key.
24153 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
24154 is found.
24155
24156 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
24157 linux.mod.
24158 (_linux_mod_SOURCES): New variable.
24159 (_linux_mod_CFLAGS): Likewise.
24160 (_linux_mod_LDFLAGS): Likewise.
24161 (linux_mod_SOURCES): Likewise.
24162 (linux_mod_CFLAGS): Likewise.
24163 (linux_mod_LDFLAGS): Likewise.
24164
24165 * DISTLIST: Added loader/i386/efi/linux.c,
24166 loader/i386/efi/linux_normal.c and
24167 include/grub/i386/efi/loader.h.
24168
24169 * loader/i386/efi/linux.c: New file.
24170 * loader/i386/efi/linux_normal.c: Likewise.
24171 * include/grub/i386/efi/loader.h: Likewise.
24172
24173 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
24174
24175 * commands/blocklist.c: New file.
24176
24177 * DISTLIST: Added commands/blocklist.c.
24178
24179 * term/efi/console.c (grub_console_highlight_color): Use a lighter
24180 color for the background, and a darker color for the foreground.
24181 (grub_console_checkkey): Return READ_KEY.
24182 (grub_console_cls): Set the background to
24183 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
24184
24185 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
24186
24187 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
24188 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
24189
24190 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
24191 prototype.
24192
24193 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
24194 BG. The spec is wrong again.
24195
24196 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
24197 prototype.
24198 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
24199
24200 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24201 commands/blocklist.c.
24202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24203
24204 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
24205 (blocklist_mod_SOURCES): New variable.
24206 (blocklist_mod_CFLAGS): Likewise.
24207 (blocklist_mod_LDFLAGS): Likewise.
24208
24209 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
24210
24211 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
24212 duplication.
24213 (lba_mode): Use %eax more intensively to reduce the code size.
24214
24215 2006-05-20 Marco Gerards <marco@gnu.org>
24216
24217 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
24218
24219 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
24220 for `menuentry'.
24221 (script): Accept leading newlines.
24222 (newlines): New rule to describe 0 or more newlines.
24223 (commands): Accept `command' with trailing newline. Fixed the
24224 order in which arguments were passed to `grub_script_add_cmd'.
24225 Accept commands separated by newlines.
24226 (function): Changed to accept newlines.
24227 (menuentry) Rewritten.
24228
24229 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
24230 front of the list, instead of to the end.
24231
24232 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
24233
24234 * util/i386/pc/grub-install.in (bindir): New variable.
24235 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
24236 Shaver <lbgwjl@gmail.com>.
24237
24238 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
24239
24240 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
24241 grub/machine/linux.h
24242 * loader/i386/pc/linux.c: Likewise.
24243
24244 * include/grub/i386/pc/linux.h: Moved to ...
24245 * include/grub/i386/linux.h: ... here.
24246
24247 * include/grub/i386/linux.h (struct linux_kernel_params): New
24248 struct.
24249
24250 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
24251
24252 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
24253 checking.
24254 (grub_video_vbe_blit_glyph): Likewise.
24255 (grub_video_vbe_blit_bitmap): Likewise.
24256 (grub_video_vbe_blit_render_target): Likewise.
24257
24258 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
24259
24260 * configure.ac (--with-platform): Properly quote the square
24261 brackets.
24262
24263 2006-05-08 Marco Gerards <marco@gnu.org>
24264
24265 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
24266 this...
24267 (kernel_elf_HEADERS): ...to this. Updated all users.
24268 (grubof_symlist.c): Renamed from this...
24269 (kernel_elf_symlist.c): ...to this. Updated all users.
24270 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
24271 (grubof_SOURCES): Renamed from this...
24272 (kernel_elf_SOURCES): ...to this.
24273 (grubof_HEADERS): Renamed from this...
24274 (kernel_elf_HEADERS): ...to this.
24275 (grubof_CFLAGS): Renamed from this...
24276 (kernel_elf_CFLAGS): ...to this.
24277 (grubof_ASFLAGS): Renamed from this...
24278 (kernel_elf_ASFLAGS): ...to this.
24279 (grubof_LDFLAGS): Renamed from this...
24280 (kernel_elf_LDFLAGS): ...to this.
24281
24282 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
24283 this...
24284 (kernel_elf_HEADERS): ...to this. Updated all users.
24285 (grubof_symlist.c): Renamed from this...
24286 (kernel_elf_symlist.c): ...to this. Updated all users.
24287 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
24288 (grubof_SOURCES): Renamed from this...
24289 (kernel_elf_SOURCES): ...to this.
24290 (grubof_HEADERS): Renamed from this...
24291 (kernel_elf_HEADERS): ...to this.
24292 (grubof_CFLAGS): Renamed from this...
24293 (kernel_elf_CFLAGS): ...to this.
24294 (grubof_ASFLAGS): Renamed from this...
24295 (kernel_elf_ASFLAGS): ...to this.
24296 (grubof_LDFLAGS): Renamed from this...
24297 (kernel_elf_LDFLAGS): ...to this.
24298
24299 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
24300 `kernel.elf' instead of `grubof'.
24301
24302 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
24303
24304 Add --with-platform to configure. Use pkglibdir instead of
24305 pkgdatadir. This is reported by Roger Leigh.
24306
24307 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
24308 (host_vendor): Likewise.
24309 (host_os): Likewise.
24310 (pkgdatadir): Likewise.
24311 (platform): New variable.
24312 (pkglibdir): Likewise.
24313 Use PKGLIBDIR instead of PKGDATADIR.
24314
24315 * util/i386/pc/grub-install.in (datadir): Removed.
24316 (host_vendor): Likewise.
24317 (host_os): Likewise.
24318 (pkgdatadir): Likewise.
24319 (platform): New variable.
24320 (pkglibdir): Likewise.
24321 Use PKGLIBDIR instead of PKGDATADIR.
24322
24323 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
24324 instead of GRUB_DATADIR.
24325 (main): Likewise.
24326 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24327 (main): Likewise.
24328 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24329 (main): Likewise.
24330
24331 * configure.ac (--with-platform): New option.
24332 Use PLATFORM instead of HOST_VENDOR to specify a platform.
24333
24334 * Makefile.in: Include a makefile based on PLATFORM instead of
24335 HOST_VENDOR.
24336 (pkgdatadir): Not appended by the machine type.
24337 (pkglibdir): Appended by the machine type.
24338 (host_vendor): Removed.
24339 (platform): New variable.
24340 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
24341 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
24342 (uninstall): Likewise.
24343
24344 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
24345
24346 Use the environment context in the menu. Remove the commands
24347 "default" and "timeout", and use variables instead.
24348
24349 * normal/menu.c: Include grub/env.h.
24350 (print_entry): Cast TITLE to silence gcc.
24351 (get_timeout): New function.
24352 (set_timeout): Likewise.
24353 (get_entry_number): Likewise.
24354 (run_menu): Use a default entry, a fallback entry and a timeout
24355 in the environment variables "default", "fallback" and
24356 "timeout". Also, tweak the default entry if it is not within the
24357 current menu entries.
24358 (grub_menu_run): Use a fallback entry in the environment variable
24359 "fallback".
24360
24361 * normal/main.c (read_config_file): Do not initialize
24362 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
24363 NEWMENU->TIMEOUT.
24364 (grub_normal_execute): Use a data slot to store the menu.
24365
24366 * include/grub/normal.h (struct grub_menu): Removed default_entry,
24367 fallback_entry and timeout.
24368 (struct grub_menu_list): Removed.
24369 (grub_menu_list_t): Likewise.
24370 (struct grub_context): Likewise.
24371 (grub_context_t): Likewise.
24372 (grub_context_get): Likewise.
24373 (grub_context_get_current_menu): Likewise.
24374 (grub_context_push_menu): Likewise.
24375 (grub_context_pop_menu): Likewise.
24376 (grub_default_init): Likewise.
24377 (grub_default_fini): Likewise.
24378 (grub_timeout_init): Likewise.
24379 (grub_timeout_fini): Likewise.
24380
24381 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
24382 and timeout.mod.
24383 (normal_mod_SOURCES): Removed normal/context.c.
24384
24385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
24386 commands/default.c, commands/timeout.c and normal/context.c.
24387 (normal_mod_SOURCES): Removed normal/context.c.
24388
24389 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
24390 commands/timeout.c and normal/context.c.
24391 (normal_mod_SOURCES): Removed normal/context.c.
24392
24393 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
24394 commands/default.c, commands/timeout.c and normal/context.c.
24395 (normal_mod_SOURCES): Removed normal/context.c.
24396
24397 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
24398 timeout.mod.
24399 (default_mod_SOURCES): Removed.
24400 (default_mod_CFLAGS): Likewise.
24401 (default_mod_LDFLAGS): Likewise.
24402 (timeout_mod_SOURCES): Removed.
24403 (timeout_mod_CFLAGS): Likewise.
24404 (timeout_mod_LDFLAGS): Likewise.
24405
24406 * DISTLIST: Removed commands/default.c, commands/timeout.c and
24407 normal/context.c.
24408
24409 * commands/default.c: Removed.
24410 * commands/timeout.c: Likewise.
24411 * normal/context.c: Likewise.
24412
24413 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
24414
24415 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
24416
24417 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
24418
24419 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
24420 "next" to "prev" for readability.
24421 (struct grub_env_sorted_var): New struct.
24422 (grub_env_context): Renamed to ...
24423 (initial_context): ... this.
24424 (grub_env_var_context): Renamed to ...
24425 (current_context): ... this.
24426 (grub_env_find): Look only at CURRENT_CONTEXT.
24427 (grub_env_context_open): Rewritten to copy exported variables from
24428 previous context.
24429 (grub_env_context_close): Rewritten according to the new
24430 scheme. Also, add an assertion to prevent the initial context from
24431 removed.
24432 (grub_env_insert): Removed the code for the sorted list.
24433 (grub_env_remove): Likewise.
24434 (grub_env_export): Simply mark the variable with
24435 GRUB_ENV_VAR_GLOBAL.
24436 (grub_env_set): A cosmetic change for naming consistency.
24437 (grub_env_get): Likewise.
24438 (grub_env_unset): Likewise.
24439 (grub_env_iterate): Rewritten to sort variables within this
24440 function.
24441 (grub_register_variable_hook): Fixed for naming consistency. Call
24442 grub_env_find again, only if NAME is not found at the first time.
24443 (mangle_data_slot_name): New function.
24444 (grub_env_set_data_slot): Likewise.
24445 (grub_env_get_data_slot): Likewise.
24446 (grub_env_unset_data_slot): Likewise.
24447
24448 * include/grub/env.h (grub_env_var_type): New enum.
24449 (GRUB_ENV_VAR_LOCAL): New constant.
24450 (GRUB_ENV_VAR_GLOBAL): Likewise.
24451 (GRUB_ENV_VAR_DATA): Likewise.
24452 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24453 "type".
24454 (grub_env_set): Replace VAR with NAME for consistency.
24455 (grub_register_variable_hook): Likewise.
24456 (grub_env_export): Specify the name of the argument.
24457 (grub_env_set_data_slot): New prototype.
24458 (grub_env_get_data_slot): Likewise.
24459 (grub_env_unset_data_slot): Likewise.
24460
24461 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24462
24463 Extend the loader so that GRUB can accept a loader which comes
24464 back to GRUB when a loaded image exits. Also, this change adds
24465 support for a chainloader on EFI.
24466
24467 * term/efi/console.c: Include grub/misc.h.
24468 (grub_console_checkkey): Display a scan code on the top for
24469 debugging. This will be removed once the EFI port gets stable.
24470 Correct the scan code mapping.
24471
24472 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24473 allocate memory from larger regions, in order to reduce the number
24474 of allocated regions. Otherwise, the MacOSX loader panics.
24475 (filter_memory_map): Avoid less than 1MB for compatibility with
24476 other loaders.
24477 (add_memory_regions): Allocate from the tail of a region, if
24478 possible, to avoid allocating a region near to 1MB, for the MacOSX
24479 loader.
24480
24481 * kern/efi/init.c (grub_efi_set_prefix): Specify
24482 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24483
24484 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24485 argument IMAGE_HANDLE and specify it to get a loaded image.
24486 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24487 grub_efi_get_loaded_image.
24488 (grub_efi_get_filename): Divide the length by the size of
24489 grub_efi_char16_t.
24490 (grub_efi_get_device_path): New function.
24491 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24492 the length by the size of grub_efi_char16_t for a file path device
24493 path node.
24494
24495 * kern/loader.c (grub_loader_noreturn): New variable.
24496 (grub_loader_set): Accept a new argument NORETURN. Set
24497 GRUB_LOADER_NORETURN to NORETURN.
24498 All callers changed.
24499 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24500 grub_machine_fini.
24501
24502 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24503 prototype.
24504 (grub_efi_get_loaded_image): Take an argument to specify an image
24505 handle.
24506
24507 * include/grub/loader.h (grub_loader_set): Added one more argument
24508 NORETURN.
24509
24510 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24511 instead of grub_efi_open_protocol.
24512 (grub_efidisk_get_device_name): Likewise.
24513 (grub_efidisk_close): Print a newline.
24514 (grub_efidisk_get_device_handle): Fixed to use
24515 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24516 GRUB_EFI_DEVICE_PATH_TYPE.
24517
24518 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24519 * kern/efi/efi.c (device_path_guid): ... here.
24520
24521 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
24522 chain.mod.
24523 (kernel_mod_HEADERS): Added efi/disk.h.
24524 (_chain_mod_SOURCES): New variable.
24525 (_chain_mod_CFLAGS): Likewise.
24526 (_chain_mod_LDFLAGS): Likewise.
24527 (chain_mod_SOURCES): Likewise.
24528 (chain_mod_CFLAGS): Likewise.
24529 (chain_mod_LDFLAGS): Likewise.
24530
24531 * DISTLIST: Added include/grub/efi/chainloader.h,
24532 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
24533
24534 * include/grub/efi/chainloader.h: New file.
24535 * loader/efi/chainloader.c: Likewise.
24536 * loader/efi/chainloader_normal.c: Likewise.
24537
24538 2006-04-30 Marco Gerards <marco@gnu.org>
24539
24540 * commands/configfile.c (grub_cmd_source): New function.
24541 (GRUB_MOD_INIT): Register the commands `source' and `.'.
24542 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
24543
24544 2006-04-30 Marco Gerards <marco@gnu.org>
24545
24546 * normal/execute.c (grub_script_execute_cmd): Change the return
24547 type to `grub_err_t'. Correctly return the error.
24548 (grub_script_execute_cmdline): In case a command line is not a
24549 command or a function, try to interpret it as an assignment.
24550
24551 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24552
24553 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
24554 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
24555 skip a node whose name is obviously invalid as UTF-16,
24556 i.e. contains a NUL character. Stop the iteration when the last
24557 directory entry is found. Instead of using the return value of
24558 grub_hfsplus_btree_iterate_node, store the value in RET and use
24559 it, because the iterator can be stopped by the last directory
24560 entry.
24561
24562 2006-04-30 Marco Gerards <marco@gnu.org>
24563
24564 * include/grub/env.h (grub_env_export): New prototype. Reported
24565 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
24566
24567 2006-04-30 Marco Gerards <marco@gnu.org>
24568
24569 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
24570 size of the extents in a catalog file record.
24571
24572 2006-04-29 Marco Gerards <marco@gnu.org>
24573
24574 * commands/configfile.c (grub_cmd_configfile): Execute the
24575 configfile within its own context.
24576
24577 * include/grub/env.h (grub_env_context_open): New prototype.
24578 (grub_env_context_close): Likewise.
24579
24580 * kern/env.c (grub_env): Removed.
24581 (grub_env_sorted): Likewise.
24582 (grub_env_context): New variable.
24583 (grub_env_var_context): Likewise.
24584 (grub_env_find): Search both the active context and the global
24585 context.
24586 (grub_env_context_open): New function.
24587 (grub_env_context_close): Likewise.
24588 (grub_env_insert): Likewise.
24589 (grub_env_remove): Likewise.
24590 (grub_env_export): Likewise.
24591 (grub_env_set): Changed to use helper functions to avoid code
24592 duplication.
24593 (grub_env_iterate): Rewritten so both the current context and the
24594 global context are being used.
24595
24596 * normal/command.c (export_command): New function.
24597 (grub_command_init): Register the `export' function.
24598
24599 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
24600
24601 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
24602 explicitly to suppress gcc's warnings.
24603 * fs/fat.c (grub_fat_find_dir): Likewise.
24604 (grub_fat_label): Likewise.
24605 * fs/xfs.c (grub_xfs_read_inode): Likewise.
24606 (grub_xfs_mount): Likewise.
24607 (grub_xfs_label): Likewise.
24608 * fs/affs.c (grub_affs_mount): Likewise.
24609 (grub_affs_label): Likewise.
24610 (grub_affs_iterate_dir): Likewise.
24611 * fs/sfs.c (grub_sfs_mount): Likewise.
24612 (grub_sfs_iterate_dir): Likewise.
24613 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
24614 * fs/hfs.c (grub_hfs_mount): Likewise.
24615 (grub_hfs_cmp_catkeys): Likewise.
24616 (grub_hfs_find_dir): Likewise.
24617 (grub_hfs_dir): Likewise.
24618 (grub_hfs_label): Likewise.
24619 * fs/jfs.c (grub_jfs_mount): Likewise.
24620 (grub_jfs_opendir): Likewise.
24621 (grub_jfs_getent): Likewise.
24622 (grub_jfs_lookup_symlink): Likewise.
24623 (grub_jfs_label): Likewise.
24624 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
24625 (grub_hfsplus_iterate_dir): Likewise.
24626 (grub_hfsplus_btree_iterate_node): Made static.
24627
24628 * util/grub-emu.c (prefix): New variable.
24629 (grub_machine_set_prefix): New function.
24630 (main): Do not set the environment variable "prefix" here. Only
24631 set PREFIX, which is used later by grub_machine_set_prefix.
24632
24633 * include/grub/video.h: Do not include grub/symbol.h.
24634 (grub_video_register): Not exported. This symbol is not defined in
24635 the kernel.
24636 (grub_video_unregister): Likewise.
24637 (grub_video_iterate): Likewise.
24638 (grub_video_setup): Likewise.
24639 (grub_video_restore): Likewise.
24640 (grub_video_get_info): Likewise.
24641 (grub_video_get_blit_format): Likewise.
24642 (grub_video_set_palette): Likewise.
24643 (grub_video_get_palette): Likewise.
24644 (grub_video_set_viewport): Likewise.
24645 (grub_video_get_viewport): Likewise.
24646 (grub_video_map_color): Likewise.
24647 (grub_video_map_rgb): Likewise.
24648 (grub_video_map_rgba): Likewise.
24649 (grub_video_fill_rect): Likewise.
24650 (grub_video_blit_glyph): Likewise.
24651 (grub_video_blit_bitmap): Likewise.
24652 (grub_video_blit_render_target): Likewise.
24653 (grub_video_scroll): Likewise.
24654 (grub_video_swap_buffers): Likewise.
24655 (grub_video_create_render_target): Likewise.
24656 (grub_video_delete_render_target): Likewise.
24657 (grub_video_set_active_render_target): Likewise.
24658
24659 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
24660 Undefined.
24661 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
24662
24663 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
24664 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24665 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24666 instead of $(srcdir)/genkernsyms.sh.
24667
24668 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
24669 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24670 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24671 instead of $(srcdir)/genkernsyms.sh.
24672
24673 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
24674 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24675 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24676 instead of $(srcdir)/genkernsyms.sh.
24677
24678 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
24679 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
24680 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
24681 instead of $(srcdir)/genkernsyms.sh.
24682
24683 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
24684 genkernsyms.sh.
24685
24686 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
24687 genkernsyms.sh.
24688 (gensymlist.sh): New target.
24689 (genkernsyms.sh): Likewise.
24690
24691 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
24692 genkernsyms.sh.in and gensymlist.sh.in.
24693
24694 * genkernsyms.sh: Removed.
24695 * gensymlist.sh: Likewise.
24696
24697 * genkernsyms.sh.in: New file.
24698 * gensymlist.sh.in: Likewise.
24699
24700 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24701
24702 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
24703 clobber "prefix", since we may have already set it manually.
24704
24705 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
24706
24707 * kern/misc.c (abort): New alias for grub_abort.
24708
24709 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
24710
24711 A new machine-specific function "grub_machine_set_prefix" is
24712 defined. This is called after loading modules, so that a prefix
24713 initialization can use modules. Also, this change adds an
24714 intensive debugging feature for the memory manager via the
24715 configure option "--enable-mm-debug".
24716
24717 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
24718 PART.LEN.
24719
24720 * kern/sparc64/ieee1275/init.c (abort): Removed.
24721 (grub_stop): Likewise.
24722 (grub_exit): New function.
24723 (grub_set_prefix): Renamed to ...
24724 (grub_machine_set_prefix): ... this.
24725 (grub_machine_init): Do not call grub_set_prefix.
24726
24727 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
24728 (grub_machine_set_prefix): ... this.
24729 (grub_machine_init): Do not call grub_set_prefix.
24730
24731 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
24732 (grub_machine_init): Do not set the prefix here.
24733
24734 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
24735
24736 * kern/efi/init.c: Include grub/mm.h.
24737 (grub_efi_set_prefix): New function.
24738
24739 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
24740 (grub_efi_get_filename): New function.
24741 (grub_print_device_path): Renamed to ...
24742 (grub_efi_print_device_path): ... this.
24743
24744 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
24745 [MM_DEBUG] (grub_realloc): Likewise.
24746 [MM_DEBUG] (grub_free): Likewise.
24747 [MM_DEBUG] (grub_memalign): Likewise.
24748 [MM_DEBUG] (grub_mm_debug): New variable.
24749 [MM_DEBUG] (grub_debug_malloc): New function.
24750 [MM_DEBUG] (grub_debug_free): New function.
24751 [MM_DEBUG] (grub_debug_realloc): New function.
24752 [MM_DEBUG] (grub_debug_memalign): New function.
24753
24754 * kern/misc.c (grub_abort): Print a newline to distinguish
24755 the message.
24756
24757 * kern/main.c (grub_main): Call grub_machine_set_prefix and
24758 grub_set_root_dev after loading modules. This is necessary when
24759 setting a prefix depends on modules.
24760
24761 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
24762 (grub_efi_print_device_path): ... this.
24763 (grub_efi_get_filename): New prototype.
24764 (grub_efi_set_prefix): Likewise.
24765
24766 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
24767 and grub/disk.h.
24768 (grub_efidisk_get_device_handle): New prototype.
24769 (grub_efidisk_get_device_name): Likewise.
24770
24771 * include/grub/mm.h: Include config.h.
24772 (MM_DEBUG): Removed.
24773 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
24774 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
24775 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
24776 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
24777 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
24778 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
24779 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
24780 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
24781 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
24782
24783 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
24784
24785 * disk/efi/efidisk.c: Include grub/partition.h.
24786 (iterate_child_devices): New function.
24787 (add_device): First, compare only last device path nodes, so that
24788 devices are sorted by the types.
24789 (grub_efidisk_get_device_handle): New function.
24790 (grub_efidisk_get_device_name): Likewise.
24791
24792 * configure.ac (--enable-mm-debug): New option to enable the
24793 memory manager debugging feature. This makes the binary much
24794 bigger, so is disabled by default.
24795
24796 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
24797
24798 Use grub_abort instead of grub_stop, and grub_exit must be
24799 define in each architecture now. Also, this change adds support
24800 for EFI disks.
24801
24802 * util/i386/pc/grub-probefs.c: Include grub/term.h.
24803 (grub_getkey): New function.
24804 (grub_term_get_current): Likewise.
24805
24806 * util/i386/pc/grub-setup.c: Include grub/term.h.
24807 (grub_getkey): New function.
24808 (grub_term_get_current): Likewise.
24809
24810 * util/misc.c (grub_stop): Renamed to ...
24811 (grub_exit): ... this.
24812
24813 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
24814 (grub_exit): ... this.
24815 (grub_machine_init): Use grub_abort instead of abort.
24816 (grub_stop): Removed.
24817
24818 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
24819 abort.
24820
24821 * kern/i386/pc/startup.S (grub_exit): New function.
24822 (cold_reboot): New label.
24823
24824 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
24825 (grub_efi_init): Call grub_efidisk_init.
24826 (grub_efi_fini): Call grub_efidisk_fini.
24827
24828 * kern/efi/efi.c: Include grub/mm.h.
24829 (grub_efi_console_control_guid): Renamed to ...
24830 (console_control_guid): ... this.
24831 (grub_efi_loaded_image_guid): Renamed to ...
24832 (loaded_image_guid): ... this.
24833 (grub_efi_locate_handle): New function.
24834 (grub_efi_open_protocol): Likewise.
24835 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
24836 GRUB_EFI_CONSOLE_CONTROL_GUID.
24837 (grub_efi_exit): Removed.
24838 (grub_stop): Likewise.
24839 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
24840 (grub_exit): New function.
24841 (grub_print_device_path): Likewise.
24842
24843 * kern/rescue.c (grub_rescue_cmd_exit): New function.
24844 (grub_enter_rescue_mode): Register "exit".
24845
24846 * kern/misc.c (grub_real_dprintf): A cosmetic change.
24847 (grub_abort): New function.
24848
24849 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
24850
24851 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
24852
24853 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
24854
24855 * include/grub/efi/efi.h (grub_efi_exit): Removed.
24856 (grub_print_device_path): New prototype.
24857 (grub_efi_locate_handle): Likewise.
24858 (grub_efi_open_protocol): Likewise.
24859
24860 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
24861 * disk/efi/efidisk.c: Likewise.
24862
24863 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
24864
24865 * include/grub/efi/console_control.h
24866 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
24867
24868 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
24869 last 8 bytes as an array.
24870 (GRUB_EFI_DISK_IO_GUID): New macro.
24871 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
24872 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
24873 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
24874 grub_uint8_t.
24875 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
24876 (struct grub_efi_device_path): Rename the member "sub_type" to
24877 "subtype".
24878 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
24879 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
24880 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
24881 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
24882 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
24883 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
24884 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
24885 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
24886 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
24887 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
24888 (struct grub_efi_pci_device_path): New structure.
24889 (grub_efi_pci_device_path_t): New type.
24890 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
24891 (struct grub_efi_pccard_device_path): New structure.
24892 (grub_efi_pccard_device_path_t): New type.
24893 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
24894 (struct grub_efi_memory_mapped_device_path): New structure.
24895 (grub_efi_memory_mapped_device_path_t): New type.
24896 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
24897 (struct grub_efi_vendor_device_path): New structure.
24898 (grub_efi_vendor_device_path_t): New type.
24899 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
24900 (struct grub_efi_controller_device_path): New structure.
24901 (grub_efi_controller_device_path_t): New type.
24902 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
24903 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
24904 (struct grub_efi_acpi_device_path): New structure.
24905 (grub_efi_acpi_device_path_t): New type.
24906 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
24907 (struct grub_efi_expanded_acpi_device_path): New structure.
24908 (grub_efi_expanded_acpi_device_path_t): New type.
24909 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
24910 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
24911 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
24912 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
24913 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
24914 (struct grub_efi_atapi_device_path): New structure.
24915 (grub_efi_atapi_device_path_t): New type.
24916 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
24917 (struct grub_efi_fibre_channel_device_path): New structure.
24918 (grub_efi_fibre_channel_device_path_t): New type.
24919 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
24920 (struct grub_efi_1394_device_path): New structure.
24921 (grub_efi_1394_device_path_t): New type.
24922 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
24923 (struct grub_efi_usb_device_path): New structure.
24924 (grub_efi_usb_device_path_t): New type.
24925 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
24926 (struct grub_efi_usb_class_device_path): New structure.
24927 (grub_efi_usb_class_device_path_t): New type.
24928 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
24929 (struct grub_efi_i2o_device_path): New structure.
24930 (grub_efi_i2o_device_path_t): New type.
24931 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
24932 (struct grub_efi_mac_address_device_path): New structure.
24933 (grub_efi_mac_address_device_path_t): New type.
24934 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
24935 (struct grub_efi_ipv4_device_path): New structure.
24936 (grub_efi_ipv4_device_path_t): New type.
24937 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
24938 (struct grub_efi_ipv6_device_path): New structure.
24939 (grub_efi_ipv6_device_path_t): New type.
24940 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
24941 (struct grub_efi_infiniband_device_path): New structure.
24942 (grub_efi_infiniband_device_path_t): New type.
24943 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
24944 (struct grub_efi_uart_device_path): New structure.
24945 (grub_efi_uart_device_path_t): New type.
24946 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
24947 (struct grub_efi_vendor_messaging_device_path): New structure.
24948 (grub_efi_vendor_messaging_device_path_t): New type.
24949 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
24950 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
24951 (struct grub_efi_hard_drive_device_path): New structure.
24952 (grub_efi_hard_drive_device_path_t): New type.
24953 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
24954 (struct grub_efi_cdrom_device_path): New structure.
24955 (grub_efi_cdrom_device_path_t): New type.
24956 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
24957 (struct grub_efi_vendor_media_device_path): New structure.
24958 (grub_efi_vendor_media_device_path_t): New type.
24959 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
24960 (struct grub_efi_file_path_device_path): New structure.
24961 (grub_efi_file_path_device_path_t): New type.
24962 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
24963 (struct grub_efi_protocol_device_path): New structure.
24964 (grub_efi_protocol_device_path_t): New type.
24965 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
24966 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
24967 (struct grub_efi_bios_device_path): New structure.
24968 (grub_efi_bios_device_path_t): New type.
24969 (struct grub_efi_disk_io): New structure.
24970 (grub_efi_disk_io_t): New type.
24971 (struct grub_efi_block_io_media): New structure.
24972 (grub_efi_block_io_media_t): New type.
24973 (struct grub_efi_block_io): New structure.
24974 (grub_efi_block_io_t): New type.
24975
24976 * include/grub/misc.h (grub_stop): Removed.
24977 (grub_exit): New prototype.
24978 (grub_abort): Likewise.
24979
24980 * include/grub/disk.h (enum grub_disk_dev_id): Added
24981 GRUB_DISK_DEVICE_EFIDISK_ID.
24982
24983 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
24984 disk/efi/efidisk.c.
24985 (kernel_syms.lst): Remove the target if an error occurs.
24986
24987 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
24988
24989 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
24990 as it was simply too buggy.
24991
24992 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
24993
24994 * kern/misc.c (grub_lltoa): New function.
24995 (grub_vsprintf): Added support for the long long suffix,
24996 i.e. "ll".
24997
24998 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
24999
25000 * Makefile.in (LDFLAGS): Add variable.
25001 (LD): Remove variable.
25002 * configure.ac: Add -m32 to LDFLAGS.
25003 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
25004 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
25005 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
25006 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
25007 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
25008 variables.
25009 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
25010 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
25011 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
25012
25013 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
25014
25015 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
25016 length for unknown glyph.
25017
25018 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
25019
25020 Add support for pre-loaded modules into the EFI port.
25021
25022 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
25023 completely. Accept one more argument DIR. The caller has changed.
25024
25025 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
25026
25027 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
25028 (grub_efi_loaded_image_guid): New variable.
25029 (grub_efi_get_loaded_image): New function.
25030 (grub_arch_modules_addr): Likewise.
25031
25032 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
25033 prototype.
25034
25035 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
25036 (struct grub_efi_loaded_image): New structure.
25037 (grub_efi_loaded_image_t): New type.
25038
25039 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
25040
25041 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
25042 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
25043 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
25044
25045 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
25046
25047 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
25048
25049 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
25050
25051 * DISTLIST: Added include/grub/efi/console.h,
25052 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
25053 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
25054
25055 * include/grub/efi/console.h: New file.
25056 * include/grub/efi/time.h: Likewise.
25057 * include/grub/i386/efi/kernel.h: Likewise.
25058 * kern/efi/init.c: Likewise.
25059 * kern/efi/mm.c: Likewise.
25060 * term/efi/console.c: Likewise.
25061
25062 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
25063 (grub_stop): Removed.
25064 (grub_get_rtc): Likewise.
25065 (grub_machine_init): Simply call grub_efi_init.
25066 (grub_machine_fini): Call grub_efi_fini.
25067
25068 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
25069 (grub_efi_output_string): Removed.
25070 (grub_efi_stall): New function.
25071 (grub_stop): Likewise.
25072 (grub_get_rtc): Likewise.
25073
25074 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
25075 (grub_efi_stall): New prototype.
25076 (grub_efi_allocate_pages): Likewise.
25077 (grub_efi_free_pages): Likewise.
25078 (grub_efi_get_memory_map): Likewise.
25079 (grub_efi_mm_init): Likewise.
25080 (grub_efi_mm_fini): Likewise.
25081 (grub_efi_init): Likewise.
25082 (grub_efi_fini): Likewise.
25083
25084 * include/grub/i386/efi/time.h: Do not include
25085 grub/symbol.h. Include grub/efi/time.h.
25086 (GRUB_TICKS_PER_SECOND): Removed.
25087 (grub_get_rtc): Likewise.
25088
25089 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
25090 Added padding. The EFI spec is buggy.
25091 (GRUB_EFI_BLACK): New macro.
25092 (GRUB_EFI_BLUE): Likewise.
25093 (GRUB_EFI_GREEN): Likewise.
25094 (GRUB_EFI_CYAN): Likewise.
25095 (GRUB_EFI_RED): Likewise.
25096 (GRUB_EFI_MAGENTA): Likewise.
25097 (GRUB_EFI_BROWN): Likewise.
25098 (GRUB_EFI_LIGHTGRAY): Likewise.
25099 (GRUB_EFI_BRIGHT): Likewise.
25100 (GRUB_EFI_DARKGRAY): Likewise.
25101 (GRUB_EFI_LIGHTBLUE): Likewise.
25102 (GRUB_EFI_LIGHTGREEN): Likewise.
25103 (GRUB_EFI_LIGHTCYAN): Likewise.
25104 (GRUB_EFI_LIGHTRED): Likewise.
25105 (GRUB_EFI_LIGHTMAGENTA): Likewise.
25106 (GRUB_EFI_YELLOW): Likewise.
25107 (GRUB_EFI_WHITE): Likewise.
25108 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
25109 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
25110 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
25111 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
25112 (GRUB_EFI_BACKGROUND_RED): Likewise.
25113 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
25114 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
25115 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
25116 (GRUB_EFI_TEXT_ATTR): Likewise.
25117
25118 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
25119 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
25120 (kernel_mod_HEADERS): Added efi/time.h.
25121
25122 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
25123
25124 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
25125 include/grub/efi/api.h, include/grub/efi/console_control.h,
25126 include/grub/efi/efi.h, include/grub/efi/pe32.h,
25127 include/grub/i386/efi/time.h, kern/efi/efi.c,
25128 kern/i386/efi/init.c, kern/i386/efi/startup.S,
25129 and util/i386/efi/grub-mkimage.c.
25130
25131 * Makefile.in (RMKFILES): Added i386-efi.rmk.
25132
25133 * genmk.rb (PModule#rule): Do not export symbols if
25134 #{prefix}_EXPORTS is set to "no".
25135
25136 * conf/i386-efi.mk: New file.
25137 * conf/i386-efi.rmk: Likewise.
25138 * include/grub/efi/api.h: Likewise.
25139 * include/grub/efi/console_control.h: Likewise.
25140 * include/grub/efi/efi.h: Likewise.
25141 * include/grub/efi/pe32.h: Likewise.
25142 * include/grub/i386/efi/time.h: Likewise.
25143 * kern/efi/efi.c: Likewise.
25144 * kern/i386/efi/init.c: Likewise.
25145 * kern/i386/efi/startup.S: Likewise.
25146 * util/i386/efi/grub-mkimage.c: Likewise.
25147
25148 2006-04-17 Marco Gerards <marco@gnu.org>
25149
25150 * include/grub/script.h: Include <grub/parser.h> and
25151 "grub_script.tab.h".
25152 (struct grub_lexer_param): New struct.
25153 (struct grub_parser_param): Likewise.
25154 (grub_script_create_arglist): Pass the state in an argument.
25155 (grub_script_add_arglist): Likewise.
25156 (grub_script_create_cmdline): Likewise.
25157 (grub_script_create_cmdblock): Likewise.
25158 (grub_script_create_cmdif): Likewise.
25159 (grub_script_create_cmdmenu): Likewise.
25160 (grub_script_add_cmd): Likewise.
25161 (grub_script_arg_add): Likewise.
25162 (grub_script_lexer_ref): Likewise.
25163 (grub_script_lexer_deref): Likewise.
25164 (grub_script_lexer_record_start): Likewise.
25165 (grub_script_lexer_record_stop): Likewise.
25166 (grub_script_mem_record): Likewise.
25167 (grub_script_mem_record_stop): Likewise.
25168 (grub_script_malloc): Likewise.
25169 (grub_script_yylex): Likewise.
25170 (grub_script_yyparse): Likewise.
25171 (grub_script_yyerror): Likewise.
25172 (grub_script_yylex): Likewise.
25173 (grub_script_lexer_init): Return the state.
25174
25175 * normal/lexer.c (grub_script_lexer_state): Removed variable.
25176 (grub_script_lexer_done): Likewise.
25177 (grub_script_lexer_getline): Likewise.
25178 (grub_script_lexer_refs): Likewise.
25179 (script): Likewise.
25180 (newscript): Likewise.
25181 (record): Likewise.
25182 (recording): Likewise.
25183 (recordpos): Likewise.
25184 (recordlen): Likewise.
25185 (grub_script_lexer_init): Return the state instead of setting
25186 global variables.
25187 (grub_script_lexer_ref): Use the newly added argument for state
25188 instead of globals.
25189 (grub_script_lexer_deref): Likewise.
25190 (grub_script_lexer_record_start): Likewise.
25191 (grub_script_lexer_record_stop): Likewise.
25192 (recordchar): Likewise.
25193 (nextchar): Likewise.
25194 (grub_script_yylex2): Likewise.
25195 (grub_script_yylex): Likewise.
25196 (grub_script_yyerror): Likewise.
25197
25198 * normal/parser.y (func_mem): Removed variable.
25199 (menu_entry): Likewise.
25200 (err): Likewise.
25201 (%lex-param): New parser option.
25202 (%parse-param): Likewise.
25203 (script): Always return the AST.
25204 (argument): Pass the state around.
25205 (arguments): Likewise.
25206 (grubcmd): Likewise.
25207 (commands): Likewise.
25208 (function): Likewise.
25209 (menuentry): Likewise.
25210 (if_statement): Likewise.
25211 (if): Likewise.
25212
25213 * normal/script.c (grub_script_memused): Removed variable.
25214 (grub_script_parsed): Likewise.
25215 (grub_script_malloc): Added a state argument. Use that instead of
25216 global variables.
25217 (grub_script_mem_record): Likewise.
25218 (grub_script_mem_record_stop): Likewise.
25219 (grub_script_arg_add): Likewise.
25220 (grub_script_add_arglist): Likewise.
25221 (grub_script_create_cmdline): Likewise.
25222 (grub_script_create_cmdif): Likewise.
25223 (grub_script_create_cmdmenu): Likewise.
25224 (grub_script_add_cmd): Likewise.
25225 (grub_script_parse): Setup the state before calling the parser.
25226
25227 2006-04-16 Marco Gerards <marco@gnu.org>
25228
25229 * normal/command.c (grub_command_init): Remove the title command.
25230
25231 * normal/lexer.c (grub_script_yylex): Renamed from this...
25232 (grub_script_yylex2): ... to this.
25233 (grub_script_yylex): New function. Temporary
25234 introduced to filter some tokens.
25235 (grub_script_yyerror): Print a newline.
25236
25237 * normal/main.c (read_config_file): Output information about the
25238 lines that contain errors. Wait for a key after all lines have
25239 been processed. Don't return an empty menu.
25240
25241 * normal/parser.y (func_mem): Don't initialize.
25242 (menu_entry): Likewise.
25243 (err): New variable.
25244 (script): Don't return anything when an error was encountered.
25245 (ws, returns): Removed rules.
25246 (argument): Disabled concatenated variable support.
25247 (arguments): Remove explicit separators.
25248 (grubcmd): Likewise.
25249 (function): Likewise.
25250 (menuentry): Likewise.
25251 (if): Likewise.
25252 (commands): Likewise. Add error handling.
25253
25254 * normal/script.c (grub_script_create_cmdline): If
25255 `grub_script_parsed' is 0, assume the parser encountered an error.
25256
25257 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
25258
25259 * configure.ac: Add support for EFI. Fix the typo
25260 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
25261
25262 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
25263
25264 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
25265 foreign multibyte characters should be shown correctly.
25266
25267 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
25268
25269 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
25270 calculation.
25271 (read_config_file): Made it to close file before returning.
25272
25273 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
25274
25275 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
25276 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
25277 video/i386/pc/vbefill.c.
25278
25279 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
25280 video/i386/pc/vbefill.c.
25281
25282 * include/grub/video.h (grub_video_blit_format): New enum.
25283 (grub_video_mode_info): Added new member blit_format.
25284 (grub_video_get_blit_format): New function prototype.
25285
25286 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
25287 function prototype.
25288 (grub_video_vbe_map_rgb): Likewise.
25289 (grub_video_vbe_unmap_color): Likewise.
25290
25291 * include/grub/i386/pc/vbeblit.h: New file.
25292
25293 * include/grub/i386/pc/vbefill.h: New file.
25294
25295 * video/video.c (grub_video_get_blit_format): New function.
25296 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
25297 (grub_video_vbe_map_rgb): Likewise.
25298 (grub_video_vbe_unmap_color): Likewise.
25299
25300 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
25301 optimized fills.
25302 (grub_video_vbe_blit_render_target): Changed to use more optimized
25303 blits.
25304 (grub_video_vbe_setup): Added detection for optimized settings.
25305 (grub_video_vbe_create_render_target): Likewise.
25306
25307 * video/i386/pc/vbeblit.c: New file.
25308
25309 * video/i386/pc/vbefill.c: New file.
25310
25311 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
25312
25313 * font/manager.c (grub_font_get_glyph): Removed font fixup from
25314 here...
25315
25316 * util/unifont2pff.rb: ... and moved it to here. Improved argument
25317 parsing to support both hex and dec ranges. If filename was missing
25318 show usage information.
25319
25320 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
25321
25322 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
25323 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
25324
25325 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
25326 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
25327 (video_mod_SOURCES): Added.
25328 (video_mod_CFLAGS): Likewise.
25329 (video_mod_LDFLAGS): Likewise.
25330 (gfxterm_mod_SOURCES): Likewise.
25331 (gfxterm_mod_CFLAGS): Likewise.
25332 (gfxterm_mod_LDFLAGS): Likewise.
25333 (videotest_mod_SOURCES): Likewise.
25334 (videotest_mod_CFLAGS): Likewise.
25335 (videotest_mod_LDFLAGS): Likewise.
25336 (vesafb_mod_SOURCES): Removed.
25337 (vesafb_mod_CFLAGS): Likewise.
25338 (vesafb_mod_LDFLAGS): Likewise.
25339 (vga_mod_SOURCES): Likewise.
25340 (vga_mod_CFLAGS): Likewise.
25341 (vga_mod_LDFLAGS): Likewise.
25342
25343 * commands/videotest.c: New file.
25344
25345 * font/manager.c (fill_with_default_glyph): Modified to use
25346 grub_font_glyph.
25347 (grub_font_get_glyph): Likewise.
25348 (fontmanager): Renamed from this...
25349 (font_manager): ... to this.
25350
25351 * include/grub/font.h (grub_font_glyph): Added new structure.
25352 (grub_font_get_glyph): Modified to use grub_font_glyph.
25353
25354 * include/grub/misc.h (grub_abs): Added as inline function.
25355
25356 * include/grub/video.h: New file.
25357
25358 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
25359 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
25360 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
25361 (grub_vbe_get_controller_info): Renamed from this...
25362 (grub_vbe_bios_get_controller_info): ... to this.
25363 (grub_vbe_get_mode_info): Renamed from this...
25364 (grub_vbe_bios_get_mode_info): ... to this.
25365 (grub_vbe_set_mode): Renamed from this...
25366 (grub_vbe_bios_set_mode): ... to this.
25367 (grub_vbe_get_mode): Renamed from this...
25368 (grub_vbe_bios_get_mode): ... to this.
25369 (grub_vbe_set_memory_window): Renamed from this...
25370 (grub_vbe_bios_set_memory_window): ... to this.
25371 (grub_vbe_get_memory_window): Renamed from this...
25372 (grub_vbe_bios_get_memory_window): ... to this.
25373 (grub_vbe_set_scanline_length): Renamed from this...
25374 (grub_vbe_set_scanline_length): ... to this.
25375 (grub_vbe_get_scanline_length): Renamed from this...
25376 (grub_vbe_bios_get_scanline_length): ... to this.
25377 (grub_vbe_set_display_start): Renamed from this...
25378 (grub_vbe_bios_set_display_start): ... to this.
25379 (grub_vbe_get_display_start): Renamed from this...
25380 (grub_vbe_bios_get_display_start): ... to this.
25381 (grub_vbe_set_palette_data): Renamed from this...
25382 (grub_vbe_bios_set_palette_data): ... to this.
25383 (grub_vbe_set_pixel_rgb): Removed.
25384 (grub_vbe_set_pixel_index): Likewise.
25385
25386 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
25387 from this...
25388 (grub_vbe_bios_get_controller_info): ... to this.
25389 (grub_vbe_get_mode_info): Renamed from this...
25390 (grub_vbe_bios_get_mode_info): ... to this.
25391 (grub_vbe_set_mode): Renamed from this...
25392 (grub_vbe_bios_set_mode): ... to this.
25393 (grub_vbe_get_mode): Renamed from this...
25394 (grub_vbe_bios_get_mode): ... to this.
25395 (grub_vbe_set_memory_window): Renamed from this...
25396 (grub_vbe_bios_set_memory_window): ... to this.
25397 (grub_vbe_get_memory_window): Renamed from this...
25398 (grub_vbe_bios_get_memory_window): ... to this.
25399 (grub_vbe_set_scanline_length): Renamed from this...
25400 (grub_vbe_set_scanline_length): ... to this.
25401 (grub_vbe_get_scanline_length): Renamed from this...
25402 (grub_vbe_bios_get_scanline_length): ... to this.
25403 (grub_vbe_set_display_start): Renamed from this...
25404 (grub_vbe_bios_set_display_start): ... to this.
25405 (grub_vbe_get_display_start): Renamed from this...
25406 (grub_vbe_bios_get_display_start): ... to this.
25407 (grub_vbe_set_palette_data): Renamed from this...
25408 (grub_vbe_bios_set_palette_data): ... to this.
25409 (grub_vbe_bios_get_controller_info): Fixed problem with registers
25410 getting corrupted after calling it. Added more pushes and pops.
25411 (grub_vbe_bios_set_mode): Likewise.
25412 (grub_vbe_bios_get_mode): Likewise.
25413 (grub_vbe_bios_get_memory_window): Likewise.
25414 (grub_vbe_bios_set_scanline_length): Likewise.
25415 (grub_vbe_bios_get_scanline_length): Likewise.
25416 (grub_vbe_bios_get_display_start): Likewise.
25417 (grub_vbe_bios_set_palette_data): Likewise.
25418
25419 * normal/cmdline.c (cl_set_pos): Refresh the screen.
25420 (cl_insert): Likewise.
25421 (cl_delete): Likewise.
25422
25423 * term/gfxterm.c: New file.
25424
25425 * term/i386/pc/vesafb.c: Removed file.
25426
25427 * video/video.c: New file.
25428
25429 * video/i386/pc/vbe.c (real2pm): Added new function.
25430 (grub_video_vbe_draw_pixel): Likewise.
25431 (grub_video_vbe_get_video_ptr): Likewise.
25432 (grub_video_vbe_get_pixel): Likewise
25433 (grub_video_vbe_init): Likewise.
25434 (grub_video_vbe_fini): Likewise.
25435 (grub_video_vbe_setup): Likewise.
25436 (grub_video_vbe_get_info): Likewise.
25437 (grub_video_vbe_set_palette): Likewise.
25438 (grub_video_vbe_get_palette): Likewise.
25439 (grub_video_vbe_set_viewport): Likewise.
25440 (grub_video_vbe_get_viewport): Likewise.
25441 (grub_video_vbe_map_color): Likewise.
25442 (grub_video_vbe_map_rgb): Likewise.
25443 (grub_video_vbe_map_rgba): Likewise.
25444 (grub_video_vbe_unmap_color): Likewise.
25445 (grub_video_vbe_fill_rect): Likewise.
25446 (grub_video_vbe_blit_glyph): Likewise.
25447 (grub_video_vbe_blit_bitmap): Likewise.
25448 (grub_video_vbe_blit_render_target): Likewise.
25449 (grub_video_vbe_scroll): Likewise.
25450 (grub_video_vbe_swap_buffers): Likewise.
25451 (grub_video_vbe_create_render_target): Likewise.
25452 (grub_video_vbe_delete_render_target): Likewise.
25453 (grub_video_vbe_set_active_render_target): Likewise.
25454 (grub_vbe_set_pixel_rgb): Remove function.
25455 (grub_vbe_set_pixel_index): Likewise.
25456 (index_color_mode): Remove static variable.
25457 (active_mode): Likewise.
25458 (framebuffer): Likewise.
25459 (bytes_per_scan_line): Likewise.
25460 (grub_video_vbe_adapter): Added new static variable.
25461 (framebuffer): Likewise.
25462 (render_target): Likewise.
25463 (initial_mode): Likewise.
25464 (mode_in_use): Likewise.
25465 (mode_list): Likewise.
25466
25467 2006-03-10 Marco Gerards <marco@gnu.org>
25468
25469 * configure.ac (AC_INIT): Bumped to 1.93.
25470
25471 * DISTLIST: Added `include/grub/hfs.h'.
25472
25473 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25474
25475 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25476 18H, which might help the BIOS falling back to next boot media.
25477
25478 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25479
25480 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25481 Poe Chen <poe.poechen@gmail.com>.
25482
25483 2006-01-17 Marco Gerards <marco@gnu.org>
25484
25485 * include/grub/normal.h: Include <grub/script.h>.
25486 (grub_command_list): Removed struct.
25487 (grub_command_list_t): Removed type.
25488 (grub_menu_entry): Remove members `num' and `command_list'. Add
25489 members `commands' and `sourcecode'.
25490 * include/grub/script.h: Add inclusion guards.
25491 (grub_script_cmd_menuentry): New struct.
25492 (grub_script_execute_menuentry): New prototype.
25493 (grub_script_lexer_record_start): Likewise.
25494 (grub_script_lexer_record_stop): Likewise.
25495 * normal/execute.c (grub_script_execute_menuentry): New function.
25496 * normal/lexer.c (record, recording, recordpos, recordlen): New
25497 variables.
25498 (grub_script_lexer_record_start): New function.
25499 (grub_script_lexer_record_stop): Likewise.
25500 (recordchar): Likewise.
25501 (nextchar): Likewise.
25502 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25503 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25504 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25505 (current_menu): New variable.
25506 (free_menu): Mainly rewritten.
25507 (grub_normal_menu_addentry): New function.
25508 (read_config_file): Rewritten.
25509 * normal/menu.c (run_menu_entry): Mainly rewritten.
25510 * normal/menu_entry.c (make_screen): Rewritten the code to insert
25511 the menu entry.
25512 (run): Mainly rewritten.
25513 * normal/parser.y (menu_entry): New variable.
25514 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25515 (menuentry): New rule.
25516 (command): Add `menuentry'.
25517 (if_statement): Allow additional returns before `fi'.
25518 * normal/script.c (grub_script_create_cmdmenu): New function.
25519
25520 2006-01-03 Marco Gerards <marco@gnu.org>
25521
25522 * INSTALL: GNU Bison is required.
25523 * configure.ac: Rewritten the test to detect Bison.
25524 * Makefile.in (YACC): New variable. Reported by Xun Sun
25525 <xun.sun.cn@gmail.com>.
25526
25527 2006-01-03 Marco Gerards <marco@gnu.org>
25528
25529 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
25530 the HFS+ filesystem to filesystem blocks.
25531 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
25532 GCC warning is silenced.
25533
25534 2006-01-03 Marco Gerards <marco@gnu.org>
25535
25536 * partmap/apple.c (apple_partition_map_iterate): Convert the data
25537 read from disk from big endian to host byte order.
25538
25539 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
25540
25541 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
25542 documentation.
25543 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
25544 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
25545 embedded HFS+ filesystem.
25546 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
25547 (grub_hfs_sblock): Move from here...
25548 * include/grub/hfs.h: To here... New file.
25549 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
25550 documentation.
25551 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
25552 New macros.
25553 (grub_hfsplus_volheader): Change type of member `magic' to
25554 `grub_uint16_t'.
25555 (grub_hfsplus_data): Add new member `embedded_offset'.
25556 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
25557 returned block.
25558 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
25559 Calculate the offset.
25560
25561 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25562
25563 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
25564 Removed.
25565 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
25566
25567 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25568
25569 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
25570 ENV->NAME is NULL after allocating ENV->VALUE.
25571
25572 2005-12-25 Marco Gerards <marco@gnu.org>
25573
25574 * kern/env.c (grub_env_set): Rewritten the error handling code.
25575
25576 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25577
25578 * geninit.sh: Made more robust, and more portable.
25579
25580 2005-12-25 Marco Gerards <marco@gnu.org>
25581
25582 Add support for Apple HFS+ filesystems.
25583
25584 * fs/hfsplus.c: New file.
25585
25586 * DISTLIST: Added `fs/hfsplus.c'.
25587
25588 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
25589 (hfsplus_mod_SOURCES): New variable.
25590 (hfsplus_mod_CFLAGS): Likewise.
25591 (hfsplus_mod_LDFLAGS): Likewise.
25592 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
25593 (grub_setup_SOURCES): Likewise.
25594 (grub_mkdevicemap_SOURCES): Likewise.
25595 (grub_emu_SOURCES): Likewise.
25596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25597
25598 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
25599
25600 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
25601
25602 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
25603
25604 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
25605 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
25606 include/grub/parser.h, include/grub/script.h, kern/parser.c,
25607 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
25608 normal/lexer.c, normal/parser.y, normal/script.c, and
25609 partmap/gpt.c.
25610 Removed kern/sparc64/cache.c.
25611
25612 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
25613 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
25614 grub_emu_init.c.
25615
25616 * configure.ac (AC_INIT): Bumped to 1.92.
25617
25618 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
25619
25620 * kern/err.c (grub_error_push): Added new function to support error
25621 stacks.
25622 (grub_error_pop): Likewise.
25623 (grub_error_stack_items): New local variable to support error stacks.
25624 (grub_error_stack_pos): Likewise.
25625 (grub_error_stack_assert): Likewise.
25626 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
25627 stack depth.
25628 (grub_print_error): Added support to print errors from error stack.
25629
25630 * include/grub/err.h (grub_error_push): Added function prototype.
25631 (grub_error_pop): Likewise.
25632
25633 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
25634
25635 * configure.ac: Accept `powerpc64' as host_cpu.
25636 (amd64): Rename to `biarch32'.
25637
25638 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
25639 non-cacheline-aligned addresses.
25640
25641 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
25642 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
25643 if `size' is non-zero.
25644
25645 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
25646
25647 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
25648 and `cd' to make sure the filename is not prefixed with a
25649 directory name.
25650 (pkgdata_MODULES): Add `gpt.mod'.
25651 (gpt_mod_SOURCES): New variable.
25652 (gpt_mod_CFLAGS): Likewise.
25653 (gpt_mod_LDFLAGS): Likewise.
25654
25655 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
25656
25657 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
25658 New macro.
25659
25660 * partmap/gpt.c: New file.
25661
25662 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
25663 GPT partition map is detected.
25664
25665 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
25666
25667 * commands/i386/pc/play.c: New file.
25668 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
25669 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
25670 macros.
25671
25672 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
25673
25674 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
25675 ((unused))' to silence gcc warning.
25676
25677 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
25678
25679 * configure.ac: Correct `AC_PROG_YACC' test.
25680
25681 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25682
25683 * util/powerpc/ieee1275/grub-install.in: Run the mount point
25684 check before installing files.
25685
25686 2005-11-22 Mike Small <smallm@panix.com>
25687
25688 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
25689 number regex so multidigit numbers are recognized correctly.
25690
25691 2005-11-22 Mike Small <smallm@panix.com>
25692
25693 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
25694 debugging message before attempting to claim memory.
25695 (grub_rescue_cmd_initrd): Add a claim debugging message and try
25696 multiple addresses in case of failure.
25697
25698 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25699
25700 * term/tparm.c (get_space): Remove empty `if' statement.
25701
25702 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
25703
25704 * kern/parser.c (check_varstate): Rename `state' to 's'.
25705
25706 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25707
25708 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
25709 variable definitions to the beginning of each function. Sort stack
25710 variables by size.
25711 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
25712 `buf' argument to `char *'.
25713
25714 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
25715
25716 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
25717 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25718 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25719 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25720 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25721 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25722 configfile.mod, search.mod, gzio.mod and test.mod.
25723 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25724 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25725 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25726 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25727 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25728 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25729 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25730 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25731 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25732 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25733 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25734 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25735 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25736 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25737 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25738 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25739 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25740 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25741 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25742 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25743 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25744 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25745 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
25746
25747 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
25748 `grep --include'.
25749 (pkgdata_MODULES): Add test.mod.
25750
25751 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25752
25753 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
25754 appending to variables with "+=".
25755 (PModule): Use full pathname to generate *.lst filenames.
25756
25757 * Makefile.in: Fixed list rules moved from genmk.rb.
25758 (.DELETE_ON_ERROR): New special target.
25759 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
25760
25761 * conf/i386-pc.rmk: Include conf/common.mk.
25762 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
25763 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
25764 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
25765 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
25766 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
25767 configfile.mod, search.mod, gzio.mod and test.mod.
25768 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
25769 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
25770 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
25771 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
25772 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
25773 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
25774 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
25775 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
25776 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
25777 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
25778 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
25779 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
25780 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
25781 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
25782 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
25783 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
25784 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
25785 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
25786 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
25787 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
25788 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
25789 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
25790 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
25791 here...
25792 * conf/common.rmk: ... to here. New file.
25793
25794 * conf/common.mk: New file.
25795
25796 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
25797
25798 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
25799 (grub_script.tab.c): ... here.
25800
25801 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
25802 (grub_script.tab.c): ... here.
25803
25804 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
25805 (grub_script.tab.c): ... here.
25806
25807 * normal/command.c (grub_command_find): Fixed a memory leak of
25808 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
25809
25810 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25811
25812 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
25813 "@" which marks the start of a comment on ARM.
25814 (VARIABLE): Likewise.
25815
25816 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25817
25818 Add support for Linux/ADFS partition tables.
25819
25820 * partmap/acorn.c: New file.
25821
25822 * include/grub/acorn_filecore.h: Likewise.
25823
25824 * DISTLIST: Added `partmap/acorn.c' and
25825 `include/grub/acorn_filecore.h'.
25826
25827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25828 `partmap/acorn.c'.
25829 (pkgdata_MODULES): Add `acorn.mod'.
25830 (acorn_mod_SOURCES): New variable.
25831 (acorn_mod_CFLAGS): Likewise.
25832
25833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25834 `partmap/acorn.c'.
25835 (pkgdata_MODULES): Add `acorn.mod'.
25836 (acorn_mod_SOURCES): New variable.
25837 (acorn_mod_CFLAGS): Likewise.
25838
25839 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
25840 (pkgdata_MODULES): Add `acorn.mod'.
25841 (acorn_mod_SOURCES): New variable.
25842 (acorn_mod_CFLAGS): Likewise.
25843 (acorn_mod_LDFLAGS): Likewise.
25844
25845 * include/types.h (grub_disk_addr_t): New typedef.
25846
25847 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
25848
25849 * geninit.sh: New file.
25850
25851 * geninitheader.sh: Likewise.
25852
25853 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
25854 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
25855 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
25856 * commands/configfile.c (grub_configfile_init)
25857 (grub_configfile_fini): Likewise.
25858 * commands/default.c (grub_default_init, grub_default_fini):
25859 Likewise.
25860 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
25861 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
25862 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
25863 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
25864 Likewise.
25865 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
25866 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
25867 Likewise.
25868 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
25869 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
25870 Likewise.
25871 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
25872 Likewise.
25873 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
25874 Likewise.
25875 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
25876 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
25877 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
25878 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
25879 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
25880 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
25881 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
25882 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
25883 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
25884 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
25885 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
25886 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
25887 * partmap/amiga.c (grub_amiga_partition_map_init)
25888 (grub_amiga_partition_map_fini): Likewise.
25889 * partmap/apple.c (grub_apple_partition_map_init)
25890 (grub_apple_partition_map_fini): Likewise.
25891 * partmap/pc.c (grub_pc_partition_map_init)
25892 (grub_pc_partition_map_fini): Likewise.
25893 * partmap/sun.c (grub_sun_partition_map_init,
25894 grub_sun_partition_map_fini): Likewise.
25895 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
25896 Likewise.
25897
25898 * util/grub-emu.c: Include <grub_modules_init.h>.
25899 (main): Don't initialize and de-initialize any modules directly,
25900 use `grub_init_all' and `grub_fini_all' instead.
25901
25902 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
25903 `grub_vesafb_mod_init'.
25904 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
25905 all users.
25906 * term/i386/pc/vga.c (grub_vga_init): Renamed to
25907 `grub_vga_mod_init'. Updated all users.
25908 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
25909
25910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
25911 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
25912 rules.
25913
25914 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
25915 Generate a function to initialize the module in utilities.
25916 Updated all callers.
25917 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
25918 initialize the module in utilities. Updated all callers.
25919
25920 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25921
25922 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
25923 escape sequence and a literal ^L to clear the screen.
25924
25925 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
25926 when returning from Open Firmware.
25927
25928 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
25929
25930 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
25931 (grub_ofconsole_height): Likewise.
25932 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
25933 manually insert a '\n'.
25934 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
25935 `grub_ofconsole_height'. Return early if these are already set.
25936
25937 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
25938
25939 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
25940 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
25941 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
25942 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
25943 and `normal/script.c'.
25944 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25945 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25946 (test_mod_SOURCES): New variable.
25947 (test_mod_CFLAGS): Likewise.
25948 (test_mod_LDFLAGS): Likewise.
25949 (pkgdata_MODULES): Add `test.mod'.
25950 (grub_script.tab.c): New rule.
25951 (grub_script.tab.h): Likewise.
25952
25953 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
25954
25955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25956 `commands/test.c', `normal/execute.c', `normal/lexer.c',
25957 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25958 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25959 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25960 (test_mod_SOURCES): New variable.
25961 (test_mod_CFLAGS): Likewise.
25962 (pkgdata_MODULES): Add `test.mod'.
25963 (grub_script.tab.c): New rule.
25964 (grub_script.tab.h): Likewise.
25965
25966 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
25967
25968 Add initial scripting support.
25969
25970 * commands/test.c: New file.
25971 * include/grub/script.h: Likewise.
25972 * normal/execute.c: Likewise.
25973 * normal/function.c: Likewise.
25974 * normal/lexer.c: Likewise.
25975 * normal/parser.y: Likewise.
25976 * normal/script.c: Likewise.
25977
25978 * configure.ac: Add `AC_PROG_YACC' test.
25979
25980 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
25981 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
25982 `normal/function.c' and `normal/script.c'.
25983 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
25984 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
25985 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
25986 variables.
25987 (pkgdata_MODULES): Add `test.mod'.
25988 (grub_script.tab.c): New rule.
25989 (grub_script.tab.h): Likewise.
25990
25991 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
25992
25993 * include/grub/normal.h (grub_test_init): New prototype.
25994 (grub_test_fini): Likewise.
25995
25996 * normal/command.c: Include <grub/script.h>.
25997 (grub_command_execute): Rewritten.
25998
25999 * util/grub-emu.c (main): Call `grub_test_init' and
26000 `grub_test_fini'.
26001
26002 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26003
26004 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
26005 to 0.
26006 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
26007 there are no pending characters.
26008
26009 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26010
26011 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
26012 `grub_strndup' to drop device arguments. Replace unnecessary
26013 `grub_strndup' with `grub_strdup'.
26014
26015 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26016
26017 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
26018 `debug' environment variable has been set.
26019
26020 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
26021
26022 * Makefile.in (install-local): Use $(DATA).
26023 (uninstall): Likewise.
26024 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
26025 (sbin_UTILITIES): ... to here.
26026 (sbin_SCRIPTS): New variable.
26027 (grub_install_SOURCES): New variable.
26028 * util/powerpc/ieee1275/grub-install.in: New file.
26029 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
26030 variable.
26031 (add_segments): Call `grub_util_get_path'.
26032
26033 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26034
26035 From Timothy Baldwin:
26036 * commands/ls.c (grub_ls_list_files): Close FILE with
26037 grub_file_close.
26038 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
26039
26040 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
26041
26042 * include/grub/parser.h: New file.
26043
26044 * kern/parser.c: Likewise.
26045
26046 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
26047 (grub_setup_SOURCES): Likewise.
26048 (grub_probefs_SOURCES): Likewise.
26049 (grub_emu_SOURCES): Likewise.
26050 (kernel_img_HEADERS): Add `parser.h'.
26051
26052 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
26053 (grub_emu_SOURCES): Add `kern/parser.c'.
26054 (grubof_SOURCES): Likewise.
26055
26056 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
26057 (grubof_SOURCES): Add `kern/parser.c'.
26058
26059 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
26060
26061 * kern/misc.c (grub_split_cmdline): Removed function.
26062
26063 * kern/rescue.c: Include <grub/parser.h>.
26064 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
26065 of `grub_split_cmdline'.
26066
26067 * normal/command.c: Include <grub/parser.h>.
26068 (grub_command_execute): Use `grub_parser_split_cmdline' instead
26069 of `grub_split_cmdline'.
26070
26071 * normal/completion.c: Include <grub/parser.h>.
26072 (cmdline_state): New variable.
26073 (iterate_dir): End the filename with a quote depending on the
26074 command line state.
26075 (get_state): new function.
26076 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
26077 split the arguments and determine the current argument. When the
26078 argument string is not quoted, escape all spaces.
26079
26080 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26081
26082 * normal/sparc64/setjmp.S: New file.
26083
26084 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26085
26086 * include/grub/sparc64/libgcc.h: New file.
26087 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
26088 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
26089 normal/sparc64/setjmp.c.
26090
26091 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26092
26093 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
26094 * kern/sparc64/cache.S: New file.
26095 * kern/sparc64/cache.c: Removed.
26096 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
26097 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
26098 -mtune=ultrasparc.
26099 (COMMON_LDFLAGS): Add -melf64_sparc.
26100 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
26101 (grubof_SOURCES): Use cache.S instead of cache.c.
26102 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
26103 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
26104 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
26105 commented though.
26106 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
26107 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
26108 (linux_mod_CFLAGS): Commented out.
26109 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
26110 out because module isn't built.
26111 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
26112 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
26113 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
26114 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
26115 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
26116 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
26117 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
26118 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
26119 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
26120 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
26121 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26122 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26123 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
26124 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
26125
26126 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
26127
26128 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
26129 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
26130 longer, because HFS should not be used on PC.
26131
26132 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26133
26134 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
26135 consistently within the loop.
26136
26137 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
26138
26139 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
26140 directory can not be read.
26141
26142 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26143
26144 * configure.ac (AC_INIT): Increase the version number to 1.91.
26145
26146 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
26147 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
26148 term/i386/pc/serial.c.
26149
26150 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26151
26152 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
26153 file size must be permitted.
26154
26155 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
26156 between %ah and %al.
26157
26158 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26159
26160 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
26161 grub_uint64_t.
26162 Call the hook with a NUL-terminated filename.
26163 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
26164 grub_cpu_to_be32.
26165
26166 * kern/term.c (cursor_state): New variable.
26167 (grub_term_set_current): Reset the cursor state on a new
26168 terminal.
26169 (grub_setcursor): Rewritten to use CURSOR_STATE.
26170 (grub_getcursor): New function.
26171
26172 * include/grub/term.h (grub_getcursor): New prototype.
26173
26174 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
26175 integers on ARM. Reported by Timothy Baldwin
26176 <T.E.Baldwin99@members.leeds.ac.uk>.
26177
26178 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
26179
26180 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
26181 allocated.
26182 (grub_sfs_dir): Likewise.
26183
26184 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
26185
26186 Add support for the SFS filesystem.
26187
26188 * fs/sfs.c: New file.
26189
26190 * DISTLIST: Added `fs/sfs.c'.
26191
26192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
26193 (grub_probefs_SOURCES): Likewise.
26194 (grub_emu_SOURCES): Likewise.
26195 (pkgdata_MODULES): Add `sfs.mod'.
26196 (sfs_mod_SOURCES): New variable.
26197 (sfs_mod_CFLAGS): Likewise.
26198 (sfs_mod_LDFLAGS): Likewise.
26199
26200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
26201 (pkgdata_MODULES): Add `sfs.mod'.
26202 (sfs_mod_SOURCES): New variable.
26203 (sfs_mod_CFLAGS): Likewise.
26204
26205 * util/grub-emu.c (main): Call `grub_sfs_init' and
26206 `grub_sfs_fini'.
26207
26208 * include/grub/fs.h (grub_sfs_init): New prototype.
26209 (grub_sfs_fini): Likewise.
26210
26211 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
26212
26213 Add support for the AFFS filesystem.
26214
26215 * fs/affs.c: New file.
26216
26217 * DISTLIST: Added `fs/affs.c'.
26218
26219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
26220 (grub_probefs_SOURCES): Likewise.
26221 (grub_emu_SOURCES): Likewise.
26222 (pkgdata_MODULES): Add `affs.mod'.
26223 (affs_mod_SOURCES): New variable.
26224 (affs_mod_CFLAGS): Likewise.
26225 (affs_mod_LDFLAGS): Likewise.
26226
26227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
26228 (pkgdata_MODULES): Add `affs.mod'.
26229 (affs_mod_SOURCES): New variable.
26230 (affs_mod_CFLAGS): Likewise.
26231
26232 * util/grub-emu.c (main): Call `grub_affs_init' and
26233 `grub_affs_fini'.
26234
26235 * include/grub/fs.h (grub_affs_init): New prototype.
26236 (grub_affs_fini): Likewise.
26237
26238 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
26239
26240 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
26241
26242 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
26243
26244 * configure.ac: Accept `x86_64' as host_cpu. In that case add
26245 `-m32' to CFLAGS.
26246
26247 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
26248 linking.
26249
26250 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
26251 (COMMON_LDFLAGS): New variable.
26252 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
26253 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
26254 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
26255 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
26256 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
26257 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
26258 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
26259 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
26260 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
26261 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
26262 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
26263 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
26264 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
26265 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
26266 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
26267 variables.
26268 (normal_mod_ASFLAGS): Add `-m32'.
26269
26270 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
26271 (grub_host_size_t, grub_host_ssize_t): New types.
26272 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
26273 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
26274 `GRUB_HOST_SIZEOF_VOID_P'.
26275
26276 * include/grub/kernel.h (struct grub_module_header): Type of
26277 member offset changed to `grub_host_off_t'. Type of member size
26278 changed to `grub_host_size_t'.
26279 (struct grub_module_info): Type of member offset changed to
26280 `grub_host_off_t'. Type of member size changed to
26281 `grub_host_size_t'.
26282
26283 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
26284
26285 Make GRUB's kernel compliant to Multiboot Specification.
26286
26287 * kern/i386/pc/startup.S (multiboot_header): New label.
26288 (multiboot_entry): Likewise.
26289 (multiboot_trampoline): Likewise.
26290
26291 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26292 Increased to 0x4A0.
26293
26294 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
26295 put parentheses after a question mark.
26296 [!GRUB_UTIL] (my_mod): New variable.
26297
26298 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
26299
26300 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
26301
26302 Adds support for the XFS filesystem. Btrees are not supported
26303 yet.
26304
26305 * fs/xfs.c: New file.
26306
26307 * DISTLIST: Added `fs/xfs.c'.
26308
26309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
26310 (grub_probefs_SOURCES): Likewise.
26311 (grub_emu_SOURCES): Likewise.
26312 (pkgdata_MODULES): Add `xfs.mod'.
26313 (xfs_mod_SOURCES): New variable.
26314 (xfs_mod_CFLAGS): Likewise.
26315
26316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
26317 (pkgdata_MODULES): Add `xfs.mod'.
26318 (xfs_mod_SOURCES): New variable.
26319 (xfs_mod_CFLAGS): Likewise.
26320
26321 * util/grub-emu.c (main): Call `grub_xfs_init' and
26322 `grub_xfs_fini'.
26323
26324 * include/grub/fs.h (grub_xfs_init): New prototype.
26325 (grub_xfs_fini): Likewise.
26326
26327
26328 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
26329
26330 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
26331 color modes, allow greater than 16 colors to be configured as
26332 a default palette.
26333
26334 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26335
26336 * normal/completion.c (complete_arguments): Add the qualifier
26337 const into OPTIONS.
26338
26339 From Omniflux <omniflux+lists@omniflux.com>:
26340 * include/grub/terminfo.h: New file.
26341 * include/grub/tparm.h: Likewise.
26342 * include/grub/i386/pc/serial.h: Likewise.
26343 * term/terminfo.c: Likewise.
26344 * term/tparm.c: Likewise.
26345 * term/i386/pc/serial.c: Likewise.
26346 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
26347 serial.mod.
26348 (terminfo_mod_SOURCES): New variable.
26349 (terminfo_mod_CFLAGS): Likewise.
26350 (serial_mod_SOURCES): Likewise.
26351 (serial_mod_CFLAGS): Likewise.
26352
26353 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
26354
26355 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
26356 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
26357 and kern/powerpc/ieee1275/cmain.c, respectively.
26358
26359 * boot/powerpc/ieee1275/crt0.S: Moved to ...
26360 * kern/powerpc/ieee1275/crt0.S: ... here.
26361
26362 * boot/powerpc/ieee1275/cmain.c: Moved to ...
26363 * kern/powerpc/ieee1275/cmain.c: ... here.
26364
26365 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
26366 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
26367 instead of boot/powerpc/ieee1275/crt0.S and
26368 boot/powerpc/ieee1275/cmain.c, respectively.
26369
26370 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
26371 sectors. It was not used anyway.
26372
26373 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26374
26375 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
26376 `unused parameter' warning.
26377
26378 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26379
26380 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
26381 function.
26382 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
26383 getcharwidth.
26384
26385 2005-08-28 Marco Gerards <metgerards@student.han.nl>
26386
26387 * include/grub/normal.h (enum grub_completion_type): Added
26388 `GRUB_COMPLETION_TYPE_ARGUMENT'.
26389
26390 * normal/cmdline.c (print_completion): Handle
26391 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
26392 * normal/menu_entry.c (store_completion): Likewise.
26393
26394 * normal/completion.c (complete_arguments): New function.
26395 (grub_normal_do_completion): Call `complete_arguments' when the
26396 current words start with a dash.
26397
26398 2005-08-27 Marco Gerards <metgerards@student.han.nl>
26399
26400 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
26401 `gzio.mod' instead of `io.mod').
26402
26403 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
26404
26405 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
26406 (DISTDIRS): Added io and video.
26407 Rewrite the search routine to make an output consistently.
26408
26409 * DISTLIST: Added conf/sparc64-ieee1275.mk,
26410 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
26411 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
26412 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
26413 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
26414 util/powerpc/ieee1275/misc.c.
26415
26416 * include/grub/gzio.h: New file.
26417 * io/gzio.c: Likewise.
26418
26419 * kern/file.c (grub_file_close): Call grub_device_close only if
26420 FILE->DEVICE is not NULL.
26421
26422 * include/grub/mm.h [!NULL] (NULL): New macro.
26423
26424 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26425
26426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26427 (pkgdata_MODULES): Added gzio.mod.
26428 (gzio_mod_SOURCES): New variable.
26429 (gzio_mod_CFLAGS): Likewise.
26430
26431 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26432 (pkgdata_MODULES): Added gzio.mod.
26433 (gzio_mod_SOURCES): New variable.
26434 (gzio_mod_CFLAGS): Likewise.
26435
26436 * commands/cat.c: Include grub/gzio.h.
26437 (grub_cmd_cat): Use grub_gzfile_open instead of
26438 grub_file_open.
26439
26440 * commands/cmp.c: Include grub/gzio.h.
26441 (grub_cmd_cmp): Use grub_gzfile_open instead of
26442 grub_file_open.
26443
26444 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26445 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26446 grub_file_open.
26447 (grub_rescue_cmd_module): Likewise.
26448
26449 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26450
26451 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26452 kern/sparc64/ieee1275/init.c because it contains _start.
26453 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26454
26455 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26456
26457 * configure.ac: Add support for sparc64 host with ieee1275
26458 firmware.
26459 * configure: Generated from configure.ac.
26460 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26461 instead of int.
26462 (grub_ofdisk_read): Likewise.
26463 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26464 pointers as (void *) to remove a warning.
26465 (grub_ofdisk_close): Likewise.
26466 (grub_ofdisk_read): Likewise.
26467 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26468 returns, so make it return void to remove a warning.
26469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26470 Corresponding prototype change.
26471 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26472 values, and cast the pointers as (void *) to remove a warning.
26473 (grub_mm_dump): Likewise.
26474 * conf/sparc64-ieee1275.mk: New file.
26475 * conf/sparc64-ieee1275.rmk: Likewise.
26476 * include/grub/sparc64/setjmp.h: Likewise.
26477 * include/grub/sparc64/types.h: Likewise.
26478 * include/grub/sparc64/ieee1275/console.h: Likewise.
26479 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26480 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26481 * include/grub/sparc64/ieee1275/time.h: Likewise.
26482 * kern/sparc64/cache.c: Likewise.
26483 * kern/sparc64/dl.c: Likewise.
26484 * kern/sparc64/ieee1275/init.c: Likewise.
26485 * kern/sparc64/ieee1275/openfw.c: Likewise.
26486
26487 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26488
26489 * util/console.c (grub_ncurses_putchar): If C is greater than
26490 0x7f, set C to a question mark.
26491 (grub_ncurses_getcharwidth): New function.
26492 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26493 getcharwidth.
26494
26495 * normal/menu.c (print_entry): Made aware of Unicode. First,
26496 convert TITLE to UCS-4, and predict the cursor position by
26497 grub_getcharwidth.
26498
26499 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26500 const to SRC.
26501 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26502
26503 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26504
26505 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26506 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26507 grub_strcat.
26508
26509 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26510 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26511 grub_strcpy and grub_strlen. Take it into account that a space
26512 character is inserted as a delimiter.
26513
26514 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26515
26516 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
26517 invalid magic in the error.
26518
26519 * commands/search.c: New file.
26520
26521 * util/grub-emu.c (main): Call grub_search_init and
26522 grub_search_fini.
26523
26524 * kern/rescue.c (grub_rescue_print_disks): Removed.
26525 (grub_rescue_print_devices): New function.
26526 (grub_rescue_cmd_ls): Use grub_device_iterate with
26527 grub_rescue_print_devices instead of grub_disk_dev_iterate with
26528 grub_rescue_print_disks.
26529
26530 * kern/partition.c (grub_partition_iterate): Return the result of
26531 PARTMAP->ITERATE instead of GRUB_ERRNO.
26532
26533 * kern/device.c: Include grub/partition.h.
26534 (grub_device_iterate): New function.
26535
26536 * include/grub/partition.h (grub_partition_iterate): Return int
26537 instead of grub_err_t.
26538
26539 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
26540 prototype.
26541 [GRUB_UTIL] (grub_search_fini): Likewise.
26542
26543 * include/grub/device.h (grub_device_iterate): New prototype.
26544
26545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26546 commands/search.c.
26547 (pkgdata_MODULES): Added search.mod.
26548 (search_mod_SOURCES): New variable.
26549 (search_mod_CFLAGS): Likewise.
26550
26551 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
26552 (pkgdata_MODULES): Added search.mod.
26553 (search_mod_SOURCES): New variable.
26554 (search_mod_CFLAGS): Likewise.
26555
26556 * commands/ls.c (grub_ls_list_disks): Renamed to ...
26557 (grub_ls_list_devices): ... this, and use grub_device_iterate.
26558 All callers changed.
26559
26560 * DISTLIST: Added commands/search.c.
26561
26562 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26563
26564 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
26565 conversion.
26566 (grub_getcharwidth): New function.
26567
26568 * kern/misc.c (grub_utf8_to_ucs4): New function.
26569
26570 * include/grub/term.h (struct grub_term): Added a new member
26571 "getcharwidth".
26572 (grub_getcharwidth): New prototype.
26573
26574 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
26575
26576 * term/i386/pc/console.c (map_char): New function. Segregated from
26577 grub_console_putchar.
26578 (grub_console_putchar): Use map_char.
26579 (grub_console_getcharwidth): New function.
26580 (grub_console_term): Specified grub_console_getcharwidth as
26581 getcharwidth.
26582
26583 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
26584 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
26585
26586 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
26587 GRUB_ERRNO.
26588 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
26589 on grub_strtoul completely.
26590 (write_char): Declare local variables in the beginning of the
26591 function.
26592 (grub_vesafb_getcharwidth): New function.
26593 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
26594 getcharwidth.
26595
26596 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
26597
26598 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
26599 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
26600 commands/i386/pc/vbetest.c.
26601
26602 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
26603 call grub_vbe_get_controller_info again, because the returned
26604 information is volatile.
26605 (grub_vbe_set_video_mode): Mostly rewritten.
26606 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
26607 grub_vbe_status_t correctly.
26608 (grub_vbe_get_video_mode_info): Likewise.
26609 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
26610 several if statements.
26611
26612 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
26613 * commands/i386/pc/vbeinfo.c: ... this.
26614
26615 * commands/i386/pc/vbe_test.c: Renamed to ...
26616 * commands/i386/pc/vbetest.c: ... this.
26617
26618 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
26619 ...
26620 (grub_cmd_vbeinfo): ... this. Save video modes before
26621 iterating. Skip a video mode, if it is not available, not enough
26622 information is given or it is monochrome. Show the memory
26623 model. Leave the interpretation of MODEVAR to grub_strtoul
26624 completely.
26625 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
26626 (GRUB_MOD_FINI): Likewise.
26627
26628 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
26629 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
26630 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
26631 duplicated grub_env_get. Leave the interpretation of MODEVAR to
26632 grub_strtoul completely.
26633 (real2pm): Removed.
26634 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
26635 (GRUB_MOD_FINI): Likewise.
26636
26637 * normal/misc.c: Include grub/mm.h.
26638
26639 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
26640 vbe_list_modes with vbetest.mod and vbeinfo.mod.
26641 (vbe_list_modes_mod_SOURCES): Removed.
26642 (vbe_list_modes_mod_CFLAGS): Likewise.
26643 (vbe_test_mod_SOURCES): Likewise.
26644 (vbe_test_mod_CFLAGS): Likewise.
26645 (vbeinfo_mod_SOURCES): New variable.
26646 (vbeinfo_mod_CFLAGS): Likewise.
26647 (vbetest_mod_SOURCES): Likewise.
26648 (vbetest_mod_CFLAGS): Likewise.
26649
26650 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
26651
26652 * normal/misc.c: New file.
26653
26654 * DISTLIST: Added normal/misc.c.
26655
26656 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
26657 DISK to HOOK. Call HOOK with DISK.
26658 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26659 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26660 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26661
26662 * normal/menu_entry.c (struct screen): Added a new member
26663 "completion_shown".
26664 (completion_buffer): New global variable.
26665 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
26666 (store_completion): New function.
26667 (complete): Likewise.
26668 (clear_completions): Likewise.
26669 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
26670 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
26671 a tab, call complete.
26672
26673 * normal/completion.c (disk_dev): Removed.
26674 (print_simple_completion): Likewise.
26675 (print_partition_completion): Likewise.
26676 (print_func): New global variable.
26677 (add_completion): Do not take the arguments WHAT or PRINT any
26678 longer. Added a new argument TYPE. Instead of printing directly,
26679 call PRINT_FUNC if not NULL.
26680 All callers changed.
26681 (complete_device): Use a local variable DEV instead of
26682 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
26683 (grub_normal_do_completion): Take a new argument HOOK. Do not
26684 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
26685 empty string, return NULL instead.
26686 All callers changed.
26687
26688 * normal/cmdline.c (print_completion): New function.
26689
26690 * kern/partition.c (grub_partition_iterate): Add an argument DISK
26691 to HOOK.
26692 All callers changed.
26693
26694 * kern/disk.c (grub_print_partinfo): Removed.
26695
26696 * include/grub/partition.h (struct grub_partition_map): Add a new
26697 argument DISK into HOOK of ITERATE.
26698 (grub_partition_iterate): Add a new argument DISK to HOOK.
26699
26700 * include/grub/normal.h (enum grub_completion_type): New enum.
26701 (grub_completion_type_t): New type.
26702 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
26703 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
26704 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
26705 (GRUB_COMPLETION_TYPE_FILE): Likewise.
26706 (grub_normal_do_completion): Added a new argument HOOK.
26707 (grub_normal_print_device_info): New prototype.
26708
26709 * include/grub/disk.h (grub_print_partinfo): Removed.
26710
26711 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
26712 (normal_mod_SOURCES): Likewise.
26713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26714 (normal_mod_SOURCES): Likewise.
26715
26716 * commands/ls.c (grub_ls_list_disks): Use
26717 grub_normal_print_device_info instead of grub_print_partinfo. Free
26718 PNAME.
26719 (grub_ls_list_files): Use grub_normal_print_device_info instead of
26720 duplicating the code.
26721
26722 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26723
26724 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
26725 follow GCS more precisely.
26726 * commands/i386/pc/vbe_test.c: Likewise.
26727 * include/grub/i386/pc/vbe.h: Likewise.
26728 * term/i386/pc/vesafb.c: Likewise.
26729 * video/i386/pc/vbe.c: Likewise.
26730
26731 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
26732
26733 * DISTLIST: Added term/i386/pc/vesafb.c
26734 DISTLIST: Added video/i386/pc/vbe.c
26735 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
26736 DISTLIST: Added commands/i386/pc/vbe_test.c.
26737 * commands/i386/pc/vbe_list_modes.c: New file.
26738 * commands/i386/pc/vbe_test.c: Likewise.
26739 * term/i386/pc/vesafb.c: Likewise.
26740 * video/i386/pc/vbe.c: Likewise.
26741 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
26742 (grub_vbe_probe) Added prototype.
26743 (grub_vbe_set_video_mode) Likewise.
26744 (grub_vbe_get_video_mode) Likewise.
26745 (grub_vbe_get_video_mode_info) Likewise.
26746 (grub_vbe_set_pixel_rgb) Likewise.
26747 (grub_vbe_set_pixel_index) Likewise.
26748 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
26749 (pkgdata_MODULES): Added vesafb.mod.
26750 (pkgdata_MODULES): Added vbe_list_modes.mod.
26751 (pkgdata_MODULES): Added vbe_test.mod.
26752 (vbe_mod_SOURCES): Added.
26753 (vbe_mod_CFLAGS): Likewise.
26754 (vesafb_mod_SOURCES): Likewise.
26755 (vesafb_mod_CFLAGS): Likewise.
26756 (vbe_list_modes_mod_SOURCES): Likewise.
26757 (vbe_list_modes_mod_CFLAGS): Likewise.
26758 (vbe_test_mod_SOURCES): Likewise.
26759 (vbe_test_mod_CFLAGS): Likewise.
26760
26761 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
26762
26763 * normal/command.c (grub_command_execute): If INTERACTIVE is
26764 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
26765 CMDLINE. Disable the pager if INTERACTIVE is true.
26766 All callers are changed.
26767
26768 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
26769 before reading a config file.
26770 * normal/main.c (read_config_file): Even if a command is not
26771 found, register it if it is within an entry.
26772
26773 * util/grub-emu.c: Include sys/types.h and unistd.h.
26774 (options): Added --hold.
26775 (struct arguments): Added a new member "hold".
26776 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
26777 missing.
26778 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
26779 cleared by a debugger, if it is not zero.
26780
26781 * include/grub/normal.h (grub_command_execute): Add an argument
26782 INTERACTIVE.
26783
26784 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
26785
26786 * DISTLIST: Added include/grub/i386/pc/vbe.h.
26787
26788 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
26789
26790 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
26791 program with another one, because the old one didn't detect a bug
26792 in gcc-3.4. Always use regparm 2, because the new test is still
26793 not enough for gcc-4.0. Someone must investigate a simple test
26794 case which detects a bug in gcc-4.0.
26795
26796 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
26797
26798 * DISTLIST: Added normal/completion.c.
26799
26800 * normal/completion.c: New file.
26801
26802 * term/i386/pc/console.c (grub_console_getwh): New function.
26803 (grub_console_term): Assign grub_console_getwh to getwh.
26804
26805 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
26806 function is defined in normal/completion.c as
26807 grub_normal_do_completion.
26808 (grub_cmdline_get): Use grub_normal_do_completion instead of
26809 grub_tab_complete.
26810
26811 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
26812 returns non-zero, otherwise return 0.
26813 (grub_partition_iterate): First, probe the partition map. Then,
26814 call ITERATE only for this partition map.
26815
26816 * kern/misc.c (grub_strncmp): Rewritten.
26817
26818 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
26819 returns non-zero. Otherwise return 0.
26820
26821 * include/grub/partition.h (grub_partition_map_iterate): Return
26822 int instead of void.
26823
26824 * include/grub/normal.h (grub_normal_do_completion): New prototype.
26825
26826 * include/grub/misc.h (grub_strncmp): Change the type of N to
26827 grub_size_t.
26828
26829 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
26830 of void.
26831
26832 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
26833 unsigned explicitly before comparing it with I.
26834
26835 * kern/main.c (grub_env_write_root): Add the attribute unused into
26836 VAR.
26837
26838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
26839 normal/completion.c.
26840 (normal_mod_SOURCES): Likewise.
26841 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26842 (normal_mod_SOURCES): Likewise.
26843
26844 * normal/command.c (grub_iterate_commands): If ITERATE returns
26845 non-zero, return one immediately.
26846
26847 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
26848
26849 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
26850 * kern/i386/pc/startup.S: Updated Global Descriptor table's
26851 descriptions.
26852 (grub_vbe_get_controller_info): New function.
26853 (grub_vbe_get_mode_info): Likewise.
26854 (grub_vbe_set_mode): Likewise.
26855 (grub_vbe_get_mode): Likewise.
26856 (grub_vbe_set_memory_window): Likewise.
26857 (grub_vbe_get_memory_window): Likewise.
26858 (grub_vbe_set_scanline_length): Likewise.
26859 (grub_vbe_get_scanline_length): Likewise.
26860 (grub_vbe_set_display_start): Likewise.
26861 (grub_vbe_get_display_start): Likewise.
26862 (grub_vbe_set_palette_data): Likewise.
26863 * include/grub/i386/pc/vbe.h: New file.
26864
26865 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26866
26867 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26868 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
26869 * DISTLIST: Likewise.
26870 * kern/ieee1275/of.c: Moved to ...
26871 * kern/ieee1275/ieee1275.c: ... here.
26872
26873 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26874
26875 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
26876 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
26877 Pass 0 as `end' parameter to grub_strtoul().
26878
26879 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
26880
26881 * include/grub/powerpc/ieee1275/console.h: Do not include
26882 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
26883 ifdef.
26884 (grub_console_cur_color): Remove i386-specific prototype.
26885 (grub_console_real_putchar): Likewise.
26886 (grub_console_checkkey): Likewise.
26887 (grub_console_getkey): Likewise.
26888 (grub_console_getxy): Likewise.
26889 (grub_console_gotoxy): Likewise.
26890 (grub_console_cls): Likewise.
26891 (grub_console_setcursor): Likewise.
26892 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
26893 Include <grub/machine/console.h>.
26894 * term/ieee1275/ofconsole.c: Likewise.
26895
26896 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
26897
26898 * Makefile.in (LIBLZO): New variable.
26899
26900 * configure.ac: Check for LZO version 2.
26901
26902 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
26903 lzo/lzo1x.h instead of lzo1x.h.
26904
26905 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
26906 of -llzo.
26907
26908 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
26909 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
26910
26911 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
26912 copying the data from PARTITION to P.
26913
26914 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26915
26916 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
26917 negative, unload the module.
26918
26919 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
26920 map is "pc_partition_map" but not "pc".
26921 (usage): Fix the description. The options are --boot-image and
26922 --core-image but not --boot-file or --core-file.
26923 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
26924 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
26925 DEFAULT_DIRECTORY.
26926
26927 * util/i386/pc/grub-install.in: Do not specify --boot-file or
26928 --core-file. Specify INSTALL_DEVICE as an argument.
26929
26930 * util/console.c: Include config.h.
26931 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
26932 [HAVE_NCURSES_H]: Include ncurses.h.
26933 [HAVE_CURSES_H]: Include curses.h.
26934 [!A_NORMAL] (A_NORMAL): Defined as zero.
26935 [!A_STANDOUT] (A_STANDOUT): Likewise.
26936
26937 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
26938 -lncurses.
26939 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
26940
26941 * configure.ac: Check for curses libraries and headers.
26942
26943 * Makefile.in (LIBCURSES): New variable.
26944
26945 * genmk.rb (Script::rule): Set the executable bits.
26946
26947 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
26948 name of the PC partition map is "pc_partition_map" but not "pc".
26949
26950 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26951
26952 * util/i386/pc/grub-install.in (grub_probefs): New variable.
26953 (modules): Likewise.
26954 (usage): Added descriptions for --modules and --grub-probefs.
26955 Handle --modules and --grub-probefs. Save the arguments in MODULES
26956 and GRUB_PROBEFS, respectively.
26957 Auto-detect a filesystem module against GRUBDIR. If the result is
26958 empty and modules are not specified explicitly, abort the
26959 installation. Add the result to MODULES.
26960
26961 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
26962 disk/powerpc/ieee1275/ofdisk.c,
26963 include/grub/powerpc/ieee1275/init.h and
26964 term/powerpc/ieee1275/ofconsole.c.
26965 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
26966 term/ieee1275/ofconsole.c.
26967
26968 * include/grub/powerpc/ieee1275/console.h: Resurrected.
26969
26970 * COPYING: Upgraded to the latest version. Only the address of the
26971 FSF office has changed.
26972
26973 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
26974
26975 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
26976 kern/ieee1275.c with kern/ieee1275/of.c.
26977
26978 * kern/ieee1275.c: Moved to ...
26979 * kern/ieee1275/of.c: ... here.
26980
26981 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
26982
26983 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
26984 readability.
26985
26986 * config.guess: Updated to the latest version from gnulib.
26987 * config.sub: Likewise.
26988 * install.sh: Likewise.
26989 * mkinstalldirs: Likewise.
26990
26991 * include/grub/console.h: Removed. This file is arch-specific. Do
26992 not put this in include/grub.
26993
26994 * include/grub/i386/pc/console.h: Resurrected.
26995
26996 * util/console.c: Include grub/machine/console.h instead of
26997 grub/console.h.
26998 * util/grub-emu.c: Likewise.
26999
27000 2005-08-04 Marco Gerards <metgerards@student.han.nl>
27001
27002 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
27003 hardcoded value.
27004
27005 From Vincent Pelletier <subdino2004@yahoo.fr>
27006 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
27007 Redefined to use grub_getwh.
27008 (grub_term): New member named getwh.
27009 (grub_getwh): New prototype.
27010 * kern/term.c (grub_getwh): New function.
27011 * term/i386/pc/console.c (grub_console_getwh): New function.
27012 (grub_console_term): New member `getwh'.
27013 * term/i386/pc/vga.c (grub_vga_getwh): New function.
27014 (grub_vga_term): New member `getwh'.
27015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
27016 grub_ssize_t.
27017 (grub_ofconsole_getw): New function.
27018 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
27019 (grub_ofconsole_term): New field named getwh and new initial
27020 value.
27021
27022 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
27023
27024 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
27025 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
27026 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
27027 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
27028 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
27029 of <grub/machine/ieee1275.h>.
27030 * commands/ieee1275/reboot.c: Likewise.
27031 * boot/powerpc/ieee1275/ieee1275.c: Move ...
27032 * kern/ieee1275.c: ... to here. All users updated. Change all
27033 parameter structs to use new type `grub_ieee1275_cell_t'.
27034 * term/powerpc/ieee1275/ofconsole.c: Move ...
27035 * term/ieee1275/ofconsole.c: ... to here. All users updated.
27036 * disk/powerpc/ieee1275/ofdisk.c: Move ...
27037 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
27038 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
27039 to return int.
27040 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
27041 Remove unused prototypes. All users updated.
27042 * include/grub/powerpc/ieee1275/console.h: Removed.
27043 * include/grub/powerpc/ieee1275/ieee1275.h: Define
27044 `grub_ieee1275_cell_t'.
27045 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
27046 Cast comparisons with -1 to the correct type.
27047 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
27048 type to match `grub_ieee1275_entry_fn'.
27049
27050 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
27051
27052 * DISTLIST: Added util/i386/pc/grub-probefs.c.
27053
27054 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
27055 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
27056 partmap/sun.c.
27057 (grub_probefs_SOURCES): New variable.
27058
27059 * util/i386/pc/grub-probefs.c: New file.
27060
27061 * util/i386/pc/grub-setup.c (main): Call
27062 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
27063 grub_hfs_init and grub_jfs_init to initialize the system. Call
27064 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
27065 grub_pc_partition_map_fini to finish the system.
27066
27067 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
27068
27069 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
27070 function.
27071 (grub_multiboot_load_elf32): Likewise.
27072 (grub_multiboot_is_elf64): Likewise.
27073 (grub_multiboot_load_elf64): Likewise.
27074 (grub_multiboot_load_elf): Likewise.
27075 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
27076 an ELF32 or ELF64 file.
27077 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
27078
27079 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
27080 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
27081 NULL before calling FS->LABEL.
27082 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
27083 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
27084 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
27085 before calling FS->LABEL.
27086
27087 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
27088
27089 * util/i386/pc/grub-install.in (datadir): New variable.
27090 (libdir): Removed.
27091 (pkgdatadir): New variable.
27092 (pkglibdir): Removed.
27093
27094 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
27095
27096 * DISTLIST: Added util/i386/pc/grub-install.in.
27097
27098 * util/i386/pc/grub-install.in: New file.
27099
27100 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
27101 (grub_install_SOURCES): Likewise.
27102
27103 * genmk.rb: Added support for scripts.
27104 (Script): New class.
27105 (scripts): New variable.
27106
27107 * Makefile.in (install-local): Install sbin_SCRIPTS by
27108 INSTALL_SCRIPT.
27109 (uninstall): Remove sbin_SCRIPTS.
27110
27111 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
27112 device, try to get a GRUB device by
27113 grub_util_biosdisk_get_grub_dev.
27114 Free DEST_DEV.
27115
27116 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
27117 description for --device-map.
27118
27119 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
27120
27121 Change the semantics of variable hooks. They now return strings
27122 instead of error values.
27123
27124 * util/i386/pc/grub-setup.c: Include grub/env.h.
27125 (setup): Use grub_device_set_root instead of grub_env_set.
27126
27127 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
27128 grub_env_get instead of grub_device_set_root and
27129 grub_device_get_root, respectively.
27130
27131 * kern/main.c (grub_env_write_root): New function.
27132 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
27133 grub_env_set instead of grub_device_set_root.
27134
27135 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
27136 many variables.
27137 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
27138 rather than calling ENV->WRITE_HOOK afterwards.
27139 (grub_env_get): Return the result of ENV->READ_HOOK rather than
27140 passing a pointer of a pointer.
27141 (grub_register_variable_hook): Change the types of "read_hook" and
27142 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
27143 respectively.
27144 Allocate the default empty string on the heap, because this string
27145 may be freed later.
27146
27147 * kern/device.c: Include grub/env.h.
27148 (grub_device_set_root): Removed.
27149 (grub_device_get_root): Likewise.
27150 (grub_device_open): Use grub_env_get instead of
27151 grub_device_get_root.
27152
27153 * include/grub/env.h (grub_env_read_hook_t): New type.
27154 (grub_env_write_hook_t): Likewise.
27155 (grub_env_var): Change the types of "read_hook" and "write_hook"
27156 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
27157 (grub_register_variable_hook): Likewise.
27158
27159 * include/grub/device.h (grub_device_set_root): Removed.
27160 (grub_device_set_root): Likewise.
27161
27162 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
27163 make sure that DIRNAME terminates with '/', so that
27164 grub_fat_find_dir will fail if PATH is not a directory.
27165
27166 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
27167 from DIRNAME.
27168 Use the qualifier auto for print_files and print_files_long.
27169 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
27170 as a regular file.
27171 Put a newline only if there is no error.
27172 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
27173 used.
27174
27175 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
27176
27177 * kern/partition.c (grub_partition_probe): Initialize PART to
27178 NULL. Otherwise, when no partition map is registered, this returns
27179 a garbage.
27180
27181 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
27182
27183 * partmap/apple.c (apple_partition_map_iterate): Check if POS
27184 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
27185 valid.
27186
27187 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
27188
27189 * commands/ls.c (grub_ls_list_disks): Print the filesystem
27190 information on each device, if it does not have partitions. Print
27191 "Device" instead of "Disk", because this function is not specific
27192 to disk devices.
27193
27194 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
27195 static to ensure that it is put on the memory rather than a
27196 register.
27197
27198 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
27199
27200 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
27201 (grub_cat_init): Likewise.
27202 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
27203 (options): Likewise.
27204 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27205 (grub_configfile_init): Likewise.
27206 * font/manager.c (GRUB_MOD_INIT): Likewise.
27207 * commands/help.c (GRUB_MOD_INIT): Likewise.
27208 (grub_help_init): Likewise.
27209 * normal/command.c (grub_command_init): Likewise.
27210 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
27211 * disk/loopback.c (grub_loop_init): Likewise.
27212 (GRUB_MOD_INIT): Likewise.
27213 * commands/ls.c (grub_ls_init): Likewise.
27214 (GRUB_MOD_INIT): Likewise.
27215 (options): Likewise.
27216 * commands/boot.c (grub_boot_init): Likewise.
27217 (GRUB_MOD_INIT): Likewise.
27218 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
27219 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
27220 (GRUB_MOD_INIT): Likewise.
27221 * commands/cmp.c (grub_cmp_init): Likewise.
27222 (GRUB_MOD_INIT): Likewise.
27223
27224 * normal/arg.c: Use <> instead of "" to include header files.
27225 (SHORT_ARG_HELP): New macro.
27226 (SHORT_ARG_USAGE): Likewise.
27227 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
27228 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
27229 descriptions.
27230 (find_short): Check if C is 'h' or 'u' explicitly.
27231 (grub_arg_show_help): Use space characters instead of tabs. Treat
27232 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
27233 are shown with --help and --usage only if they are not used for
27234 the command itself.
27235 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
27236 'h' and 'u'.
27237
27238 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
27239 const into "longarg". Change the type of "shortarg" to int.
27240
27241 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
27242
27243 * boot/i386/pc/boot.S (boot_drive_check): New label.
27244
27245 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
27246 macro.
27247
27248 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
27249 which do not pass a boot drive correctly. Copied from GRUB Legacy.
27250
27251 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
27252
27253 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
27254 When turning off Gate A20, skip the check and return immediately,
27255 because this is not fatal usually.
27256
27257 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
27258
27259 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
27260 be 0x7C00 instead of 0x8000.
27261
27262 * boot/i386/pc/pxeboot.S: Rewritten.
27263
27264 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
27265 EXT_C.
27266 (gate_a20_check_state): Read a byte from 0x108000. Invert the
27267 result.
27268
27269 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
27270
27271 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
27272 robustness. This routine now supports a BIOS call and System
27273 Control Port A to modify the gate A20.
27274
27275 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27276 Increased to 0x440.
27277
27278 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
27279
27280 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
27281 device path and resulting ihandle.
27282 (grub_ofdisk_close): dprintf the ihandle being closed.
27283 (grub_ofdisk_read): dprintf function parameters.
27284 * kern/mm.c (grub_mm_init_region): Likewise.
27285 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
27286 (grub_linux_boot): dprintf the Linux entry point, initrd address and
27287 size, and boot arguments.
27288 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
27289 before loading into memory.
27290 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
27291 before loading into memory.
27292
27293 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
27294
27295 * kern/mm.c: Added much documentation.
27296 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
27297 8, set to 5 instead of 8.
27298
27299 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
27300
27301 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
27302
27303 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
27304 (grub_mkdevicemap_SOURCES): New variable.
27305
27306 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
27307 lib/device.c of GRUB Legacy.
27308
27309 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
27310
27311 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
27312 instead of PATH is NULL.
27313
27314 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
27315
27316 * commands/cmp.c (BUFFER_SIZE): New macro.
27317 (grub_cmd_cmp): Close the right file at the right time. Compare
27318 only data just read. Don't report files of different size as
27319 identical. Dynamically allocate buffers. Move variable
27320 declarations at the beginning of function.
27321
27322 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
27323
27324 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
27325 reverse.
27326
27327 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
27328
27329 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
27330 when backspace is pressed at beginning of line.
27331
27332 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
27333
27334 * DISTLIST: Added genfslist.sh.
27335
27336 * normal/main.c (fs_module_list): New variable.
27337 (autoload_fs_module): New function.
27338 (read_fs_list): Likewise.
27339 (grub_normal_execute): Call read_fs_list.
27340
27341 * kern/fs.c (grub_fs_autoload_hook): New variable.
27342 (grub_fs_probe): Added support for auto-loading.
27343
27344 * include/grub/normal.h (struct grub_fs_module_list): New struct.
27345 (grub_fs_module_list_t): New type.
27346
27347 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
27348 (grub_fs_autoload_hook): New prototype.
27349
27350 * genfslist.sh: New file.
27351
27352 * genmk.rb: Added a rule to generate a filesystem list.
27353
27354 2005-06-30 Marco Gerards <metgerards@student.han.nl>
27355
27356 * configure.ac: Fix the test for cross-compiling.
27357
27358 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
27359 define GRUB_UTIL anymore.
27360
27361 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
27362 so this function works on other systems than just big endian.
27363 (load_modules): Likewise.
27364 (add_segments): Likewise.
27365
27366 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
27367
27368 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
27369 contains `l' modifier, get a long from va_arg().
27370
27371 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
27372
27373 * kern/mm.c (grub_free): If the next free block which is being
27374 merged is the first free block, set the first block to the block
27375 being freed.
27376 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
27377
27378 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27379
27380 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
27381 `grub_ieee1275_chosen'.
27382
27383 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27384
27385 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
27386 (grub_ieee1275_chosen): New variable.
27387 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
27388 `chosen'.
27389 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
27390 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27391 Rename first argument to `phandle' for consistency.
27392 (grub_ieee1275_get_property_length): Likewise.
27393 (grub_ieee1275_next_property): Likewise. Change type of first argument
27394 to grub_ieee1275_phandle_t.
27395 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
27396 Move export next to declaration.
27397 (grub_ieee1275_chosen): New variable.
27398 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
27399 Correct cosmetic typo.
27400 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
27401 `grub_ieee1275_chosen'.
27402 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
27403 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
27404 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
27405 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
27406 `grub_ieee1275_chosen'.
27407
27408 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
27409
27410 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
27411 /chosen/bootargs.
27412 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
27413 /chosen/bootargs as "variable=value" pairs.
27414
27415 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
27416
27417 * include/grub/misc.h (grub_dprintf): New macro.
27418 (grub_real_dprintf): New prototype.
27419 (grub_strword): Likewise.
27420 (grub_iswordseparator): Likewise.
27421 * kern/misc.c (grub_real_dprintf): New function.
27422 (grub_strword): Likewise.
27423 (grub_iswordseparator): Likewise.
27424
27425 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27426
27427 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27428 (roundup): Remove macro.
27429 (grub_ieee1275_flags): Make static.
27430 (grub_ieee1275_realmode): Remove.
27431 (grub_ieee1275_test_flag): New function.
27432 (grub_ieee1275_set_flag): Likewise.
27433 (find_options): Rename to `grub_ieee1275_find_options'; update
27434 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27435 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27436 (cmain): New prototype.
27437 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27438 `grub_ieee1275_flags' directly.
27439 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27440 machine/biosdisk.h.
27441 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27442 Don't include grub/machine/init.h.
27443 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27444 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27445 Remove prototype.
27446 (grub_ieee1275_realmode): Likewise.
27447 (grub_ieee1275_flag): New enum.
27448 (grub_ieee1275_test_flag): New prototype.
27449 (grub_ieee1275_set_flag): New prototype.
27450 * include/grub/powerpc/ieee1275/init.h: Remove file.
27451 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27452 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27453 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27454 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27455 comment.
27456 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27457 `grub_ieee1275_test_flag'.
27458 (grub_ieee1275_encode_devname): Likewise.
27459
27460 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27461
27462 * include/grub/powerpc/ieee1275/ieee1275.h
27463 (grub_ieee1275_encode_devname): New prototype.
27464 (grub_ieee1275_get_filename): Likewise.
27465 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27466 function.
27467 (grub_set_prefix): Likewise.
27468 (grub_machine_init): Call grub_set_prefix.
27469 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27470 (grub_parse_type): New enum.
27471 (grub_ieee1275_get_devargs): New function.
27472 (grub_ieee1275_get_devname): Likewise.
27473 (grub_ieee1275_parse_args): Likewise.
27474 (grub_ieee1275_get_filename): Likewise.
27475 (grub_ieee1275_encode_devname): Likewise.
27476
27477 2005-03-30 Marco Gerards <metgerards@student.han.nl>
27478
27479 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27480 `grub_loader_unset'.
27481
27482 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27483
27484 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27485 instead of grub_ieee1275_interpret.
27486 (grub_halt_init): New function.
27487 (grub_halt_fini): Likewise.
27488 (GRUB_MOD_INIT): Correct message grammar.
27489 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27490 instead of grub_ieee1275_interpret.
27491 (grub_reboot_init): New function.
27492 (grub_reboot_fini): Likewise.
27493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27494 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27495 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27496 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27497 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27498 function.
27499 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27500 Add prototype.
27501 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27502 prototype.
27503 (grub_halt): Likewise.
27504 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27505 (cmain): Remove __attribute__((unused)).
27506 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27507 (grub_heap_len): Likewise.
27508 (grub_machine_fini): New function.
27509 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27510 (grub_halt): Likewise.
27511 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27512 function.
27513 * util/powerpc/ieee1275/misc.c: New file.
27514
27515 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27516
27517 * DISTLIST: New file.
27518 * gendistlist.sh: Likewise.
27519
27520 * Makefile.in (COMMON_DISTFILES): Removed.
27521 (BOOT_DISTFILES): Likewise.
27522 (CONF_DISTFILES): Likewise.
27523 (DISK_DISTFILES): Likewise.
27524 (FS_DISTFILES): Likewise.
27525 (INCLUDE_DISTFILES): Likewise.
27526 (KERN_DISTFILES): Likewise.
27527 (LOADER_DISTFILES): Likewise.
27528 (TERM_DISTFILES): Likewise.
27529 (UTIL_DISTFILES): Likewise.
27530 (DISTFILES): Likewise.
27531 (uninstall): Uninstall files in $(pkgdata_DATA).
27532 (DISTLIST): New target.
27533 (distdir): Use the contents of the file DISTLIST to get a list of
27534 distributed files.
27535
27536 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27537
27538 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
27539 descriptor. This is ported from GRUB Legacy.
27540
27541 * gencmdlist.sh: Added an extra semicolon to make it work with
27542 old sed versions. Reported by Robert Bihlmeyer
27543 <robbe@orcus.priv.at>.
27544
27545 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
27546
27547 Automatic loading of commands is supported.
27548
27549 * normal/main.c (read_command_list): New function.
27550 (grub_normal_execute): Call read_command_list.
27551
27552 * normal/command.c (grub_register_command): Return zero or CMD.
27553 Allocate CMD->NAME from the heap.
27554 Initialize CMD->MODULE_NAME to zero.
27555 Find the same name as well. If the same command is found and it is
27556 a dummy command, overwrite members. If it is not a dummy command,
27557 return zero.
27558 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
27559 (grub_command_find): If a dummy command is found, load a module
27560 and retry to find a command only once.
27561
27562 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
27563 make sure that each command is loaded.
27564
27565 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
27566 macro.
27567 (struct grub_command): Remove const from the member `name'.
27568 Add a new member `module_name'.
27569 (grub_register_command): Return grub_command_t.
27570
27571 * commands/help.c (grub_cmd_help): Call grub_command_find to make
27572 sure that each command is loaded.
27573
27574 * genmk.rb (PModule::rule): Specify a module name without the
27575 suffix ".mod" to gencmdlist.sh.
27576
27577 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27578
27579 * gencmdlist.sh: New file.
27580
27581 * genmk.rb (PModule::rule): Generate a rule for a command list.
27582 Clean command.lst.
27583 Generate command.lst from $(COMMANDFILES).
27584
27585 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
27586 (DATA): Added $(pkgdata_DATA).
27587 (install-local): Install files in $(pkgdata_DATA).
27588
27589 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
27590
27591 * term/i386/pc/vga.c (debug_command): Removed.
27592 (GRUB_MOD_INIT): Do not register the command "debug".
27593
27594 From Hollis Blanchard:
27595 * commands/configfile.c: New file.
27596 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27597 commands/configfile.c.
27598 (pkgdata_MODULES): Added configfile.mod.
27599 (configfile_mod_SOURCES): New variable.
27600 (configfile_mod_CFLAGS): Likewise.
27601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27602 commands/configfile.c.
27603 (pkgdata_MODULES): Added configfile.mod.
27604 (configfile_mod_SOURCES): New variable.
27605 (configfile_mod_CFLAGS): Likewise.
27606 * util/grub-emu.c (main): Call grub_configfile_init and
27607 grub_configfile_fini.
27608 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
27609 prototype.
27610 [GRUB_UTIL] (grub_configfile_fini): Likewise.
27611
27612 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27613
27614 * normal/arg.c (grub_arg_show_help): Do not show the bug report
27615 address.
27616
27617 * commands/help.c (grub_cmd_help): Do not print newlines after
27618 the last command in print_command_help.
27619
27620 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
27621
27622 * commands/default.h: New file.
27623 * commands/timeout.h: Likewise.
27624 * normal/context.c: Likewise.
27625
27626 * util/misc.c: Do not include sys/times.h.
27627 Include sys/time.h and grub/machine/time.h.
27628 (grub_get_rtc): Rewritten with gettimeofday.
27629
27630 * util/grub-emu.c (main): Call grub_default_init and
27631 grub_timeout_init before grub_normal_init, and call
27632 grub_timeout_fini and grub_default_fini after grub_main.
27633
27634 * util/console.c (grub_ncurses_checkkey): Return the read
27635 character or -1.
27636
27637 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
27638 timeouts.
27639
27640 * normal/main.c (read_config_file): Push MENU. If this fails,
27641 print an error and wait for a user input.
27642 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
27643 If a menu is empty or an error occurs, pop MENU.
27644 (grub_normal_execute): Pop and free MENU after grub_menu_run
27645 returns.
27646
27647 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
27648
27649 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
27650 include time.h.
27651 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27652 without GRUB_UTIL.
27653 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
27654 time.h.
27655 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
27656 without GRUB_UTIL.
27657
27658 * include/grub/normal.h (struct grub_menu_list): New struct.
27659 (grub_menu_list_t): New type.
27660 (struct grub_context): New struct.
27661 (grub_context_t): New type.
27662 (grub_register_command): Got rid of EXPORT_FUNC.
27663 (grub_unregister_command): Likewise.
27664 (grub_context_get): New prototype.
27665 (grub_context_get_current_menu): Likewise.
27666 (grub_context_push_menu): Likewise.
27667 (grub_context_pop_menu): Likewise.
27668 [GRUB_UTIL] (grub_default_init): Likewise.
27669 [GRUB_UTIL] (grub_default_fini): Likewise.
27670 [GRUB_UTIL] (grub_timeout_init): Likewise.
27671 [GRUB_UTIL] (grub_timeout_fini): Likewise.
27672
27673 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
27674 commands/timeout.c and normal/context.c.
27675 (pkgdata_MODULES): Added default.mod and timeout.mod.
27676 (normal_mod_SOURCES): Added normal/context.c.
27677 (default_mod_SOURCES): New variable.
27678 (default_mod_CFLAGS): Likewise.
27679 (timeout_mod_SOURCES): Likewise.
27680 (timeout_mod_CFLAGS): Likewise.
27681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
27682 conf/i386-pc.rmk.
27683 (pkgdata_MODULES): Added default.mod and timeout.mod.
27684 (normal_mod_SOURCES): Added normal/context.c.
27685 (default_mod_SOURCES): New variable.
27686 (default_mod_CFLAGS): Likewise.
27687 (timeout_mod_SOURCES): Likewise.
27688 (timeout_mod_CFLAGS): Likewise.
27689
27690 * Makefile.in (all-local): Added $(MKFILES).
27691
27692 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
27693
27694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
27695 (grub_emu_SOURCES): Likewise.
27696 (pkgdata_MODULES): Add `sun.mod'.
27697 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27699 `partmap/sun.c'.
27700 (pkgdata_MODULES): Add `sun.mod'.
27701 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
27702 * include/grub/partition.h (grub_sun_partition_map_init): New
27703 prototype.
27704 (grub_sun_partition_map_fini): Likewise.
27705 * partmap/sun.c: New file.
27706 * util/grub-emu.c (main): Initialize and de-initialize the sun
27707 partitionmap support.
27708
27709 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
27710
27711 This implements an Emacs-like menu entry editor.
27712
27713 * normal/menu_entry.c: New file.
27714
27715 * util/console.c (grub_ncurses_putchar): Translate some Unicode
27716 characters to ASCII.
27717 (saved_char): New variable.
27718 (grub_ncurses_checkkey): Rewritten completely.
27719 (grub_ncurses_getkey): Likewise.
27720 (grub_ncurses_init): Call raw instead of cbreak.
27721
27722 * normal/menu.c (print_entry): Do not put a space.
27723 (init_page): Renamed to ...
27724 (grub_menu_init_page): ... this. All callers changed.
27725 (edit_menu_entry): Removed.
27726 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
27727
27728 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
27729
27730 * kern/misc.c (grub_vprintf): Call grub_refresh.
27731
27732 * normal/menu.c (DISP_LEFT): Renamed to ...
27733 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
27734 * normal/menu.c (DISP_UP): Renamed to ...
27735 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
27736 * normal/menu.c (DISP_RIGHT): Renamed to ...
27737 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
27738 * normal/menu.c (DISP_DOWN): Renamed to ...
27739 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
27740 * normal/menu.c (DISP_HLINE): Renamed to ...
27741 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
27742 * normal/menu.c (DISP_VLINE): Renamed to ...
27743 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
27744 * normal/menu.c (DISP_UL): Renamed to ...
27745 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
27746 * normal/menu.c (DISP_UR): Renamed to ...
27747 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
27748 * normal/menu.c (DISP_LL): Renamed to ...
27749 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
27750 * normal/menu.c (DISP_LR): Renamed to ...
27751 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
27752 * normal/menu.c (TERM_WIDTH): Renamed to ...
27753 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
27754 * normal/menu.c (TERM_HEIGHT): Renamed to ...
27755 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
27756 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
27757 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
27758 * normal/menu.c (TERM_MARGIN): Renamed to ...
27759 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
27760 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
27761 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
27762 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
27763 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
27764 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
27765 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
27766 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
27767 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
27768 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
27769 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
27770 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
27771 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
27772 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
27773 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
27774 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
27775 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
27776 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
27777 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
27778 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
27779 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
27780 All callers changed.
27781
27782 * include/grub/normal.h: New prototype.
27783
27784 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27785 normal/menu_entry.c.
27786 (normal_mod_SOURCES): Likewise.
27787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27788 (normal_mod_SOURCES): Likewise.
27789
27790 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
27791
27792 * include/grub/normal.h (grub_halt_init): New prototype.
27793 (grub_halt_fini): Likewise.
27794 (grub_reboot_init): Likewise.
27795 (grub_reboot_fini): Likewise.
27796
27797 * util/grub-emu.c: Include signal.h.
27798 (main_env): New global variable.
27799 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
27800 catch C-c.
27801 (grub_machine_fini): New function.
27802 (main): Call grub_halt_init and grub_reboot_init before
27803 grub_main, and grub_reboot_fini and grub_halt_fini after it.
27804 Call setjmp with MAIN_ENV to go back afterwards.
27805 Call grub_machine_fini right before return.
27806
27807 * include/grub/util/misc.h: Include setjmp.h.
27808 (main_env): New prototype.
27809
27810 * include/grub/kernel.h (grub_machine_fini): New prototype.
27811 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
27812 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
27813
27814 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
27815 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
27816 * term/i386/pc/console.c (grub_console_fini): Likewise.
27817
27818 * util/i386/pc/misc.c: New file.
27819
27820 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27821 util/i386/pc/misc.c, commands/i386/pc/halt.c and
27822 commands/i386/pc/reboot.c.
27823
27824 2005-02-14 Guillem Jover <guillem@hadrons.org>
27825
27826 * include/grub/dl.h (grub_dl_check_header): New prototype.
27827 (grub_arch_dl_check_header): Change return type to grub_err_t,
27828 remove size parameter and export function. Update all callers.
27829 * kern/dl.c (grub_dl_check_header): New function.
27830 (grub_dl_load_core): Use `grub_dl_check_header' instead of
27831 `grub_arch_dl_check_header'. Check ELF type. Check if sections
27832 are inside the core.
27833 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
27834 independent ELF header checks.
27835 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
27836 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
27837 `grub_dl_check_header' instead of explicit checks. Check for the
27838 ELF type.
27839 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
27840 `grub_dl_check_header' instead of explicit checks. Remove arch
27841 specific ELF header checks.
27842
27843 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
27844 argument SIZE.
27845
27846 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
27847
27848 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
27849 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
27850
27851 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
27852
27853 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
27854 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
27855 (part_map_iterate): Clear `grub_errno' and return 0 if
27856 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
27857 * partmap/amiga.c (amiga_partition_map_iterate): Return
27858 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
27859 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27860
27861 2005-02-01 Guillem Jover <guillem@hadrons.org>
27862
27863 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
27864 help info.
27865
27866 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27867
27868 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
27869 Removed prototype.
27870 (grub_rescue_cmd_linux): New prototype.
27871 (grub_rescue_cmd_initrd): Likewise.
27872 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
27873 `bi_rec'.
27874 (grub_linux_release_mem): Release the memory for the initrd.
27875 (grub_load_linux): Renamed from this...
27876 (grub_rescue_cmd_linux): ...To this. Changed all callers.
27877 Changed `entry' not to be static. Loop over memory regions to
27878 find another one when the default fails.
27879 (grub_rescue_cmd_initrd): New function.
27880 (grub_linux_init): Remove function.
27881 (grub_linux_fini): Likewise.
27882 (GRUB_MOD_INIT): Register `initrd'.
27883 (GRUB_MOD_FINI): Unregister `initrd'.
27884 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
27885 Function removed.
27886 (grub_linux_normal_fini): Likewise.
27887 (GRUB_MOD_INIT): Register `initrd'.
27888 (GRUB_MOD_FINI): Unregister `initrd'.
27889
27890 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27891
27892 * commands/help.c: New file.
27893 * normal/arg.c (show_help): Renamed to...
27894 (grub_arg_show_help): ... this.
27895 * commands/i386/pc/halt.c: New file.
27896 * commands/i386/pc/reboot.c: Likewise.
27897 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
27898 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
27899 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
27900 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
27901 variables.
27902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27903 `commands/help.c'.
27904 (pkgdata_MODULES): Add `help.mod'.
27905 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
27906 * grub/i386/pc/init.h (grub_reboot): New prototype.
27907 (grub_halt): Likewise.
27908 * include/grub/normal.h (grub_arg_show_help): New prototype.
27909 (grub_help_init): Likewise.
27910 (grub_help_fini): Likewise.
27911 * util/grub-emu.c (main): Initialize and deinitialize the help
27912 command.
27913
27914 * normal/cmdline.c (grub_cmdline_get): Doc fix.
27915
27916 * normal/command.c (grub_command_init): Fixed the description of
27917 the `set' and `unset' commands.
27918
27919 2005-01-31 Marco Gerards <metgerards@student.han.nl>
27920
27921 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
27922 function.
27923 * commands/ieee1275/halt.c: New file.
27924 * commands/ieee1275/reboot.c: Likewise.
27925 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
27926 `__attribute__ ((unused))'. Some GCS related fixed.
27927 (grub_suspend_init) [GRUB_UTIL]: Function removed.
27928 (grub_suspend_fini): Likewise.
27929 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
27930 and `halt.mod'.
27931 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
27932 (halt_mod_CFLAGS): New variables.
27933 * include/grub/powerpc/ieee1275/ieee1275.h
27934 (grub_ieee1275_interpret): New prototype.
27935
27936 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
27937
27938 * include/grub/misc.h (memmove): New prototype.
27939 (memcpy): Likewise.
27940
27941 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
27942
27943 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
27944 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
27945
27946 2005-01-22 Marco Gerards <metgerards@student.han.nl>
27947
27948 * kern/misc.c (grub_strndup): Function rewritten.
27949
27950 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
27951
27952 * normal/menu.c (TERM_WIDTH): Macro redefined.
27953 (TERM_TOP_BORDER_Y): Likewise.
27954 (draw_border): Replaced while-loop by a for-loop. Make the number
27955 of lines consistent with the number of lines displayed in
27956 print_entries. Added a margin below the rectangle.
27957 (print_entry): Make the entry fit in the rectangle.
27958 (print_entries): Display the scroll arrows next to the right
27959 border.
27960
27961 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27962
27963 * fs/minix.c (grub_minix_find_file): Reserve more space for
27964 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
27965 `grub_strncpy' to copy `path' into it.
27966
27967 2005-01-21 Marco Gerards <metgerards@student.han.nl>
27968
27969 Add the loopback device, a device via which files can be accessed
27970 as devices.
27971
27972 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
27973 (pkgdata_MODULES): Add loopback.mod.
27974 (loopback_mod_SOURCES): New variable.
27975 (loopback_mod_CFLAGS): Likewise.
27976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27977 `disk/loopback.c'.
27978 (pkgdata_MODULES): Add loopback.mod.
27979 (loopback_mod_SOURCES): New variable.
27980 (loopback_mod_CFLAGS): Likewise.
27981 * disk/loopback.c: new file.
27982 * include/grub/normal.h (grub_loop_init): New prototype.
27983 (grub_loop_fini): New prototype.
27984 * util/grub-emu.c (main): Initialize and de-initialize loopback
27985 support.
27986 * include/grub/disk.h (grub_disk_dev_id): Add
27987 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
27988
27989 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
27990
27991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
27992 function.
27993 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
27994 (suspend_mod_SOURCES): New variable.
27995 (suspend_mod_CFLAGS): Likewise.
27996 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
27997 New prototype.
27998 * commands/ieee1275/suspend.c: New file.
27999
28000 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28001
28002 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
28003 ((unused))' to `__attribute__ ((used))'.
28004 (GRUB_MOD_FINI): Likewise.
28005 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
28006 * genmk.rb (PModule): Assign space to common symbols when linking
28007 modules.
28008
28009 2005-01-20 Marco Gerards <metgerards@student.han.nl>
28010
28011 * include/grub/mm.h (grub_mm_init_region): Change the type of the
28012 `unsigned' arguments to `grub_size_t'.
28013 (grub_malloc): Likewise.
28014 (grub_realloc): Likewise.
28015 (grub_memalign): Likewise.
28016 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
28017 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
28018 * util/misc.c (grub_malloc): Likewise.
28019 (grub_realloc): Likewise.
28020 * kern/mm.c (get_header_from_pointer): Change the casts to
28021 `unsigned' into a cast to `grub_size_t'.
28022
28023 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
28024 point to `currnode' when `currnode' is changed.
28025
28026 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
28027 Schottelius <nico-linux@schottelius.org>.
28028
28029 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
28030
28031 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
28032 (note_path): Remove variable.
28033 (GRUB_IEEE1275_NOTE_NAME): New macro.
28034 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
28035 (grub_ieee1275_note_hdr): New structure.
28036 (grub_ieee1275_note_desc): Likewise.
28037 (grub_ieee1275_note): Likewise.
28038 (load_note): Remove `dir' argument. All callers updated. Remove
28039 `note_img' and `path'. Do not load a file from `note_path'.
28040 Initialize a struct grub_ieee1275_note and write that to `out'.
28041 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
28042
28043 2005-01-05 Marco Gerards <metgerards@student.han.nl>
28044
28045 * util/misc.c (grub_util_read_image): Revert last change. It
28046 called `grub_util_read_at', which seeks from the beginning of the
28047 file.
28048
28049 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
28050
28051 * TODO: Add note about endianness in grub-mkimage.
28052 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
28053 section.
28054 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
28055 (grub_mkimage_SOURCES): New target.
28056 * include/grub/kernel.h (grub_start_addr): Remove variable.
28057 (grub_end_addr): Likewise.
28058 (grub_total_module_size): Likewise.
28059 (grub_kernel_image_size): Likewise.
28060 (GRUB_MODULE_MAGIC): New constant.
28061 (grub_module_info): New structure.
28062 (grub_arch_modules_addr): New prototype.
28063 (grub_get_end_addr): Remove prototype.
28064 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
28065 * include/grub/powerpc/ieee1275/kernel.h: New file.
28066 * include/grub/util/misc.h (grub_util_get_fp_size): New
28067 prototype.
28068 (grub_util_read_at): Likewise.
28069 (grub_util_write_image_at): Likewise.
28070 * kern/main.c (grub_get_end_addr): Remove function.
28071 (grub_load_modules): Call grub_arch_modules_addr instead of using
28072 grub_end_addr. Look for a grub_module_info struct in memory. Use
28073 the grub_module_info fields instead of calling grub_get_end_addr
28074 as loop conditions. Move grub_add_unused_region code here.
28075 (grub_add_unused_region): Remove function.
28076 * kern/i386/pc/init.c: Include grub/cache.h.
28077 (grub_machine_init): Remove call to grub_get_end_addr. Remove
28078 one call to add_mem_region.
28079 (grub_arch_modules_addr): New function.
28080 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
28081 (grub_total_module_size): Likewise.
28082 Include grub/machine/kernel.h.
28083 (grub_arch_modules_addr): New function.
28084 * util/grub-emu.c (grub_end_addr): Remove variable.
28085 (grub_total_module_size): Likewise.
28086 (grub_arch_modules_addr): New function.
28087 * util/misc.c: Include unistd.h.
28088 (grub_util_get_fp_size): New function.
28089 (grub_util_read_at): Likewise.
28090 (grub_util_write_image_at): Likewise.
28091 (grub_util_read_image): Call grub_util_read_at.
28092 (grub_util_write_image): Call grub_util_write_image_at.
28093 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
28094 additional memory in kernel_img for a struct grub_module_info.
28095 Fill in that grub_module_info.
28096 * util/powerpc/ieee1275/grub-mkimage.c: New file.
28097
28098 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
28099
28100 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
28101 New function.
28102 * include/grub/powerpc/ieee1275/ieee1275.h
28103 (grub_ieee1275_milliseconds): New prototype.
28104 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
28105 Change to 1000.
28106 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
28107 grub_ieee1275_milliseconds.
28108
28109 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
28110
28111 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
28112 variable.
28113 (find_options): New function.
28114 (cmain): Call find_options.
28115 * include/grub/powerpc/ieee1275/ieee1275.h
28116 (grub_ieee1275_realmode): New extern variable.
28117 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
28118 grub_map if grub_ieee1275_realmode is false.
28119
28120 2004-12-29 Marco Gerards <metgerards@student.han.nl>
28121
28122 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
28123 lines are inserted and make it work like readline. Reported by
28124 Vincent Pelletier <subdino2004@yahoo.fr>.
28125
28126 2004-12-28 Marco Gerards <metgerards@student.han.nl>
28127
28128 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
28129
28130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
28131 `kern/powerpc/cache.S'.
28132
28133 2004-12-27 Marco Gerards <metgerards@student.han.nl>
28134
28135 * genmk.rb: Handle the `Program' class in the main loop. Written
28136 by Johan Rydberg <jrydberg@gnu.org>.
28137 (Program): New class.
28138 (programs): New variable.
28139 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
28140 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
28141 instead of "grub/kernel.h". Include <grub/machine/init.h>.
28142 (help_arch): Function removed.
28143 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
28144 `powerpc/libgcc.h' and `loader.h'.
28145 (pkgdata_PROGRAMS): New variable.
28146 (sbin_UTILITIES): Variable removed.
28147 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
28148 (grubof_SOURCES): Variable re-defined so it only includes the
28149 core functionality.
28150 (grubof_CFLAGS): Remove `-DGRUBOF'.
28151 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
28152 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
28153 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
28154 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
28155 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
28156 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
28157 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
28158 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
28159 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
28160 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
28161 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28162 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
28163 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
28164 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
28165 (pc_mod_CFLAGS): New variables.
28166 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
28167 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
28168 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
28169 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
28170 Moved from here...
28171 * include/grub/i386/pc/init.h (grub_os_area_addr)
28172 (rub_os_area_size): ... to here.
28173 * include/grub/powerpc/ieee1275/ieee1275.h
28174 (grub_ieee1275_entry_fn): Export symbol.
28175 * include/grub/powerpc/ieee1275/init.h: New file.
28176 * include/grub/powerpc/libgcc.h: Likewise.
28177 * include/grub/cache.h: Likewise.
28178 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
28179 <hollis@penguinppc.org>.
28180 * kern/dl.c: Include <grub/cache.h>.
28181 (grub_dl_flush_cache): New function.
28182 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
28183 for this module.
28184 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
28185 (grub_console_init): Removed prototypes.
28186 (grub_machine_init): Don't initialize the modules anymore.
28187 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
28188 static.
28189 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
28190 Macro undef removed.
28191 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
28192 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
28193 relocation `R_PPC_REL32'. Return an error when the relocation is
28194 unknown.
28195 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
28196 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
28197 * util/misc.c (grub_arch_sync_caches): Likewise.
28198
28199 2004-12-19 Marco Gerards <metgerards@student.han.nl>
28200
28201 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
28202 `symlist.c', add `grubof_symlist.c'.
28203 (symlist.c): Variable removed.
28204 (grubof_HEADERS): Variable added.
28205 (grubof_symlist.c): New target.
28206 (kernel_syms.lst): Use `grubof_HEADERS' instead of
28207 `kernel_img_HEADERS'.
28208 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
28209 * kern/powerpc/dl.c: New file.
28210 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
28211 Function removed.
28212 (grub_arch_dl_relocate_symbols): Likewise.
28213 (grub_register_exported_symbols): Likewise.
28214
28215 2004-12-13 Marco Gerards <metgerards@student.han.nl>
28216
28217 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
28218 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
28219 to fail instead. Reported by Vincent Pelletier
28220 <subdino2004@yahoo.fr>.
28221
28222 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
28223 it is not allocated. Reported by Vincent Pelletier
28224 <subdino2004@yahoo.fr>.
28225
28226 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
28227 output so the output looks better.
28228
28229 2004-12-04 Marco Gerards <metgerards@student.han.nl>
28230
28231 Modulize the partition map support and add support for the amiga
28232 partition map.
28233
28234 * commands/ls.c: Include <grub/partition.h> instead of
28235 <grub/machine/partition.h>.
28236 * kern/disk.c: Likewise.
28237 * kern/rescue.c: Likewise.
28238 * loader/i386/pc/chainloader.c: Likewise.
28239 * normal/cmdline.c: Likewise.
28240 * kern/powerpc/ieee1275/init.c: Likewise.
28241 (grub_machine_init): Call `grub_pc_partition_map_init',
28242 `grub_amiga_partition_map_init' and
28243 `grub_apple_partition_map_init'.
28244 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
28245 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
28246 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
28247 `partition.h' and `pc_partition.h'.
28248 (grub_setup_SOURCES): Remove
28249 `disk/i386/pc/partition.c'. Add `kern/partition.c',
28250 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
28251 (grub_emu_SOURCES): Likewise.
28252 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
28253 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
28254 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
28255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28256 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
28257 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
28258 (grubof_SOURCES): Likewise.
28259 * disk/i386/pc/partition.c: File removed.
28260 * disk/powerpc/ieee1275/partition.c: Likewise.
28261 * include/grub/powerpc/ieee1275/partition.h: Likewise.
28262 * include/grub/i386/pc/partition.h: Likewise.
28263 * kern/partition.c: New file.
28264 * partmap/amiga.c: Likewise.
28265 * partmap/apple.c: Likewise.
28266 * partmap/pc.c: Likewise.
28267 * include/grub/partition.h: Likewise..
28268 * include/grub/pc_partition.h: Likewise.
28269 * util/grub-emu.c: Include <grub/partition.h> instead of
28270 <grub/machine/partition.h>.
28271 (main): Call `grub_pc_partition_map_init',
28272 `grub_amiga_partition_map_init' and
28273 `grub_apple_partition_map_init' and deinitialize afterwards.
28274 * util/i386/pc/biosdisk.c: Include `#include
28275 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
28276 `<grub/machine/partition.h>'.
28277 * util/i386/pc/grub-setup.c: Likewise.
28278 * util/i386/pc/biosdisk.c: Likewise.
28279 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
28280 partition information in case of a PC partition.
28281 * util/i386/pc/grub-setup.c: Include `#include
28282 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
28283 `<grub/machine/partition.h>'.
28284 (setup): Only access the PC specific partition information in case
28285 of a PC partition.
28286
28287 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
28288
28289 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
28290 (grub_longjmp): Likewise.
28291 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
28292 20.
28293 * normal/powerpc/setjmp.S: New file.
28294 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28295 `normal/powerpc/setjmp.S'.
28296 (grubof_CFLAGS): Add `-DGRUBOF'.
28297 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
28298 [GRUB_UTIL && !GRUBOF].
28299
28300 2004-11-16 Marco Gerards <metgerards@student.han.nl>
28301
28302 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
28303 property named `name'. Correctly handle the error returned by
28304 `grub_ieee1275_finddevice' if a device can not be opened.
28305
28306 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
28307
28308 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
28309 `actual' for negativity.
28310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28311 kern/fshelp.c.
28312
28313 2004-11-01 Marco Gerards <metgerards@student.han.nl>
28314
28315 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
28316 (PAGE_OFFSET): New macro.
28317 (CRTC_ADDR_PORT): Likewise.
28318 (CRTC_DATA_PORT): Likewise.
28319 (START_ADDR_HIGH_REGISTER): Likewise.
28320 (START_ADDR_LOW_REGISTER): Likewise.
28321 (GRAPHICS_ADDR_PORT): Likewise.
28322 (GRAPHICS_DATA_PORT): Likewise.
28323 (READ_MAP_REGISTER): Likewise.
28324 (INPUT_STATUS1_REGISTER): Likewise.
28325 (INPUT_STATUS1_VERTR_BIT): Likewise.
28326 (page): New variable.
28327 (wait_vretrace): New function.
28328 (set_read_map): Likewise.
28329 (set_start_address): Likewise.
28330 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
28331 the right page.
28332 (check_vga_mem): Take the page into account.
28333 (write_char): Likewise.
28334 (write_cursor): Likewise.
28335 (scroll_up): Likewise. Copy the page to the page that is not
28336 shown and switch between both pages.
28337 (grub_vga_putchar): Fix off by one error.
28338 (grub_vga_cls): Wait for the vertical retrace. Take the page into
28339 account.
28340
28341 2004-11-01 Marco Gerards <metgerards@student.han.nl>
28342
28343 Add support for iso9660 (including rockridge).
28344
28345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28346 (iso9660_mod_SOURCES): New variable.
28347 (iso9660_mod_CFLAGS): Likewise.
28348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28349 * include/grub/fs.h (grub_iso9660_init): New prototype.
28350 * util/grub-emu.c (main): Call `grub_iso9660_init'.
28351 * fs/iso9660.c: New file.
28352
28353 * include/grub/misc.h (grub_strncat): New prototype.
28354 * kern/misc.c (grub_strncat): New function.
28355
28356 * fs/hfs.c (grub_hfs_mount): Translate the error
28357 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
28358 * fs/jfs.c (grub_jfs_mount): Likewise.
28359 * fs/ufs.c (grub_ufs_mount): Likewise.
28360
28361 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
28362
28363 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
28364 which initialized BAT registers.
28365 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
28366 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28367 Move from here...
28368 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
28369 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28370 ... to here.
28371 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
28372 (grub_mapclaim): Likewise.
28373 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
28374 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
28375 hand.
28376
28377 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
28378
28379 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
28380 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
28381 -ffreestanding and -msoft-float.
28382
28383 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
28384
28385 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
28386 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
28387 set in grub_ieee1275_flags.
28388
28389 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
28390
28391 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
28392 prototype.
28393 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
28394 grub_console_init first.
28395 Change the memory range used for grub_ieee1275_claim and
28396 grub_mm_init_region.
28397 Print an error message if the claim fails.
28398 Include <grub/misc.h>.
28399
28400 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
28401
28402 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
28403 Call grub_children_iterate for device nodes of type `scsi',
28404 `ide', or `ata'.
28405 (grub_ofdisk_open): Remove manual device alias resolution.
28406 Fix memory leak when device cannot be opened.
28407 * include/grub/powerpc/ieee1275/ieee1275.h
28408 (grub_children_iterate): New prototype.
28409 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
28410 New function.
28411 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28412 Return -1 if args.size was -1.
28413
28414 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28415
28416 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
28417 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
28418 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
28419 Open Firmware's memory for it; claim memory from _start to _end.
28420 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
28421 (_end): New extern.
28422 (_start): Zero BSS from __bss_start to _end.
28423 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28424 New extern.
28425 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28426
28427 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28428
28429 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28430 -1 if args.base was -1.
28431
28432 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28433
28434 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28435 escape sequence instead of a literal ^L. Also call
28436 grub_ofconsole_gotoxy.
28437
28438 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28439
28440 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28441 void * arguments to grub_addr_t. All callers updated. Also make
28442 the `result' argument optional.
28443 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28444 All callers updated.
28445
28446 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28447
28448 * commands/ls.c (grub_ls_list_files): Use the string following the
28449 initial ')', if present, as the filesystem path.
28450 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28451
28452 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28453
28454 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28455
28456 Make the source code of the menu interface more readable.
28457
28458 * normal/menu.c: Include grub/mm.h.
28459 (TERM_WIDTH): New macro.
28460 (TERM_HEIGHT): Likewise.
28461 (TERM_INFO_HEIGHT): Likewise.
28462 (TERM_MARGIN): Likewise.
28463 (TERM_SCROLL_WIDTH): Likewise.
28464 (TERM_TOP_BORDER_Y): Likewise.
28465 (TERM_LEFT_BORDER_X): Likewise.
28466 (TERM_BORDER_WIDTH): Likewise.
28467 (TERM_MESSAGE_HEIGHT): Likewise.
28468 (TERM_BORDER_HEIGHT): Likewise.
28469 (TERM_NUM_ENTRIES): Likewise.
28470 (TERM_FIRST_ENTRY_Y): Likewise.
28471 (TERM_ENTRY_WIDTH): Likewise.
28472 (TERM_CURSOR_X): Likewise.
28473 (draw_border): Use macros instead of magic numbers.
28474 (print_entry): Likewise.
28475 (print_entries): Likewise.
28476 (run_menu): Likewise. Also, handle the key 'e'.
28477 (run_menu_entry): Ignore empty command lines.
28478 (print_message): Added a new argument EDIT. If EDIT is true,
28479 print a different message.
28480 (init_page): Likewise.
28481 (edit_menu_entry): New function. Not implemented yet.
28482
28483 2004-09-17 Marco Gerards <metgerards@student.han.nl>
28484
28485 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28486 can be loaded from normal mode.
28487
28488 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28489 `multiboot.mod'.
28490 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28491 (multiboot_mod_CFLAGS): New variables.
28492 * loader/i386/pc/linux_normal.c: New file.
28493 * loader/i386/pc/multiboot_normal.c: Likewise.
28494
28495 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28496 attribute `unused'.
28497
28498 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28499 `fdiro' to read the mode information from instead of `diro'.
28500
28501 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28502 looking up a symlink.
28503
28504 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28505 macro.
28506 * normal/command.c (grub_command_execute): Don't parse the
28507 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28508 flags of the command.
28509
28510 * normal/menu.c (grub_menu_run): Fix typo.
28511
28512 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28513
28514 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28515
28516 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28517 `y + 1' instead of `y - 1'.
28518
28519 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
28520
28521 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
28522
28523 From Hollis Blanchard <hollis@penguinppc.org>:
28524 * kern/misc.c (memmove): New alias for grub_memmove.
28525 (memcmp): New alias for grub_memcmp.
28526 (memset): New alias for grub_memset.
28527 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28528 Change "int handle" to "grub_ieee1275_phandle_t handle".
28529 * include/grub/powerpc/ieee1275/ieee1275.h
28530 (grub_ieee1275_get_property): Likewise.
28531
28532 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
28533
28534 Added normal mode command `chainloader' as module chain.mod, which
28535 depends on normal.mod and _chain.mod.
28536
28537 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
28538 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
28539 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
28540 Deleted prototype.
28541 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
28542 but arguments parsing moved to ...
28543 (grub_chainloader_cmd): ... here. New function.
28544 * include/grub/i386/pc/chainloader.h: New file.
28545 * loader/i386/pc/chainloader_normal.c: Likewise.
28546
28547 2004-09-11 Marco Gerards <metgerards@student.han.nl>
28548
28549 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
28550 (grub_mkimage_LDFLAGS): Likewise.
28551 (grub_emu_SOURCES): Likewise.
28552 (kernel_img_HEADERS): Added fshelp.h.
28553 * fs/ext2.c: Include <grub/fshelp.h>.
28554 (FILETYPE_REG): New macro.
28555 (FILETYPE_INO_REG): Likewise.
28556 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
28557 Changed all users.
28558 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
28559 all users.
28560 (grub_fshelp_node): New struct.
28561 (grub_ext2_data): Added member `diropen'. Changed member `inode'
28562 to a pointer.
28563 (grub_ext2_get_file_block): Removed function.
28564 (grub_ext2_read_block): New function.
28565 (grub_ext2_read_file): Replaced parameter `data' by `node'.
28566 This function was written.
28567 (grub_ext2_mount): Read the root inode. Create a diropen struct.
28568 (grub_ext2_find_file): Removed function.
28569 (grub_ext2_read_symlink): New function.
28570 (grub_ext2_iterate_dir): Likewise.
28571 (grub_ext2_open): Rewritten.
28572 (grub_ext2_dir): Rewritten.
28573 * include/grub/fshelp.h: New file.
28574 * fs/fshelp.c: Likewise.
28575
28576 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
28577
28578 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
28579 (print_message): Add a missing newline.
28580 (run_menu): Added timeout support.
28581 (run_menu_entry): New local function.
28582 (grub_menu_run): Added support for booting.
28583
28584 * kern/loader.c (grub_loader_is_loaded): New function.
28585
28586 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
28587 (grub_get_rtc): Exported.
28588
28589 * include/grub/i386/pc/time.h: Include grub/symbol.h.
28590 (grub_get_rtc): Exported.
28591
28592 * include/grub/normal.h (struct grub_command_list): Remove
28593 constant from the member `command'.
28594
28595 * include/grub/loader.h (grub_loader_is_loaded): Declared.
28596
28597 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
28598
28599 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
28600
28601 2004-08-28 Marco Gerards <metgerards@student.han.nl>
28602
28603 Add support for the JFS filesystem.
28604
28605 * fs/jfs.c: New file.
28606 * include/grub/fs.h (grub_jfs_init): New prototype.
28607 (grub_jfs_fini): New prototype.
28608 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
28609 (grub_emu_SOURCES): Likewise.
28610 (pkgdata_MODULES): Add jfs.mod.
28611 (jfs_mod_SOURCES): New variable.
28612 (jfs_mod_CFLAGS): Likewise.
28613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
28614 (grubof_SOURCES): Likewise.
28615 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
28616
28617 * fs/fat.c (grub_fat_find_dir): Convert the filename little
28618 endian to the host endian.
28619 (grub_fat_utf16_to_utf8): Move function from there...
28620 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
28621 the endianness of the source string anymore.
28622 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
28623
28624 2004-08-24 Marco Gerards <metgerards@student.han.nl>
28625
28626 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
28627 (grub_boot_fini) [GRUB_UTIL]: Likewise.
28628 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
28629 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
28630
28631 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
28632 (grub_hfs_iterate_dir): Make the function static. Add prototypes
28633 for `node_found' and `it_dir'.
28634 (grub_hfs_dir): Add prototype for `dir_hook'.
28635
28636 * fs/minix.c (grub_minix_get_file_block): Add prototype for
28637 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
28638 and `indir32' to silence a gcc warning.
28639
28640 * include/grub/fs.h (grub_hfs_init): New prototype.
28641 (grub_hfs_fini): Likewise.
28642
28643
28644 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
28645
28646 Each disk device has its own id now. This is useful to make use
28647 of multiple disk devices.
28648
28649 * include/grub/disk.h (grub_disk_dev_id): New enum.
28650 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
28651 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
28652
28653 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
28654 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28655
28656 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
28657 GRUB_DISK_DEVICE_OFDISK_ID as an id.
28658
28659 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
28660 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
28661
28662 * include/grub/disk.h (struct grub_disk_dev): Added a new member
28663 "id" which is used by the cache manager.
28664
28665 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
28666 of just "GRUB".
28667
28668 2004-08-18 Marco Gerards <metgerards@student.han.nl>
28669
28670 * fs/hfs.c: New file.
28671 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
28672 (grub_emu_SOURCES): Likewise.
28673 (pkgdata_MODULES): Add hfs.mod.
28674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
28675 (grubof_SOURCES): Likewise.
28676 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
28677
28678 * include/grub/misc.h (grub_strncasecmp): Add prototype.
28679 * kern/misc.c (grub_strncasecmp): Add function.
28680
28681 2004-08-14 Marco Gerards <metgerards@student.han.nl>
28682
28683 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
28684 with parentheses.
28685
28686 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
28687 (grub_ext2_dir): In case the directory entry type is unknown, read
28688 it from the inode.
28689
28690 2004-08-02 Peter Bruin <pjbruin@dds.nl>
28691
28692 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
28693 grub_load_linux instead of grub_rescue_cmd_linux as second
28694 argument of grub_rescue_register_command.
28695
28696 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
28697
28698 2004-07-27 Marco Gerards <metgerards@student.han.nl>
28699
28700 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
28701 function.
28702 * commands/boot.c: Remove the check for `GRUB_UTIL'.
28703 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28704 `loader/powerpc/ieee1275/linux.c',
28705 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
28706 * include/grub/powerpc/ieee1275/ieee1275.h
28707 (grub_ieee1275_release): New prototype.
28708 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
28709 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
28710 normal, boot, linux and linux_normal.
28711 * loader/powerpc/ieee1275/linux.c: New file.
28712 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28713
28714 2004-07-12 Marco Gerards <metgerards@student.han.nl>
28715
28716 * normal/arg.c (grub_arg_parse): Correct error handling after
28717 reallocating the argumentlist (check if `argl' is not null instead
28718 of checking if `args' is not null).
28719 * kern/mm.c (grub_realloc): Return the same pointer when using the
28720 same region, instead of returning the header address.
28721
28722 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28723
28724 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
28725 one block instead of two when looking for the initial partition.
28726 (grub_partition_probe): Initialize the local variable `p' with 0.
28727 Use base 10 for the grub_strtoul call.
28728 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
28729 need for one local variable.
28730 (grub_strtoul): Don't add the new value to `num', instead of that
28731 just assign it.
28732
28733 2004-07-11 Marco Gerards <metgerards@student.han.nl>
28734
28735 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
28736 (pxeboot_img_SOURCES): New variable.
28737 (pxeboot_img_ASFLAGS): Likewise.
28738 (pxeboot_img_LDFLAGS): Likewise.
28739 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
28740 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
28741 <lode_leroy@hotmail.com>.
28742
28743 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28744
28745 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
28746 there was no input.
28747
28748 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28749
28750 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
28751 the history buffer logic.
28752
28753 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
28754
28755 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
28756 (FILETYPE_INO_SYMLINK): New macros.
28757 (grub_ext2_find_file): Check if the node is a directory using the
28758 inode stat information instead of using the filetype in the
28759 dirent. Exclude the first character of an absolute symlink.
28760 (grub_ext2_dir): Mask out the filetype part of the mode member of
28761 the inode.
28762
28763 2004-05-24 Marco Gerards <metgerards@student.han.nl>
28764
28765 Add support for UFS version 1 and 2. Add support for the minix
28766 filesystem version 1 and 2, both the variants with 14 and 30 long
28767 filenames.
28768
28769 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
28770 fs/minix.c.
28771 (grub_emu_SOURCES): Likewise.
28772 (pkgdata_MODULES): Add ufs.mod and minix.mod.
28773 (ufs_mod_SOURCES): New variable.
28774 (ufs_mod_CFLAGS): Likewise.
28775 (minix_mod_SOURCES): Likewise.
28776 (minix_mod_CFLAGS): Likewise.
28777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
28778 fs/minix.c.
28779 (grubof_SOURCES): Likewise.
28780 * fs/ufs.c: New file.
28781 * fs/minix.c: New file.
28782 * include/grub/fs.h (grub_ufs_init): New prototype.
28783 (grub_ufs_fini): Likewise.
28784 (grub_minix_init): Likewise.
28785 (grub_minix_fini): Likewise.
28786 * util/grub-emu.c (main): Initialize and deinitialize UFS and
28787 minix fs.
28788
28789 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
28790
28791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
28792 commands/ls.c, commands/terminal.c, commands/boot.c,
28793 commands/cmp.c and commands/cat.c.
28794 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
28795
28796 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
28797 "env.h"
28798
28799 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28800
28801 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
28802 and grub_, respectively. Because the conversion is trivial and
28803 mechanical, I omit the details here. Please refer to the CVS
28804 if you need more information.
28805
28806 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28807
28808 * include/pupa: Renamed to ...
28809 * include/grub: ... this.
28810 * util/i386/pc/pupa-mkimage.c: Renamed to ...
28811 * util/i386/pc/grub-mkimage.c: ... this.
28812 * util/i386/pc/pupa-setup.c: Renamed to ...
28813 * util/i386/pc/grub-setup.c: ... this.
28814 * util/pupa-emu.c: Renamed to ...
28815 * util/grub-emu.c: ... this.
28816
28817 2004-03-29 Marco Gerards <metgerards@student.han.nl>
28818
28819 Add support for the newworld apple macintosh (PPC). This has been
28820 tested on the powerbook 2000 only. It only adds support for
28821 generic ieee1275 functions, console and disk support. This should
28822 be easy to port to other architectures with support for Open
28823 Firmware.
28824
28825 * configure.ac: Accept the powerpc as host_cpu. In the case of
28826 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
28827 specific tests are only executed while building for the i386.
28828 Inverse test for crosscompile.
28829 * genmk.rb (Utility): Allow assembler files.
28830 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
28831 * conf/powerpc-ieee1275.rmk: New file.
28832 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
28833 * disk/powerpc/ieee1275/partition.c: Likewise.
28834 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
28835 * include/pupa/powerpc/ieee1275/console.h: Likewise.
28836 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
28837 * include/pupa/powerpc/ieee1275/time.h: Likewise.
28838 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
28839 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
28840 * include/pupa/powerpc/ieee1275/loader.h
28841 * include/pupa/powerpc/setjmp.h: Likewise.
28842 * include/pupa/powerpc/types.h: Likewise.
28843 * kern/powerpc/ieee1275/init.c: Likewise.
28844 * kern/powerpc/ieee1275/openfw.c: Likewise.
28845 * term/powerpc/ieee1275/ofconsole.c: Likewise.
28846
28847 These files were written by Johan Rydberg
28848 (jrydberg@night.trouble.net) and I only modified them slightly.
28849
28850 * boot/powerpc/ieee1275/cmain.c: New file.
28851 * boot/powerpc/ieee1275/crt0.S: Likewise.
28852 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
28853 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
28854
28855 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
28856
28857 * Makefile.in: Update copyright.
28858 * genmodsrc.sh: Likewise.
28859 * gensymlist.sh: Likewise.
28860 * term/i386/pc/vga.c: Indent correctly.
28861
28862 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
28863 bugreporting address.
28864 * util/i386/pc/pupa-setup.c (usage): Likewise,
28865 (main): Call pupa_ext2_init and pupa_ext2_fini.
28866
28867 * fs/fat.c (log2): Renamed to ...
28868 (fat_log2): ... this.
28869 All callers changed.
28870 * kern/misc.c (memcpy): Alias to pupa_memmove.
28871 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
28872 lvalue cast.
28873 * util/console.c (pupa_ncurses_fini): Return 0.
28874
28875 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
28876 Move fail label here.
28877 [__GNU__]: Don't warn when using stat.
28878 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
28879 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
28880 long int. Use strtol instead of strtoul.
28881
28882 2004-03-14 Marco Gerards <metgerards@student.han.nl>
28883
28884 * commands/boot.c: New file.
28885 * commands/cat.c: Likewise.
28886 * commands/cmp.c: Likewise.
28887 * commands/ls.c: Likewise.
28888 * commands/terminal.c: Likewise.
28889 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
28890 (pupa_register_command): Changed interface to match the new
28891 argument parser.
28892 (pupa_command_execute): Changed (almost rewritten) so it uses
28893 pupa_split_command. Added support for setting variables using the
28894 syntax `foo=bar'.
28895 (rescue_command): Changed to work with the new argument parser.
28896 (terminal_command): Moved from here to commands/terminal.c.
28897 (set_command): New function.
28898 (unset_command): New function.
28899 (insmod_command): New function.
28900 (rmmod_command): New function.
28901 (lsmod_command): New function.
28902 (pupa_command_init): Don't initialize the command terminal
28903 anymore. Initialize the commands set, unset, insmod, rmmod and
28904 lsmod.
28905 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
28906 (kernel_img_HEADERS): Add arg.h and env.h.
28907 (pupa_mkimage_LDFLAGS): Add kern/env.c.
28908 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
28909 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
28910 normal/arg.c.
28911 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
28912 terminal.mod.
28913 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
28914 (boot_mod_SOURCES): New variable.
28915 (terminal_mod_SOURCES): Likewise.
28916 (ls_mod_SOURCES): Likewise.
28917 (cmp_mod_SOURCES): Likewise.
28918 (cat_mod_SOURCES): Likewise.
28919
28920 * normal/arg.c: New file.
28921 * kern/env.c: Likewise.
28922 * include/pupa/arg.h: Likewise.
28923 * include/pupa/env.h: Likewise.
28924 * font/manager.c (font_command): Changed to match argument parsing
28925 interface changes.
28926 (PUPA_MOD_INIT): Likewise.
28927 * hello/hello.c (pupa_cmd_hello): Likewise.
28928 (PUPA_MOD_INIT): Likewise.
28929 * include/pupa/disk.h: Include <pupa/device.h>.
28930 (pupa_print_partinfo): New prototype.
28931 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
28932 (pupa_dl_get_prefix): Likewise.
28933 * include/pupa/misc.h: Include <pupa/err.h>.
28934 (pupa_isgraph): New prototype.
28935 (pupa_isdigit): Likewise.
28936 (pupa_split_cmdline): Likewise.
28937 * include/pupa/normal.h: Include <pupa/arg.h>.
28938 (pupa_command): Changed the prototype of the member `func' to
28939 match the argument parsing interface. Added member `options'.
28940 (pupa_register_command): Updated to match function.
28941 (pupa_arg_parse): New prototype.
28942 (pupa_hello_init) [PUPA_UTIL]: New prototype.
28943 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
28944 (pupa_ls_init) [PUPA_UTIL]: Likewise.
28945 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
28946 (pupa_cat_init) [PUPA_UTIL]: Likewise.
28947 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
28948 (pupa_boot_init) [PUPA_UTIL]: Likewise.
28949 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
28950 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
28951 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
28952 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
28953 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
28954 * kern/disk.c: Include <pupa/file.h>.
28955 (pupa_print_partinfo): New function.
28956 * kern/dl.c: Include <pupa/env.h>.
28957 (pupa_dl_dir): Variable removed.
28958 (pupa_dl_load): Use the environment variable `prefix' instead of
28959 the variable pupa_dl_dir.
28960 (pupa_dl_set_prefix): Function removed.
28961 (pupa_dl_get_prefix): Likewise.
28962 * kern/i386/pc/init.c: Include <pupa/env.h>.
28963 (pupa_machine_init): Use the environment variable `prefix' instead of
28964 using pupa_dl_set_prefix to set the prefix.
28965 * kern/main.c: Include <pupa/env.h>.
28966 (pupa_set_root_dev): Use the environment variable `prefix' instead of
28967 using pupa_dl_get_prefix to get the prefix.
28968 * kern/misc.c: Include <pupa/env.h>.
28969 (pupa_isdigit): New function.
28970 (pupa_isgraph): Likewise.
28971 (pupa_ftoa): Likewise.
28972 (pupa_vsprintf): Added support for printing values of the type
28973 `double'. Make it possible to format variable output when using
28974 formatting like `%1.2%f'.
28975 (pupa_split_cmdline): New function.
28976 * kern/rescue.c: Include <pupa/env.h>.
28977 (next_word): Removed function.
28978 (pupa_rescue_cmd_prefix): Likewise.
28979 (pupa_rescue_cmd_set): New function.
28980 (pupa_rescue_cmd_unset): New function.
28981 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
28982 split the command line instead of splitting it here. Added
28983 support for setting variables using the syntax `foo=bar'. Don't
28984 initialize the prefix command anymore. Initialized the set and
28985 unset commands.
28986 * normal/cmdline.c: Include <pupa/env.h>.
28987 (pupa_tab_complete): Added prototypes for print_simple_completion,
28988 print_partition_completion, add_completion, iterate_commands,
28989 iterate_dev, iterate_part and iterate_dir. Moved code to print
28990 partition information from here to kern/disk.c.
28991 (pupa_cmdline_run): Don't check if the function exists anymore.
28992 * normal/main.c: Include <pupa/env.h>.
28993 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
28994 instead of using pupa_dl_get_prefix to get the prefix.
28995 * term/i386/pc/vga.c: Include <pupa/arg.h>.
28996 (check_vga_mem): Cast pointers to `void *' to silence a gcc
28997 warning.
28998 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
28999 (pupa_vga_setcolor): Declare unused variables with `__attribute__
29000 ((unused))' to silence a gcc warning.
29001 (pupa_vga_setcolor): Likewise.
29002 (debug_command): Changed to match argument parsing
29003 interface changes.
29004 * util/pupa-emu.c: Include <pupa/env.h>.
29005 (options): Added 0's for unused fields to silence a gcc warning.
29006 (argp): Likewise.
29007 (main): Use the environment variable `prefix' instead of using
29008 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
29009 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
29010 and terminal.
29011
29012 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
29013 * util/misc.c: Include <malloc.h>.
29014 (pupa_malloc): Rewritten so errors are correctly reported.
29015 (pupa_realloc): Likewise.
29016 (pupa_memalign): Likewise.
29017 (pupa_mm_init_region): Declare unused variables with
29018 `__attribute__ ((unused))' to silence a gcc warning.
29019 * normal/i386/setjmp.S: Remove tab at the end of the file to
29020 silence a gcc warning.
29021 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
29022 variables with `__attribute__ ((unused))' to silence a gcc
29023 warning.
29024 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
29025 local variable i unsigned to silence a gcc warning.
29026
29027 * kern/term.c: Include <pupa/misc.h>.
29028 (pupa_more_lines): New variable.
29029 (pupa_more): Likewise.
29030 (pupa_putcode): When the pager is active pause at the end of every
29031 screen.
29032 (pupa_set_more): New function.
29033 * include/pupa/term.h (pupa_set_more): New prototype.
29034
29035
29036 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
29037
29038 Now this project is GRUB 2 rather than PUPA. The location of
29039 the CVS repository was moved to GRUB's.
29040
29041 * configure.ac: Use bug-grub as the reporting address.
29042 Use GRUB instead of PUPA.
29043 Change the version number to 1.90.
29044
29045 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
29046
29047 * genkernsyms.sh: Updated copyright information.
29048 * genmk.rb: Likewise.
29049 * genmodsrc.sh: Likewise.
29050 * gensymlist.sh: Likewise.
29051 * boot/i386/pc/boot.S: Likewise.
29052 * boot/i386/pc/diskboot.S: Likewise.
29053 * disk/i386/pc/biosdisk.c: Likewise.
29054 * disk/i386/pc/partition.c: Likewise.
29055 * font/manager.c: Likewise.
29056 * fs/ext2.c: Likewise.
29057 * fs/fat.c: Likewise.
29058 * include/pupa/boot.h: Likewise.
29059 * include/pupa/device.h: Likewise.
29060 * include/pupa/disk.h: Likewise.
29061 * include/pupa/dl.h: Likewise.
29062 * include/pupa/elf.h: Likewise.
29063 * include/pupa/err.h: Likewise.
29064 * include/pupa/file.h: Likewise.
29065 * include/pupa/font.h: Likewise.
29066 * include/pupa/fs.h: Likewise.
29067 * include/pupa/kernel.h: Likewise.
29068 * include/pupa/loader.h: Likewise.
29069 * include/pupa/misc.h: Likewise.
29070 * include/pupa/mm.h: Likewise.
29071 * include/pupa/net.h: Likewise.
29072 * include/pupa/normal.h: Likewise.
29073 * include/pupa/rescue.h: Likewise.
29074 * include/pupa/setjmp.h: Likewise.
29075 * include/pupa/symbol.h: Likewise.
29076 * include/pupa/term.h: Likewise.
29077 * include/pupa/types.h: Likewise.
29078 * include/pupa/i386/setjmp.h: Likewise.
29079 * include/pupa/i386/types.h: Likewise.
29080 * include/pupa/i386/pc/biosdisk.h: Likewise.
29081 * include/pupa/i386/pc/boot.h: Likewise.
29082 * include/pupa/i386/pc/console.h: Likewise.
29083 * include/pupa/i386/pc/init.h: Likewise.
29084 * include/pupa/i386/pc/kernel.h: Likewise.
29085 * include/pupa/i386/pc/linux.h: Likewise.
29086 * include/pupa/i386/pc/loader.h: Likewise.
29087 * include/pupa/i386/pc/memory.h: Likewise.
29088 * include/pupa/i386/pc/multiboot.h: Likewise.
29089 * include/pupa/i386/pc/partition.h: Likewise.
29090 * include/pupa/i386/pc/time.h: Likewise.
29091 * include/pupa/i386/pc/vga.h: Likewise.
29092 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
29093 * include/pupa/util/getroot.h: Likewise.
29094 * include/pupa/util/misc.h: Likewise.
29095 * include/pupa/util/resolve.h: Likewise.
29096 * kern/device.c: Likewise.
29097 * kern/disk.c: Likewise.
29098 * kern/dl.c: Likewise.
29099 * kern/err.c: Likewise.
29100 * kern/file.c: Likewise.
29101 * kern/fs.c: Likewise.
29102 * kern/loader.c: Likewise.
29103 * kern/main.c: Likewise.
29104 * kern/misc.c: Likewise.
29105 * kern/mm.c: Likewise.
29106 * kern/rescue.c: Likewise.
29107 * kern/term.c: Likewise.
29108 * kern/i386/dl.c: Likewise.
29109 * kern/i386/pc/init.c: Likewise.
29110 * kern/i386/pc/lzo1x.S: Likewise.
29111 * kern/i386/pc/startup.S: Likewise.
29112 * loader/i386/pc/chainloader.c: Likewise.
29113 * loader/i386/pc/linux.c: Likewise.
29114 * loader/i386/pc/multiboot.c: Likewise.
29115 * normal/cmdline.c: Likewise.
29116 * normal/command.c: Likewise.
29117 * normal/main.c: Likewise.
29118 * normal/menu.c: Likewise.
29119 * normal/i386/setjmp.S: Likewise.
29120 * term/i386/pc/console.c: Likewise.
29121 * term/i386/pc/vga.c: Likewise.
29122 * util/console.c: Likewise.
29123 * util/genmoddep.c: Likewise.
29124 * util/misc.c: Likewise.
29125 * util/pupa-emu.c: Likewise.
29126 * util/resolve.c: Likewise.
29127 * util/unifont2pff.rb: Likewise.
29128 * util/i386/pc/biosdisk.c: Likewise.
29129 * util/i386/pc/getroot.c: Likewise.
29130 * util/i386/pc/pupa-mkimage.c: Likewise.
29131 * util/i386/pc/pupa-setup.c: Likewise.
29132
29133 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
29134
29135 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
29136 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
29137 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
29138 reading and reset it after reading.
29139 (pupa_ext2_close): Return PUPA_ERR_NONE.
29140
29141 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
29142 Correct value.
29143 (struct linux_kernel_header): Add kernel_version and
29144 initrd_addr_max.
29145 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
29146 pupa_file_read succeeds.
29147 (pupa_rescue_cmd_initrd): Implement.
29148
29149 2003-12-03 Marco Gerards <metgerards@student.han.nl>
29150
29151 * fs/ext2.c (pupa_ext2_label): New function.
29152 (pupa_ext2_fs): Added label.
29153 * fs/fat.c (pupa_fat_label): New function.
29154 (pupa_fat_fs): Added label.
29155 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
29156
29157 * kern/misc.c (pupa_strndup): New function.
29158 * include/pupa/misc.h (pupa_strndup): New prototype.
29159
29160 * include/pupa/normal.h: Include <pupa/err.h>.
29161 (pupa_set_history): New prototype.
29162 (pupa_iterate_commands): New prototype.
29163 * normal/cmdline.c: Include <pupa/machine/partition.h>,
29164 <pupa/disk.h>, <pupa/file.h>.
29165 (hist_size): New variable.
29166 (hist_lines): Likewise.
29167 (hist_end): Likewise.
29168 (hist_used): Likewise.
29169 (pupa_set_history): New function.
29170 (pupa_history_get): Likewise.
29171 (pupa_history_add): Likewise.
29172 (pupa_history_replace): Likewise.
29173 (pupa_tab_complete): Likewise.
29174 (pupa_cmdline_run): Added tab completion and history buffer. Tab
29175 completion shows partitionnames while completing partitions, this
29176 feature was suggested by Jeff Bailey.
29177 * normal/command.c (pupa_iterate_commands): New function.
29178 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
29179 (pupa_normal_init): Initialize history buffer.
29180 (PUPA_MOD_INIT): Likewise.
29181 (pupa_normal_fini): Free the history buffer.
29182 (PUPA_MOD_FINI): Likewise.
29183
29184 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
29185 key.
29186
29187 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
29188 * configure.ac [i386]: Check for regparam bug.
29189 (NESTED_FUNC_ATTR) [! i386]: Defined.
29190
29191 2003-11-17 Marco Gerards <metgerards@student.han.nl>
29192
29193 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
29194 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
29195 (pupa_emu_SOURCES): New variable.
29196 (pupa_emu_LDFLAGS): Likewise.
29197 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
29198 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
29199 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
29200 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
29201 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
29202 (pupa_jmp_buf): New typedef.
29203 (pupa_setjmp) [PUPA_UTIL]: New macro.
29204 (pupa_longjmp) [PUPA_UTIL]: Likewise.
29205 * include/pupa/term.h (struct pupa_term): New member `refresh'.
29206 (pupa_refresh): New prototype.
29207 * include/pupa/util/getroot.h: New file.
29208 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
29209 it.
29210 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
29211 (pupa_rescue_cmd_cat): Likewise.
29212 (pupa_rescue_cmd_ls): Likewise.
29213 (pupa_rescue_cmd_testload): Likewise.
29214 (pupa_rescue_cmd_lsmod): Likewise.
29215 * normal/cmdline.c (pupa_cmdline_get): Likewise.
29216 * normal/menu.c (run_menu): Likewise.
29217 * kern/term.c (pupa_cls): Likewise.
29218 (pupa_refresh): New function.
29219 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
29220 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
29221 * util/console.c: New file.
29222
29223 * util/i386/pc/getroot.c: New file.
29224 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
29225 (pupa_putchar): New function.
29226 (pupa_refresh): Likewise.
29227 (xgetcwd): Function moved to ...
29228 (strip_extra_slashes): Likewise.
29229 (get_prefix): Likewise.
29230 * util/i386/pc/getroot.c: ... here.
29231 (find_root_device): Function moved and renamed to...
29232 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
29233 Changed all callers.
29234 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
29235 and renamed to...
29236 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
29237 Changed all callers.
29238 * util/misc.c (pupa_memalign): New function.
29239 (pupa_mm_init_region): Likewise.
29240 (pupa_register_exported_symbols): Likewise.
29241 (pupa_putchar): Function removed.
29242 * util/pupa-emu.c: New file.
29243
29244 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
29245
29246 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
29247 (_multiboot_mod_SOURCES): New variable.
29248 (_multiboot_mod_CFLAGS): Likewise.
29249 * loader/i386/pc/multiboot.c: New file.
29250 * include/pupa/i386/pc/multiboot.h: Likewise.
29251 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
29252 (pupa_multiboot_real_boot): New function.
29253 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
29254 (pupa_multiboot_real_boot): New prototype.
29255 (pupa_rescue_cmd_multiboot): Likewise
29256 (pupa_rescue_cmd_module): Likewise.
29257
29258 * kern/loader.c (pupa_loader_set): Continue when
29259 pupa_loader_unload_func() fails.
29260 (pupa_loader_unset): New function.
29261 * include/pupa/loader.h (pupa_loader_unset): New prototype.
29262
29263 * kern/misc.c (pupa_stpcpy): New function.
29264 * include/pupa/misc.h (pupa_stpcpy): New prototype.
29265
29266 2003-11-12 Marco Gerards <metgerards@student.han.nl>
29267
29268 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
29269 for available extensions.
29270
29271 * include/pupa/i386/pc/time.h: New file.
29272 * kern/disk.c: Include <pupa/machine/time.h>.
29273 (PUPA_CACHE_TIMEOUT): New macro.
29274 (pupa_last_time): New variable.
29275 (pupa_disk_open): Flush the cache when there was a timeout.
29276 (pupa_disk_close): Reset the timer.
29277 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
29278 pupa_currticks.
29279 * util/misc.c: Include <sys/times.h>
29280 (pupa_get_rtc): New function.
29281
29282 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
29283
29284 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
29285 as blocks.
29286 (pupa_ext2_get_file_block): Use blocks member.
29287
29288 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
29289 first block. Return -1 instead of pupa_errno on error.
29290
29291 2003-10-27 Marco Gerards <metgerards@student.han.nl>
29292
29293 * README: In the pupa-mkimage example use _chain instead of chain
29294 and ext2 instead of fat.
29295 * TODO: Replace ext2fs with jfs as an example. Add an item for
29296 adding journal playback for ext2fs.
29297 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
29298 (pkgdata_MODULES): Added ext2.mod.
29299 (ext2_mod_SOURCES): New variable.
29300 (ext2_mod_CFLAGS): Likewise.
29301 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
29302 * include/pupa/misc.h (pupa_strncpy): New prototype.
29303 (pupa_strcat): Likewise.
29304 (pupa_strncmp): Likewise.
29305 * kern/misc.c (pupa_strcat): Enable function.
29306 (pupa_strncpy): New function.
29307 (pupa_strncmp): Likewise.
29308 * fs/ext2.c: New file.
29309
29310 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
29311 when the read failed before retrying.
29312 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
29313 (_FILE_OFFSET_BITS): Likewise.
29314 * configure.ac: Added AC_SYS_LARGEFILE.
29315
29316 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29317
29318 * genmk.rb (PModule#rule): Make sure to get only symbol names
29319 from the output of nm.
29320 Reported by Robert Millan <rmh.grub@aybabtu.com>.
29321
29322 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29323
29324 I forgot to check in these changes for a long time. This adds
29325 incomplete support for VGA console, and this is still very
29326 buggy. Also, a lot of consideration is required for I18N,
29327 UNICODE, and VGA font issues. Therefore, assume that this is
29328 such that "better than nothing".
29329
29330 * font/manager.c: New file.
29331 * include/pupa/font.h: Likewise.
29332 * include/pupa/i386/pc/vga.h: Likewise.
29333 * term/i386/pc/vga.c: Likewise.
29334 * util/unifont2pff.rb: Likewise.
29335
29336 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
29337 (pkgdata_MODULES): Added vga.mod and font.mod.
29338 (vga_mod_SOURCES): New variables.
29339 (vga_mod_CFLAGS): Likewise.
29340 (font_mod_SOURCES): Likewise.
29341 (font_mod_CFLAGS): Likewise.
29342
29343 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
29344
29345 * include/pupa/term.h: Include pupa/err.h.
29346 (struct pupa_term): Added init and fini.
29347 Changed the argument of putchar to pupa_uint32_t.
29348
29349 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
29350 (pupa_console_real_putchar): New prototype.
29351 (pupa_console_putchar): Removed.
29352 (pupa_console_checkkey): Exported.
29353 (pupa_console_getkey): Likewise.
29354
29355 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
29356 characters.
29357
29358 * kern/term.c (pupa_term_set_current): Rewritten.
29359 (pupa_putchar): Likewise.
29360 (pupa_putcode): New function.
29361
29362 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
29363 (pupa_console_real_putchar): ... this.
29364 (pupa_vga_set_mode): New function.
29365 (pupa_vga_get_font): Likewise.
29366
29367 * normal/command.c: Include pupa/term.h.
29368 (terminal_command): New function.
29369 (pupa_command_init): Register the command "terminal".
29370
29371 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
29372 (DISP_UP): Likewise.
29373 (DISP_RIGHT): Likewise.
29374 (DISP_DOWN): Likewise.
29375 (DISP_HLINE): Likewise.
29376 (DISP_VLINE): Likewise.
29377 (DISP_UL): Likewise.
29378 (DISP_UR): Likewise.
29379 (DISP_LL): Likewise.
29380 (DISP_LR): Likewise.
29381
29382 * term/i386/pc/console.c (pupa_console_putchar): New function.
29383
29384 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
29385
29386 * util/resolve.c (pupa_util_resolve_dependencies): BUG
29387 FIX. Reverse the path_list.
29388
29389 * include/pupa/normal.h: Export pupa_register_command and
29390 pupa_unregister_command.
29391
29392 * hello/hello.c (pupa_cmd_hello): New module.
29393 * conf/i386-pc.rmk: Added hello.mod.
29394
29395 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
29396
29397 * kern/i386/pc/lzo1x.S: New file.
29398
29399 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
29400 (compress_kernel): New variable.
29401 (generate_image): Heavily modified to support compressing a
29402 large part of the core image.
29403
29404 * util/misc.c (pupa_util_read_image): Fix a file descriptor
29405 leak.
29406 (pupa_util_load_image): New function.
29407
29408 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
29409 (pupa_compressed_size): New variable.
29410 (codestart): Enable Gate A20 here.
29411 Decompress the compressed part of the core image.
29412 Rearrange the code to put functions and variables which are
29413 required for initialization in the non-compressed part.
29414 Include lzo1x.S.
29415
29416 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
29417 here.
29418
29419 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
29420
29421 * include/pupa/i386/pc/kernel.h
29422 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
29423 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29424 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29425 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29426 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29427
29428 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29429
29430 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29431 (Utility#rule): Likewise.
29432
29433 * configure.ac: Check if LZO is available.
29434
29435 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29436
29437 * include/pupa/normal.h: New file.
29438 * include/pupa/setjmp.h: Likewise.
29439 * include/pupa/i386/setjmp.h: Likewise.
29440 * normal/cmdline.c: Likewise.
29441 * normal/command.c: Likewise.
29442 * normal/main.c: Likewise.
29443 * normal/menu.c: Likewise.
29444 * normal/i386/setjmp.S: Likewise.
29445
29446 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29447 (pupa_rescue_cmd_initrd): Likewise.
29448
29449 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29450 Likewise.
29451
29452 * kern/i386/pc/startup.S (translation_table): New variable.
29453 (translate_keycode): New function.
29454 (pupa_console_getkey): Call translate_keycode.
29455
29456 * kern/rescue.c (attempt_normal_mode): New function.
29457 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29458 it failed, print a message.
29459
29460 * kern/mm.c (pupa_real_malloc): Print more information when a
29461 free magic is broken.
29462 (pupa_free): If the first free header is not free actually, set
29463 it to P.
29464
29465 * kern/main.c (pupa_load_normal_mode): Just load the module
29466 "normal".
29467 (pupa_main): Don't print the message
29468 "Entering into rescue mode..." here.
29469
29470 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29471 Declared.
29472 (pupa_rescue_cmd_initrd): Likewise.
29473 (pupa_rescue_cmd_initrd): Likewise.
29474
29475 * include/pupa/symbol.h (FUNCTION): Specify the type.
29476 (VARIABLE): Likewise.
29477
29478 * include/pupa/err.h (pupa_err_t): Added
29479 PUPA_ERR_UNKNOWN_COMMAND.
29480
29481 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29482 (pupa_dl_get_prefix): Likewise.
29483
29484 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29485 Added _chain.mod and _linux.mod instead of chain.mod and
29486 linux.mod.
29487 (chain_mod_SOURCES): Renamed to ...
29488 (_chain_mod_SOURCES): ... this.
29489 (chain_mod_CFLAGS): Renamed to ...
29490 (_chain_mod_CFLAGS): ... this.
29491 (linux_mod_SOURCES): Renamed to ...
29492 (_linux_mod_SOURCES): ... this.
29493 (linux_mod_CFLAGS): Renamed to ...
29494 (_linux_mod_CFLAGS): ... this.
29495 (normal_mod_SOURCES): New variable.
29496 (normal_mod_CFLAGS): Likewise.
29497 (normal_mod_ASFLAGS): Likewise.
29498
29499 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29500
29501 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29502 possible.
29503
29504 * kern/dl.c (pupa_dl_ref): Refer depending modules
29505 recursively.
29506 (pupa_dl_unref): Unrefer depending modules recursively.
29507 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29508 a module is unloaded before one depending on that module is
29509 unloaded.
29510 (pupa_dl_unload): Unload depending modules explicitly,
29511 if possible.
29512
29513 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29514
29515 * include/pupa/i386/pc/linux.h: New file.
29516 * loader/i386/pc/linux.c: Likewise.
29517
29518 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29519 Removed.
29520 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29521 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
29522 of PUPA_CHAINLOADER_BOOT_SECTOR.
29523
29524 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
29525 (pupa_linux_prot_size): New variable.
29526 (pupa_linux_tmp_addr): Likewise.
29527 (pupa_linux_real_addr): Likewise.
29528 (pupa_linux_boot_zimage): New function.
29529 (pupa_linux_boot_bzimage): Likewise.
29530
29531 * kern/i386/pc/init.c (struct mem_region): New structure.
29532 (MAX_REGIONS): New macro.
29533 (mem_regions): New variable.
29534 (num_regions): Likewise.
29535 (pupa_os_area_addr): Likewise.
29536 (pupa_os_area_size): Likewise.
29537 (pupa_lower_mem): Likewise.
29538 (pupa_upper_mem): Likewise.
29539 (add_mem_region): New function.
29540 (compact_mem_regions): Likewise.
29541 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
29542 the size of the conventional memory and that of so-called upper
29543 memory (before the first memory hole).
29544 Instead of adding each found region to free memory, use
29545 add_mem_region and add them after removing overlaps.
29546 Also, add only 1/4 of the upper memory to free memory. The rest
29547 is used for loading OS images. Maybe this is ad hoc, but this
29548 makes it much easier to relocate OS images when booting.
29549
29550 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
29551 (pupa_enter_rescue_mode): Don't register initrd and module.
29552
29553 * kern/mm.c: Include pupa/dl.h.
29554
29555 * kern/main.c: Include pupa/file.h and pupa/device.h.
29556
29557 * kern/loader.c (pupa_loader_load_module_func): Removed.
29558 (pupa_loader_load_module): Likewise.
29559
29560 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
29561 ``.o''.
29562
29563 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
29564 (pupa_linux_tmp_addr): Likewise.
29565 (pupa_linux_real_addr): Likewise.
29566 (pupa_linux_boot_zimage): Likewise.
29567 (pupa_linux_boot_bzimage): Likewise.
29568
29569 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
29570 (pupa_upper_mem): Likewise.
29571 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
29572 module is too dangerous.
29573
29574 * include/pupa/loader.h (pupa_os_area_addr): Declared.
29575 (pupa_os_area_size): Likewise.
29576 (pupa_loader_set): Remove the first argument. Loader doesn't
29577 manage modules or initrd any longer.
29578 (pupa_loader_load_module): Removed.
29579
29580 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
29581 (linux_mod_SOURCES): New variable.
29582 (linux_mod_CFLAGS): Likewise.
29583
29584 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
29585
29586 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
29587 the length of a blocklist correctly.
29588
29589 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
29590 Use ioctl only if the OS file is a block device.
29591 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
29592 not very useful for normal files.
29593
29594 * kern/main.c (pupa_set_root_dev): New function.
29595 (pupa_load_normal_mode): Likewise.
29596 (pupa_main): Call those above.
29597
29598 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
29599 pupa_uint16_t.
29600
29601 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
29602
29603 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29604
29605 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
29606 (setup): Configure the installed partition information and the
29607 dl prefix.
29608
29609 * loader/i386/pc/chainloader.c (my_mod): New variable.
29610 (pupa_chainloader_unload): New function.
29611 (pupa_rescue_cmd_chainloader): Refer itself.
29612 (PUPA_MOD_INIT): Save its own module in MY_MOD.
29613
29614 * kern/i386/pc/startup.S (install_partition): Removed.
29615 (version_string): Likewise.
29616 (config_file): Likewise.
29617 (pupa_install_dos_part): New variable.
29618 (pupa_install_bsd_part): Likewise.
29619 (pupa_prefix): Likewise.
29620 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
29621
29622 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
29623 and pupa/misc.h.
29624 (make_install_device): New function.
29625 (pupa_machine_init): Set the dl prefix.
29626
29627 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
29628 (buf): Renamed to ...
29629 (linebuf): ... this.
29630 (pupa_rescue_cmd_prefix): New function.
29631 (pupa_rescue_cmd_insmod): Likewise.
29632 (pupa_rescue_cmd_rmmod): Likewise.
29633 (pupa_rescue_cmd_lsmod): Likewise.
29634 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
29635 rmmod and lsmod.
29636
29637 * kern/mm.c (pupa_memalign): If failed even after invalidating
29638 disk caches, unload unneeded modules and retry.
29639
29640 * kern/misc.c (pupa_memmove): New function.
29641 (pupa_memcpy): Removed.
29642 (pupa_strcpy): New function.
29643 (pupa_itoa): Made static.
29644
29645 * kern/dl.c (pupa_dl_iterate): New function.
29646 (pupa_dl_ref): Likewise.
29647 (pupa_dl_unref): Likewise.
29648 (pupa_dl_unload): Return if succeeded or not.
29649 (pupa_dl_unload_unneeded): New function.
29650 (pupa_dl_unload_all): Likewise.
29651 (pupa_dl_init): Renamed to ...
29652 (pupa_dl_set_prefix): ... this.
29653 (pupa_dl_get_prefix): New function.
29654
29655 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
29656 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
29657 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29658 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29659 (pupa_install_dos_part): Declared.
29660 (pupa_install_bsd_part): Likewise.
29661 (pupa_prefix): Likewise.
29662 (pupa_boot_drive): Likewise.
29663
29664 * include/pupa/types.h: Fix a typo.
29665
29666 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
29667 pupa_memmove.
29668 (pupa_memmove): Declared.
29669 (pupa_strcpy): Likewise.
29670
29671 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
29672 pupa_mod_init takes one argument, its own module.
29673 (pupa_dl_unload_unneeded): Declared.
29674 (pupa_dl_unload_all): Likewise.
29675 (pupa_dl_ref): Likewise.
29676 (pupa_dl_unref): Likewise.
29677 (pupa_dl_iterate): Likewise.
29678 (pupa_dl_init): Renamed to ...
29679 (pupa_dl_set_prefix): ... this.
29680 (pupa_dl_get_prefix): Declared.
29681
29682 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
29683 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
29684 unloaded.
29685 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
29686 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
29687
29688 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
29689 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
29690
29691 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29692
29693 * util/i386/pc/pupa-setup.c (setup): Define the internal
29694 function find_first_partition_start at the top level, because GCC
29695 3.0.x cannot compile internal functions in deeper scopes
29696 correctly.
29697 (find_root_device): Use lstat instead of stat.
29698 Don't follow symbolic links.
29699 Fix the path-constructing code.
29700
29701 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
29702 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
29703 by a BLKGETSIZE ioctl first, because block devices don't fill
29704 the member st_mode of the structure stat on Linux.
29705 [__linux__] (linux_find_partition): Use a temporary buffer
29706 REAL_DEV for the working space. Copy it to DEV before returning.
29707 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
29708 buffer cache consistent.
29709 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
29710 strncmp. The previous value was merely wrong.
29711 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
29712
29713 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
29714 FAT size is 12. The previous value was merely wrong.
29715
29716 * kern/main.c (pupa_main): Don't split the starting message from
29717 newlines.
29718
29719 * kern/term.c (pupa_putchar): Put CR after LF instead of before
29720 LF, because BIOS goes crazy about character attributes in this
29721 case.
29722
29723 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
29724
29725 * include/i386/pc/util/biosdisk.h: New file.
29726 * util/i386/pc/biosdisk.c: Likewise.
29727 * util/i386/pc/pupa-setup.c: Likewise.
29728
29729 * Makefile.in (INCLUDE_DISTFILES): Added
29730 include/pupa/i386/pc/util/biosdisk.h.
29731 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
29732 directory util/i386/pc.
29733 (install-local): Added a rule for sbin_UTILITIES.
29734 (uninstall): Likewise.
29735
29736 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
29737
29738 * util/misc.c (xrealloc): New function.
29739 (pupa_malloc): Likewise.
29740 (pupa_free): Likewise.
29741 (pupa_realloc): Likewise.
29742 (pupa_stop): Likewise.
29743 (pupa_putchar): Likewise.
29744
29745 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
29746
29747 * include/pupa/util/misc.h (xrealloc): Declared.
29748
29749 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
29750 macro.
29751 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
29752 (PUPA_BOOT_MACHINE_BPB_END): ... this.
29753
29754 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
29755 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29756
29757 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
29758 way should be implemented.
29759 [PUPA_UTIL] (pupa_fat_fini): Likewise.
29760
29761 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
29762 the size of NAME for safety.
29763 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
29764 0x88.
29765
29766 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
29767 (pupa_setup_SOURCES): Likewise.
29768
29769 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
29770
29771 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29772
29773 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
29774 bunch of pushl's from pusha, because this destroys the return
29775 value.
29776
29777 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
29778
29779 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
29780 This means that any missing prototypes could be fatal. Also, you
29781 must take care when writing assembly code. See the comments at
29782 the beginning of startup.S, for more details.
29783
29784 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
29785 compilation mechanism.
29786 (pupa_chainloader_real_boot): Likewise.
29787 (pupa_biosdisk_rw_int13_extensions): Likewise.
29788 (pupa_biosdisk_rw_standard): Likewise.
29789 (pupa_biosdisk_check_int13_extensions): Likewise.
29790 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
29791 (pupa_biosdisk_get_diskinfo_standard): Likewise.
29792 (pupa_get_memsize): Likewise.
29793 (pupa_get_mmap_entry): Likewise.
29794 (pupa_console_putchar): Likewise.
29795 (pupa_console_setcursor): Likewise.
29796 (pupa_getrtsecs): Use pushl instead of push.
29797
29798 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
29799 memory instead of the stack for a mmap entry, because some
29800 BIOSes may ignore the maximum size and overflow.
29801
29802 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
29803
29804 * genmk.rb (PModule#rule): Compile automatically generated
29805 sources with module-specific CFLAGS as well as other sources.
29806
29807 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29808
29809 * configure.ac: Check ld.
29810 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
29811 respectively, before checking endianness and sizes.
29812
29813 * Makefile.in (LD): New variable.
29814
29815 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29816
29817 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
29818
29819 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
29820
29821 * Changelog: New file.
29822