]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-12-14 Felix Zielcke <fzielcke@z-51.de>
[grub2.git] / ChangeLog
CommitLineData
574cce0c
FZ
12009-12-14 Felix Zielcke <fzielcke@z-51.de>
2
3 Fix a segfault with parsing unknown long options.
4
5 * util/grub-mkrelpath.c (options): Zero terminate it.
6
c4a3e41a
CPE
72009-12-13 Carles Pina i Estany <carles@pina.cat>
8
9 * include/grub/misc.h (grub_puts): New declaration.
10 (grub_puts_): Likewise.
11 * kern/mis.c (grub_puts): New definition.
12 (grub_puts_): Likewise.
13
2e8a7602
RM
142009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15
16 * util/grub-probe.c (probe): Improve error message.
17
b50b77b9
RM
182009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19
20 * loader/i386/multiboot_elfxx.c
21 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22 initialization.
23
242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25
26 Relocator framework
27
28 * loader/i386/xnu_helper.S: Removed. All users updated.
29 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
30 (relocator_mod_SOURCES): New variable.
31 (relocator_mod_CFLAGS): Likewise.
32 (relocator_mod_LDFLAGS): Likewise.
33 (relocator_mod_ASFLAGS): Likewise.
34 * conf/x86_64.rmk: Likewise.
35 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
36 (grub_multiboot_payload_entry_offset): Likewise.
37 (grub_multiboot_forward_relocator): Likewise.
38 (grub_multiboot_forward_relocator_end): Likewise.
39 (grub_multiboot_backward_relocator): Likewise.
40 (grub_multiboot_backward_relocator_end): Likewise.
41 (grub_multiboot_payload_eip): New variable.
42 (grub_multiboot_payload_orig): Likewise.
43 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
44 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
45 * include/grub/i386/memory.h
46 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
47 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
48 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
49 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
50 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
51 * include/grub/i386/relocator.h: New file.
52 * include/grub/x86_64/relocator.h: Likewise.
53 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
54 (XNU_RELOCATOR): New macro.
55 (grub_xnu_launcher_start): Remove.
56 (grub_xnu_launcher_end): Likewise.
57 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
58 (grub_xnu_heap_real_start): Remove.
59 (grub_xnu_heap_start): Change to void *. All users updated.
60 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
61 * lib/i386/relocator.c: New file.
62 * lib/i386/relocator_asm.S: Likewise.
63 * lib/i386/relocator_backward.S: Likewise.
64 * lib/mips/relocator.c: Likewise.
65 * lib/mips/relocator_asm.S: Likewise.
66 * lib/relocator.c: Likewise.
67 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
68 (entry): Removed.
69 (playground): Likewise.
70 (grub_multiboot_payload_orig): New variable.
71 (grub_multiboot_payload_dest): Likewise.
72 (grub_multiboot_payload_size): Likewise.
73 (grub_multiboot_payload_eip): Likewise.
74 (grub_multiboot_payload_esp): Likewise.
75 (grub_multiboot_boot): Use grub_relocator32_boot.
76 (grub_multiboot_unload): Free relocators.
77 (grub_multiboot): Setup stack. Use relocators.
78 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
79 (grub_multiboot_load_elfXX): Use relocators.
80 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
81 (grub_multiboot_payload_size): Likewise.
82 (grub_multiboot_payload_dest): Likewise.
83 (grub_multiboot_payload_entry_offset): Likewise.
84 (grub_multiboot_forward_relocator): Likewise.
85 (grub_multiboot_backward_relocator): Likewise.
86 (grub_multiboot_real_boot): Likewise.
87 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
88 (grub_xnu_entry_point): Likewise.
89 (grub_xnu_arg1): Likewise.
90 (grub_xnu_stack): Likewise.
91 (grub_xnu_launch): Removed.
92 (grub_xnu_boot_resume): New function.
93 (grub_xnu_boot): Use relocators.
94 * loader/i386/xnu_helper.S: Removed.
95 * loader/xnu.c (grub_xnu_heap_start): New variable.
96 (grub_xnu_heap_size): Likewise.
97 (grub_xnu_heap_malloc): Use relocators.
98 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
99
29eb90c6
VS
1002009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
103 anything.
104
31027430
CPE
1052009-12-13 Carles Pina i Estany <carles@pina.cat>
106
107 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
108 GRUB_ERR_NONE before calling grub_env_set.
109
dc0c71d9
RM
1102009-12-12 Robert Millan <rmh@aybabtu.com>
111
112 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
113 * genmk.rb (video): New variable.
114 (CLEANFILES, VIDEOFILES): Add #{video}.
115 (#{video}): New target rule.
116 * genvideolist.sh: New file.
117 * Makefile.in (pkglib_DATA): Add video.lst.
118 (video.lst): New target rule.
119 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
120 `video.lst'.
121 * util/grub.d/30_os-prober.in: Replace `vbe' with
122 ${GRUB_VIDEO_BACKEND}.
123
2a4bfcf0
RM
1242009-12-11 Robert Millan <rmh.grub@aybabtu.com>
125
126 * THANKS: Add David Miller.
127
2a3aa4d5
RM
1282009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
129
130 libpciaccess support.
131
132 * Makefile.in (LIBPCIACCESS): New variable.
133 (enable_grub_emu_pci): Likewise.
134 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
135 util/pci.c and commands/lspci.c.
136 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
137 * configure.ac (grub-emu-pci): New option.
138 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
139 (grub_pci_device_unmap_range): Likewise.
140 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
141 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
142 (grub_pci_address_t) [!GRUB_UTIL]: New type.
143 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
144 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
145 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
146 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
147 * include/grub/pciutils.h: New file.
148 * util/pci.c: Likewise.
149
8d0502d9
FZ
1502009-12-11 Felix Zielcke <fzielcke@z-51.de>
151
152 * util/misc.c: Don't include <errno.h> twice.
153
0d56ed64
FZ
1542009-12-10 Felix Zielcke <fzielcke@z-51.de>
155
156 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
157 name in an error message.
158 (grub_biosdisk_rw): Likewise.
159
2e59983c
VS
1602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Eliminate NTFS 4Gib barrier.
163
164 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
165 (read_run_data): Likewise.
166 (grub_ntfs_read_run_list): Likewise.
167 (grub_ntfs_read_block): Likewise.
168 (grub_ntfs_iterate_dir): Likewise.
169 (read_mft): Likewise.
170 (read_data): Likewise.
171 Use COM_LOG_LEN.
172 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
173 to avoid 64-bit division
174 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
175 (grub_ntfs_rlst): Use grub_disk_addr_t.
176
71ee178a
VS
1772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Eliminate grub-fstest 4Gib barrier.
180
181 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
182 (read_file): Fix error reporting.
183
2520d4b8
VS
1842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
185
186 Eliminate hexdump 4Gib barrier.
187
188 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
189 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
190
e1f27065
VS
1912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
194 Fixes amarsh bug.
195
1a0f7f45
RM
1962009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
197
198 Remove miscellaneous files in distclean target.
199
200 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
201
c631d9fb
CW
2022009-12-09 Colin Watson <cjwatson@ubuntu.com>
203
204 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
205 if they're already set. This resolves the conflict between my
206 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
207 fixing the --grub-probe option again.
208 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
209 change on 2009-10-06, so that we now once again source
210 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
211
7c7b6106
RM
2122009-12-08 Robert Millan <rmh.grub@aybabtu.com>
213
214 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
215 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
216 `util/devicemap.c'.
217
e3069ec1
CPE
2182009-12-08 Carles Pina i Estany <carles@pina.cat>
219
220 * include/grub/misc.h (grub_printf_): New declaration.
221 * kern/misc.c (grub_printf_): New definition.
222 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
223 instead of `grub_printf' and `_'.
224 * normal/menu_entry.c (store_completion): Likewise.
225 (run): Likewise.
226 (grub_menu_entry_run): Likewise.
227 * normal/menu_text.c (grub_wait_after_message): Likewise.
228 (notify_booting): Likewise.
229 (notify_fallback): Likewise.
230 (notify_execution_failure): Likewise.
231
d6ceebf1
CW
2322009-12-07 Colin Watson <cjwatson@ubuntu.com>
233
234 * configure.ac: Check for vasprintf.
235 * util/misc.c (asprintf): Move allocation from here ...
236 (vasprintf): ... to here. New function.
237 (xasprintf): New function.
238 * include/grub/util/misc.h (vasprintf, xasprintf): Add
239 prototypes.
240 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
241 * util/grub-mkfont.c (write_font): Likewise.
242 * util/grub-probe.c (probe): Likewise.
243 * util/hostdisk.c (make_device_name): Likewise.
244
de6daa8b
DM
2452009-12-06 David S. Miller <davem@sunset.davemloft.net>
246
247 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
248 anything even prefixed with 'cdrom' as a cdrom.
249
df91e679
FZ
2502009-12-06 Felix Zielcke <fzielcke@z-51.de>
251
252 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
253 mount points.
254
98d3dc02
CPE
2552009-12-05 Carles Pina i Estany <carles@pina.cat>
256
257 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
258 grub_gettext_msg_list.
259 (grub_gettext_gettranslation_from_position): Return const char *
260 and not char *.
261 (grub_gettext_translate): Add the translated strings into a list,
262 returns from the list if existing there.
263 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
264 (grub_gettext_delete_list): Delete the list.
265 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
266 lang environment variable is changed.
267 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
268
b283f108
VS
2692009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
270
271 Rename kernel.mod to kernel.img.
272
273 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
274 (kernel_mod_EXPORTS): Rename to ...
275 (kernel_img_EXPORTS): ... this.
276 (kernel_mod_SOURCES): Rename to ...
277 (kernel_img_SOURCES): ... this.
278 (kernel_mod_HEADERS): Rename to ...
279 (kernel_img_HEADERS): ... this. All users updated.
280 (kernel_mod_CFLAGS): Rename to ...
281 (kernel_img_CFLAGS): ... this.
282 (kernel_mod_ASFLAGS): Rename to ...
283 (kernel_img_ASFLAGS): ... this.
284 (kernel_mod_LDFLAGS): Rename to ...
285 (kernel_img_LDFLAGS): ... this.
286 * conf/x86_64-efi.rmk: Likewise.
287 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
288 (read_kernel_image): ... this. All users updated.
289 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
290
69055f8a
CPE
2912009-12-05 Carles Pina i Estany <carles@pina.cat>
292
293 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
294 (print_spaces): New function.
295 (grub_print_ucs4): New function.
296 (getstringwidth): New function.
297 (print_message_indented): New function.
298 (print_message): Gettexttize strings using print_message_indented.
299 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
300 width.
301 (get_entry_number): Gettextize and uses dynamic terminal width.
302 (notify_booting, notify_fallback, notify_execution_failure):
303 Gettextize.
304 * normal/menu_entry.c (store_completion): Cleanup the gettextized
305 string.
306 (run): Likewise.
307 (grub_menu_entry_run): Likewise.
308 * PO/POTFILES: Add normal/menu_entry.c.
309
f616f51c
VS
3102009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
313
57bbe3be
CPE
3142009-12-05 Carles Pina i Estany <carles@pina.cat>
315
316 * util/grub-install.in: Install gettext .mo files.
317 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
318
013d67a1
CPE
3192009-12-05 Carles Pina i Estany <carles@pina.cat>
320
321 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
322 grub_dprintf.
323
fb954db0
RM
3242009-12-05 Robert Millan <rmh.grub@aybabtu.com>
325
326 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
327 non-firmware-dependant one in realmode.S takes precedence.
328
6b8474f8
RM
3292009-12-04 Robert Millan <rmh.grub@aybabtu.com>
330
331 * commands/halt.c: Replace misc arch-specific headers with
332 `<grub/misc.h>'.
333 * commands/reboot.c: Likewise.
334 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
335 `<grub/misc.h>'.
336 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
337 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
338 (kernel_img_SOURCES): ... to here.
339
340 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
341 * include/grub/i386/pc/init.h: Likewise.
342 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
343 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
344
345 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
346
347 * include/grub/i386/halt.h: Remove.
348 * include/grub/i386/reboot.h: Likewise.
349
350 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
351
4b2e6ca2
DM
3522009-12-03 David S. Miller <davem@sunset.davemloft.net>
353
354 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
355 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
356 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
357 "progname.h"
358 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
359 * util/sparc64/ieee1275/grub-setup.c: Likewise.
360 (usage): Add missing comma in printf.
361
5239348f
RM
3622009-12-02 Robert Millan <rmh.grub@aybabtu.com>
363
364 Use the same reboot approach on i386 coreboot and qemu as we do on
365 BIOS.
366
367 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
368 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
369 * kern/i386/reboot.c: Remove.
370 * include/grub/i386/reboot.h (grub_reboot): Export function.
371 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
372 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
373 0xf000:0xfff0 instead of 0xffff:0x0000.
374 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
375 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
376
ef34cbd4
RM
3772009-11-30 Robert Millan <rmh.grub@aybabtu.com>
378
379 Fix $srcdir != $objdir build.
380
381 * Makefile.in (po/%.po): Rewrite as ...
382 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
383
dc9837ea
ST
3842009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
385
386 Fix GNU/Hurd grub-install crash.
387 * util/grub-probe.c (probe): Try to access `path' only when it is not
388 NULL.
389
2f857f98
VS
3902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Correct module naming.
393
394 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
395 (GRUB_MOD_INIT(efi_uga)): ... to this
396 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
397 (GRUB_MOD_FINI(efi_uga)): ... to this
398 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
399 (GRUB_MOD_INIT(efi_gop)): ... to this
400 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
401 (GRUB_MOD_FINI(efi_gop)): ... to this
402
c5448046
RM
4032009-11-28 Robert Millan <rmh.grub@aybabtu.com>
404
405 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
406 translatable.
407 (usage): Translate `arg' strings using gettext().
408 Thanks to Jordi Mallach for the suggestion.
409
c85184ad
VS
4102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
411
412 GOP support. Based on patch from Bean
413 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
414
415 * video/efi_gop.c: New file.
416 * include/grub/efi/graphics_output.h: Likewise.
417 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
418 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
419 variables.
420 * conf/x86_64-efi.rmk: Likewise.
421
8a4c48d8
VS
4222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Rename efi_fb to efi_uga.
425
426 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
427 'efi_uga.mod'.
428 (efi_fb_mod_SOURCES): Rename this ...
429 (efi_uga_mod_SOURCES): ... to this.
430 (efi_fb_mod_CFLAGS): Rename this ...
431 (efi_uga_mod_CFLAGS): ... to this.
432 (efi_fb_mod_LDFLAGS): Rename this ...
433 (efi_uga_mod_LDFLAGS): ... to this.
434 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
435 'efi_uga.mod'.
436 (efi_fb_mod_SOURCES): Rename this ...
437 (efi_uga_mod_SOURCES): ... to this.
438 (efi_fb_mod_CFLAGS): Rename this ...
439 (efi_uga_mod_CFLAGS): ... to this.
440 (efi_fb_mod_LDFLAGS): Rename this ...
441 (efi_uga_mod_LDFLAGS): ... to this.
442 * video/efi_fb.c: Move this ...
443 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
444
fb6c1a7b
RM
4452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
446
447 * po/README: New file. Explain our PO file workflow.
448
3bc7896c
RM
4492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
450
451 * po/ChangeLog: Remove. Move relevant entries back to ...
452 * ChangeLog: ... here.
453 * po/ca.po: Remove (now handled by TLP).
454 * po/id.po: Likewise.
455 * po/zh_CN.po: Likewise.
456 * Makefile.in (LINGUAS): Initialize in a way that supports
457 empty set.
458
9ed4841d
RM
4592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
460
461 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
462 reliing on po/LINGUAS.
463 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
464 (po/%.po): ... this.
465
242668a2
FZ
4662009-11-26 Felix Zielcke <fzielcke@z-51.de>
467
468 * util/i386/efi/grub-mkimage.c: Include "progname.h".
469 (main): Use `program_name' instead of nonexistent `progname'.
470
e30dd392
FZ
4712009-11-26 Felix Zielcke <fzielcke@z-51.de>
472
473 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
474 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
475
7656de4f
RM
4762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
477
478 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
479 commit.
480 * conf/i386-efi.rmk: Likewise.
481 * conf/i386-ieee1275.rmk: Likewise.
482 * conf/powerpc-ieee1275.rmk: Likewise.
483 * conf/sparc64-ieee1275.rmk: Likewise.
484 * conf/x86_64-efi.rmk: Likewise.
485
db77c4d4
FZ
4862009-11-26 Felix Zielcke <fzielcke@z-51.de>
487
488 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
489
a755bb04
FZ
4902009-11-26 Felix Zielcke <fzielcke@z-51.de>
491
492 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
493
8a4c07fd
RM
4942009-11-26 Robert Millan <rmh.grub@aybabtu.com>
495
496 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
497 (grub_mkdevicemap_SOURCES): New variable.
498 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
499 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
500 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
501 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
502 (grub_mkdevicemap_SOURCES): Remove.
503 * conf/i386-efi.rmk: Likewise.
504 * conf/i386-ieee1275.rmk: Likewise.
505 * conf/i386-pc.rmk: Likewise.
506 * conf/powerpc-ieee1275.rmk: Likewise.
507 * conf/sparc64-ieee1275.rmk: Likewise.
508 * conf/x86_64-efi.rmk: Likewise.
509 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
510 (usage): Fix strings to use `program_name'.
511 (main): Initialize gettext.
512 * util/grub-editenv.c: Likewise.
513 * util/grub-emu.c: Likewise.
514 * util/grub-fstest.c: Likewise.
515 * util/grub-mkdevicemap.c: Likewise.
516 * util/grub-mkfont.c: Likewise.
517 * util/grub-mkrelpath.c: Likewise.
518 * util/grub-pe2elf.c: Likewise.
519 * util/grub-probe.c: Likewise.
520 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
521 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
522 * util/sparc64/ieee1275/grub-setup.c: Likewise.
523
524 * util/misc.c: Include `"progname.h"'.
525 (progname): Remove variable.
526 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
527
6f61ed55
FZ
5282009-11-25 Felix Zielcke <fzielcke@z-51.de>
529
530 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
531 printf and print a newline after the menuentry header line.
532 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
533
f022876b
FZ
5342009-11-25 Felix Zielcke <fzielcke@z-51.de>
535
536 autoconf >= 2.60 support $(localedir).
537
538 * INSTALL: Note that autoconf 2.60 is required.
539 * configure.ac (AC_PREREQ): Bump to 2.60.
540 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
541 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
542
6717926e
YB
5432009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
544
545 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
546 aclocal is run.
547
08806a54
RM
5482009-11-25 Robert Millan <rmh.grub@aybabtu.com>
549
550 * normal/main.c (grub_normal_read_line): Fix off-by-one
551 buffer overflow.
552
13b33fba
RM
5532009-11-25 Robert Millan <rmh.grub@aybabtu.com>
554
555 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
556 "parser.grub" in grub_command_execute() call.
557
4a8572e9
CPE
5582009-11-24 Carles Pina i Estany <carles@pina.cat>
559
560 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
561 * conf/i386-efi.rmk: Likewise.
562 * conf/i386-ieee1275.rmk: Likewise.
563 * conf/i386-pc.rmk: Likewise.
564 * conf/powerpc-ieee1275.rmk: Likewise.
565 * conf/sparc64-ieee1275.rmk: Likewise.
566 * conf/x86_64-efi.rmk: Likewise.
567 * gettext/gettex.c: Include <grub/i18n.h>.
568 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
569 here ...
570 * include/grub/i18n.h: ... to here
571 * include/grub/i18n.h: ... to here.
572 * kern/misc.c: Include <grub/i18n.h>
573 (grub_gettext_dummy): Move above user.
574
bee48093
FZ
5752009-11-24 Felix Zielcke <fzielcke@z-51.de>
576
577 * util/Makefile.in (install-local): Convert a `for' into a normal
578 shell expansion.
579
a031e91c
RM
5802009-11-24 Robert Millan <rmh.grub@aybabtu.com>
581
582 * autogen.sh: Add automake call.
583 * config.guess: Remove.
584 * config.sub: Likewise.
585 * install-sh: Likewise.
586
26bec39d
FZ
5872009-11-24 Felix Zielcke <fzielcke@z-51.de>
588
589 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
590
8e2532fd
FZ
5912009-11-24 Felix Zielcke <fzielcke@z-51.de>
592
593 * util/Makefile.in (install-local): Convert a make `$(foreach)'
594 function to a normal shell `for'.
595
fefa1b7d
FZ
5962009-11-24 Felix Zielcke <fzielcke@z-51.de>
597
598 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
599
4501250b
FZ
6002009-11-24 Felix Zielcke <fzielcke@z-51.de>
601
602 * util/grub-mkrelpath.c: New file.
603 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
604 (grub_mkrelpath_SOURCES): New variable.
605 * include/grub/util/misc.h: New function prototype.
606 * util/misc.c (make_system_path_relative_to_its_root): New function.
607
608 * util/grub-mkconfig_lib.in (bindir): New variable.
609 (grub_mkrelpath): Likewise.
610 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
611
612 * util/probe.c (probe): Make the file path relative to its root.
613 Change a info message to use the GRUB path. Enable again the
614 check if we can read the file with GRUB facilities.
615
616 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
617 to its root.
618
11d9778b
FZ
6192009-11-24 Felix Zielcke <fzielcke@z-51.de>
620
621 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
622 platform.
623
4465287d
FZ
6242009-11-24 Felix Zielcke <fzielcke@z-51.de>
625
626 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
627 strncmp().
628
62b47f22
FZ
6292009-11-24 Felix Zielcke <fzielcke@z-51.de>
630
631 * util/getroot.c (grub_util_is_dmraid): New function.
632 (grub_util_get_dev_abstraction): Treat dmraid and multipath
633 devices as normal ones, not as LVM.
634
1eafb9b9 6352009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
636
637 * conf/common.rmk: Add grub-gettext_lib target and updates
638 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
639 LDFLAGS.
640 * gettext/gettext.c: New file. (Reads mo files).
641 * include/grub/file.h (grub_file_pread): New prototype.
642 * include/grub/i18n.h (_): New prototype.
643 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
644 prototypes.
645 * kern/misc.c (grub_gettext_dummy): New function.
646 * normal/menu_text.c: Include <grub/i18n.h>.
647 * normal/menu_text.c (print_timeout): Gettexttize string.
648 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
649 * po/POTFILES: Add `normal/menu_text.c'.
650 * po/ca.po: Add new translations.
c3ea6bd4
CPE
651 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
652 gettext module and defines locale_dir and lang in grub.cfg.
653 * NEWS: Add gettext support.
654
0fdb2568
RM
6552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
656
657 * util/hostdisk.c: Include `<grub/i18n.h>'.
658 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
659 (make_device_name): Rewrite using asprintf.
660 (convert_system_partition_to_system_disk): Replace 0 with NULL.
661 (find_system_device): If a device is not found, generate one just
662 by reusing the OS path name.
663 (read_device_map): Make it permissible for device.map not to exist.
664
f515aa62
RM
6652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
666
667 * script/sh/execute.c: Move from here ...
668 * script/execute.c: ... to here. Update all users.
669 * script/sh/function.c: Move from here ...
670 * script/function.c: ... to here. Update all users.
671 * script/sh/lexer.c: Move from here ...
672 * script/lexer.c: ... to here. Update all users.
673 * script/sh/main.c: Move from here ...
674 * script/main.c: ... to here. Update all users.
675 * script/sh/parser.y: Move from here ...
676 * script/parser.y: ... to here. Update all users.
677 * script/sh/script.c: Move from here ...
678 * script/script.c: ... to here. Update all users.
679
f84b481b
RM
6802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
681
682 * configure.ac: Detect all `emu' platforms. Define
683 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
684 --enable-grub-emu logic. Disable include/grub/machine
685 symlink on `emu' platforms.
686
687 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
688 * gensymlist.sh.in: Likewise.
689
690 * include/grub/i386/coreboot/machine.h: Remove file.
691 * include/grub/i386/efi/machine.h: Likewise.
692 * include/grub/i386/ieee1275/machine.h: Likewise.
693 * include/grub/i386/pc/machine.h: Likewise.
694 * include/grub/i386/qemu/machine.h: Likewise.
695 * include/grub/powerpc/ieee1275/machine.h: Likewise.
696 * include/grub/sparc64/ieee1275/machine.h: Likewise.
697 * include/grub/x86_64/efi/machine.h: Likewise.
698
699 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
700 * commands/halt.c: Likewise.
701 * commands/reboot.c: Likewise.
702 * include/grub/autoefi.h: Likewise.
703 * include/grub/i386/at_keyboard.h: Likewise.
704 * include/grub/i386/kernel.h: Likewise.
705 * include/grub/i386/loader.h: Likewise.
706 * include/grub/i386/pc/memory.h: Likewise.
707 * kern/dl.c: Likewise.
708 * kern/i386/coreboot/init.c: Likewise.
709 * loader/i386/bsd.c: Likewise.
710 * loader/i386/linux.c: Likewise.
711 * loader/multiboot_loader.c: Likewise.
712 * term/i386/pc/serial.c: Likewise.
713 * term/usb_keyboard.c: Likewise.
714
715 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
716 `<grub/machine/machine.h>'
717 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
718 * util/misc.c: Remove `<grub/machine/machine.h>' and
719 `<grub/machine/time.h>'.
720
721 * Makefile.in (enable_grub_emu): Remove variable.
722 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
723
724 * conf/any-emu.rmk: New file.
725 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
726 (grub_emu_init.c): Move from here ...
727 * conf/any-emu.rmk: ... to here.
728
729 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
730 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
731 * conf/any-emu.rmk: ... to here.
732
4efeab03
RM
7332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
734
735 * include/grub/parser.h (grub_parser_register): Document need
736 of `name' parameter.
737 * normal/main.c (grub_normal_read_line): Simplify prompt string.
738 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
739 "sh" to "grub".
740
ea1dd8bf
RM
7412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
742
743 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
744 `$(XGETTEXT)'.
745 * include/grub/i18n.h (N_): New macro.
746 * util/mkisofs/mkisofs.h: Likewise.
747 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
748 around N_().
749 (usage): Use gettext() to translate help strings when printing them.
750
0c140626
RM
7512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
752
753 Based on patch from Bean
754 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
755
756 * video/efi_fb.c: New file.
757 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
758 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
759 variables.
760 * conf/x86_64-efi.rmk: Likewise.
761
87d58298
RM
7622009-11-22 Robert Millan <rmh.grub@aybabtu.com>
763
764 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
765 * util/i386/pc/grub-setup.c: Likewise.
766
994cc3a3
ST
7672009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
768
769 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
770 <hurd/fs.h>
771 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
772 file_get_storage_info to implement grub_guess_root_device.
773
26a61d6a
FZ
7742009-11-21 Felix Zielcke <fzielcke@z-51.de>
775
776 * Makefile.in (target): Use make's builtin $(shell) function
777 instead of calling directly $(SHELL) to create the locale directories,
778 inside the $(foreach) function.
779
74ff1dd5
FZ
7802009-11-21 Felix Zielcke <fzielcke@z-51.de>
781
782 * util/grub-mkrescue.in: Print an error and usage if output option
783 has not been given.
784
0b787d0e
FZ
7852009-11-21 Felix Zielcke <fzielcke@z-51.de>
786
787 Patch from Loïc Minier <loic.minier@ubuntu.com>.
788 * util/grub.d/30_os-prober.in: Cope with Linux entries where
789 root and /boot are on different devices.
790
1164b270
RM
7912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
792
793 Fix build for srcdir != objdir.
794
795 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
796 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
797 $(srcdir).
798 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
799 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
800 reference for input.
801
13774a2f
RM
8022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
803
804 * util/grub-mkrescue.in: Use source directory direcly (without copiing
805 or hardlinking it). Remove -J option, Joliet is not compatible with
806 multiple source directories.
807
efda854e
RM
8082009-11-21 Carles Pina i Estany <carles@pina.cat>
8092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
810
811 * util/grub-mkrescue.in: Recognize `--override-directory' option.
812 (process_input_dir): New function. Process an arbitrary input
813 directory.
814 Misc adjustments to support both "override mode" and system-wide mode.
815
6c09890c
FZ
8162009-11-20 Felix Zielcke <fzielcke@z-51.de>
817
818 * configure.ac (UNIFONT_BDF): Rename to ...
819 (FONT_SOURCE): ... this. Update all users.
820
a797824f
FZ
8212009-11-20 Felix Zielcke <fzielcke@z-51.de>
822
823 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
824 to the list of unifont files to look for.
825
cd4f42b0
RM
8262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
827
828 Patch from Joe Auricchio <jauricchio@gmail.com>
829 * commands/minicmd.c (grub_mini_cmd_clear): New function.
830 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
831 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
832
393c783d
FZ
8332009-11-19 Felix Zielcke <fzielcke@z-51.de>
834
835 * Makefile.in (install-local): Add a missing backslash.
836
b2f1e327
FZ
8372009-11-19 Felix Zielcke <fzielcke@z-51.de>
838
839 * include/grub/x86_64/io.h: New file.
840
f577f7a0
RM
8412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
842
843 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
844 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
845 Include `"progname.h"'.
846 (main): Initialize gettext.
847 * util/i386/pc/grub-setup.c: Gettexttize.
848 * util/i386/pc/grub-mkimage.c: Likewise.
849
850 * Makefile.in (po/*.po): Redefine as ...
851 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
852
3bc7896c
RM
853 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
854
c37943b6
RM
8552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
856
857 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
858 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
859 (program_name): Remove.
860 (main): Initialize gettext support.
6323f705
RM
861 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
862 Include `<libintl.h>'.
863 (_): New macro.
c37943b6
RM
864
865 * util/mkisofs/eltorito.c: Gettexttize.
866 * util/mkisofs/joliet.c: Likewise.
867 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
868 * util/mkisofs/multi.c: Likewise.
869 * util/mkisofs/rock.c: Likewise.
870 * util/mkisofs/tree.c: Likewise.
871 * util/mkisofs/write.c: Likewise.
872
3bc7896c
RM
873 * po/POTFILES: Update with new files.
874
5ce77c6e
RM
8752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
876
877 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
878 * util/mkisofs/iso9660.h: Likewise.
879 * util/mkisofs/joliet.c: Likewise.
880 * util/mkisofs/mkisofs.c: Likewise.
881 * util/mkisofs/mkisofs.h: Likewise.
882 * util/mkisofs/rock.c: Likewise.
883 * util/mkisofs/tree.c: Likewise.
884 * util/mkisofs/write.c: Likewise.
885
886 * util/mkisofs/eltorito.c (rcsid): Remove.
887 * util/mkisofs/hash.c: Likewise.
888 * util/mkisofs/joliet.c: Likewise.
889 * util/mkisofs/name.c: Likewise.
890 * util/mkisofs/rock.c: Likewise.
891 * util/mkisofs/tree.c: Likewise.
892 * util/mkisofs/write.c: Likewise.
893
1dabbc77
RM
8942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
895
896 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
897 instead of static allocation.
898 * util/mkisofs/match.h: Likewise.
899
633877cb
RM
9002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
901
3bc7896c
RM
902 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
903 and `util/grub.d/10_linux.in'.
633877cb
RM
904 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
905 translatable Shell files.
906
af1c0c85
RM
9072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
908
909 * Makefile.in ($(srcdir)/aclocal.m4): New target.
910
769ae37b
RM
9112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
912
913 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 914 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
915 * util/grub.d/10_kfreebsd.in (bindir): New variable.
916 Add gettext initialization.
917 (kfreebsd_entry): Make menuentry output translatable.
918
9192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
920
921 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
922 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
923 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
924 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
925 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 926 * po/LINGUAS: New file.
769ae37b
RM
927
9282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
929
930 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
931 other things).
932 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
933 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
934 bindtextdomain() calls for gettext initialization.
935
9362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
937
938 * gnulib/progname.c: New file (imported from Gnulib).
939 * gnulib/progname.h: Likewise.
940 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
941 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
942 (usage): Replace `progname' with `program_name'.
943 (main): Use set_program_name() for program name initialization.
944
9452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
946
947 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
948 from here ...
949 * Makefile.in (CPPFLAGS): ... to here.
950
9512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
952
953 * aclocal.m4: Move from here ...
954 * acinclude.m4: ... to here.
955 * autogen.sh: Add call to `aclocal'.
956 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
957
9582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
959
960 * Makefile.in (CLEANFILES): Add `po/*.mo'.
961 (LINGUAS): New variable.
962 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
963 (install-local): Install MO files.
964 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
965 * include/grub/i18n.h: New file.
3bc7896c
RM
966 * po/POTFILES: New file.
967 * po/ca.po: New file.
769ae37b
RM
968 * util/grub.d/10_linux.in (bindir): New variable.
969 Add gettext initialization.
970 (linux_entry): Make menuentry output translatable.
971 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
972 (usage): Make --help output translatable.
973 (main): Initialize gettext.
974
02c0a6ad
RM
9752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
976
977 * import_gcry.py: New file (written by Vladimir with minor
978 adjustments).
979 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
980 ciphers.
981 * INSTALL: Document that Python is required for bootstrap.
982
9832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
984
985 Import ciphers from libgcrypt 1.4.4.
986
987 * lib/libgcrypt/cipher/ChangeLog
988 * lib/libgcrypt/cipher/ac.c
989 * lib/libgcrypt/cipher/arcfour.c
990 * lib/libgcrypt/cipher/bithelp.h
991 * lib/libgcrypt/cipher/blowfish.c
992 * lib/libgcrypt/cipher/camellia-glue.c
993 * lib/libgcrypt/cipher/camellia.c
994 * lib/libgcrypt/cipher/camellia.h
995 * lib/libgcrypt/cipher/cast5.c
996 * lib/libgcrypt/cipher/cipher.c
997 * lib/libgcrypt/cipher/crc.c
998 * lib/libgcrypt/cipher/des.c
999 * lib/libgcrypt/cipher/dsa.c
1000 * lib/libgcrypt/cipher/ecc.c
1001 * lib/libgcrypt/cipher/elgamal.c
1002 * lib/libgcrypt/cipher/hash-common.c
1003 * lib/libgcrypt/cipher/hash-common.h
1004 * lib/libgcrypt/cipher/hmac-tests.c
1005 * lib/libgcrypt/cipher/md.c
1006 * lib/libgcrypt/cipher/md4.c
1007 * lib/libgcrypt/cipher/md5.c
1008 * lib/libgcrypt/cipher/primegen.c
1009 * lib/libgcrypt/cipher/pubkey.c
1010 * lib/libgcrypt/cipher/rfc2268.c
1011 * lib/libgcrypt/cipher/rijndael-tables.h
1012 * lib/libgcrypt/cipher/rijndael.c
1013 * lib/libgcrypt/cipher/rmd.h
1014 * lib/libgcrypt/cipher/rmd160.c
1015 * lib/libgcrypt/cipher/rsa.c
1016 * lib/libgcrypt/cipher/seed.c
1017 * lib/libgcrypt/cipher/serpent.c
1018 * lib/libgcrypt/cipher/sha1.c
1019 * lib/libgcrypt/cipher/sha256.c
1020 * lib/libgcrypt/cipher/sha512.c
1021 * lib/libgcrypt/cipher/tiger.c
1022 * lib/libgcrypt/cipher/twofish.c
1023 * lib/libgcrypt/cipher/whirlpool.c
1024
af2f93ac
RM
10252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1026
1027 Fix build for systems without error().
1028
1029 * gnulib/error.c: New file (imported from Gnulib).
1030 * gnulib/error.h: Likewise.
1031 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
1032 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
1033 (this variable is now used by error()).
1034
73fb3dd5
FZ
10352009-11-16 Felix Zielcke <fzielcke@z-51.de>
1036
814f5e96
FZ
1037 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
1038 instead of relying that char is signed.
73fb3dd5 1039
a691ca33
VS
10402009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
1043 blocksize different from specified.
1044 (grub_pxefs_read): Likewise.
1045
2af8f0f4
FZ
10462009-11-16 Felix Zielcke <fzielcke@z-51.de>
1047
1048 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
1049
1050 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
1051 (grub_ata_readwrite): Likewise. Update 2 format strings.
1052 (grub_atapi_read): Likewise.
1053
1054 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
1055 * conf/i386.rmk (pkglib_MODULES): ... to here ...
1056 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
1057 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
1058 (ata_mod_LDFLAGS): Move from here ...
1059 * conf/i386.rmk: ... to here ...
1060 * conf/x86_64-efi.rmk: ... and here.
1061 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
1062 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
1063
83bdecaf
RM
10642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
1065
1066 Relicense multiboot.h, with RMS' blessing.
1067
1068 * include/multiboot.h: Change to X11 license.
1069
fd6fd3d7
RM
10702009-11-15 Robert Millan <rmh.grub@aybabtu.com>
1071
1072 Support --version in grub-mkisofs.
1073
1074 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
1075 (OPTION_VERSION): New macro.
1076 (ld_options): Recognize --version.
1077 (usage): Move `program_name' from here ...
1078 (program_name): ... to here. Add `static' qualifier.
1079 (main): Recognize `OPTION_VERSION'.
1080
16a88c49
FZ
10812009-11-15 Felix Zielcke <fzielcke@z-51.de>
1082
1083 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
1084 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
1085
a4158476
RM
10862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1087
1088 Fix help2man generation for mkisofs.
1089
1090 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
1091 (usage): Send output to stdout (rather than stderr).
1092
fc2208b0
RM
10932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
1094
1095 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
1096 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1097 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
1098 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
1099 (bin_SCRIPTS): Add `grub-mkfloppy'.
1100 (grub_mkfloppy_SOURCES): New variable.
1101
1102 * util/grub-mkrescue.in: New file.
1103 * util/i386/pc/grub-mkfloppy.in: New file.
1104
1105 * util/i386/coreboot/grub-mkrescue.in: Remove.
1106 * util/i386/pc/grub-mkrescue.in: Remove.
1107
8d0edf4a
RM
11082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1109
1110 * include/grub/multiboot.h (struct grub_multiboot_header): Move
1111 from here ...
1112 * include/multiboot.h (struct multiboot_header): ... to here. Update
1113 all users.
1114 * include/grub/multiboot.h (struct grub_multiboot_info): Move
1115 from here ...
1116 * include/multiboot.h (struct multiboot_info): ... to here. Update
1117 all users.
1118 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
1119 from here ...
1120 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
1121 Update all users.
1122 * include/grub/multiboot.h (struct grub_mod_list): Move
1123 from here ...
1124 * include/multiboot.h (struct multiboot_mod_list): ... to here.
1125 Update all users.
1126
a73f5969
RM
11272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1128
1129 * include/multiboot2.h (multiboot_word): Rename from this ...
1130 (multiboot2_word): ... to this. Update all users.
1131 (multiboot_header): Rename from this ...
1132 (multiboot2_header): ... to this. Update all users.
1133 (multiboot_tag_header): Rename from this ...
1134 (multiboot2_tag_header): ... to this. Update all users.
1135 (multiboot_tag_start): Rename from this ...
1136 (multiboot2_tag_start): ... to this. Update all users.
1137 (multiboot_tag_name): Rename from this ...
1138 (multiboot2_tag_name): ... to this. Update all users.
1139 (multiboot_tag_module): Rename from this ...
1140 (multiboot2_tag_module): ... to this. Update all users.
1141 (multiboot_tag_memory): Rename from this ...
1142 (multiboot2_tag_memory): ... to this. Update all users.
1143 (multiboot_tag_unused): Rename from this ...
1144 (multiboot2_tag_unused): ... to this. Update all users.
1145 (multiboot_tag_end): Rename from this ...
1146 (multiboot2_tag_end): ... to this. Update all users.
1147
1c8927f0
RM
11482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
1149
1150 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
1151 this platform we should support Multiboot1 first.
1152
1153 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
1154 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
1155 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
1156
6e1e0d89
RM
11572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
1158
1159 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
1160 of write calls (converting them to fwrite() if they aren't already).
1161 (get_torito_desc): Likewise.
1162 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
1163
7f2b34d8
RM
11642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
1165
1166 * util/i386/pc/grub-install.in: Move from here ...
1167 * util/grub-install.in: ... to here. Update all users.
1168
c0ef3311
CW
11692009-11-11 Colin Watson <cjwatson@ubuntu.com>
1170
1171 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
1172
e1f240ff
RM
11732009-11-11 Robert Millan <rmh.grub@aybabtu.com>
1174
1175 Support for El Torito without floppy emulation.
1176
1177 * util/mkisofs/eltorito.c: Include `<errno.h>'.
1178 (init_boot_catalog): Improve error handling.
1179 (get_torito_desc): Don't use floppy emulation unless requested by
1180 user. Patch boot information table when requested via
1181 `-boot-info-table'.
1182 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
1183 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
1184 (use_boot_info_table): New variables.
1185 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
1186 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
1187 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
1188 `--eltorito-emul-floppy'.
1189 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
1190 and `OPTION_ELTORITO_EMUL_FLOPPY'.
1191 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
1192 (use_boot_info_table, get_731): New prototypes.
1193 * util/mkisofs/write.c (get_731): New function.
1194
af7d4de5
FZ
11952009-11-11 Felix Zielcke <fzielcke@z-51.de>
1196
1197 Fix the generation of the man page.
1198
1199 * util/pc/i386/grub-install.in: Source
1200 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
1201
2c55dbc0
RM
12022009-11-11 Robert Millan <rmh.grub@aybabtu.com>
1203
1204 Large file support for grub-mkisofs.
1205
1206 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
1207 * util/mkisofs/mkisofs.c (next_extent, last_extent)
1208 (session_start): Upgrade type to `uint64_t'. Update all users.
1209 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
1210 (struct directory_entry): Upgrade type of `starting_block' and
1211 `size' to `uint64_t'. Update all users.
1212 (struct deferred): Remove unused structure.
1213 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
1214 Update all users.
1215 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
1216 file is larger than `UINT32_MAX'.
1217 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
1218 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
1219 return value.
1220 (struct deferred_write): Upgrade type of `extent' and `size' to
1221 `uint64_t'. Update all users.
1222 (last_extent_written): Upgrade type to `uint64_t'. Update all
1223 users.
1224 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
1225 Update all users. Upgrade type of `remain' to `int64_t' and
1226 `use' to `size_t'. Use error() to handle fread() errors.
1227 (write_files): Rely on write_one_file() rather than calling
1228 xfwrite() directly.
1229
6a9cead5
FZ
12302009-11-09 Felix Zielcke <fzielcke@z-51.de>
1231
1232 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
1233
4825d790
RM
12342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1235
1236 * util/mkisofs/fnmatch.c: Remove.
1237 * util/mkisofs/getopt1.c: Likewise.
1238 * util/mkisofs/getopt.c: Likewise.
1239 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
1240 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
1241 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
1242 `gnulib/getopt1.c' and `gnulib/getopt.c'.
1243 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
1244
1245 * configure.ac: Detect `mingw32msvc' host_os.
1246 Check for lstat(), getuid() and getgid().
1247
1248 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
1249 instances of `u_char' with `uint8_t'.
1250
1251 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
1252 [!HAVE_GETUID] (getuid): New function (stub).
1253 [!HAVE_GETGID] (getgid): Likewise.
1254 [!HAVE_LSTAT] (lstat): Likewise.
1255 [!S_IROTH] (S_IROTH): New macro (dummy).
1256 [!S_IRGRP] (S_IRGRP): Likewise.
1257
84b860d8
RM
12582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1259
1260 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
1261 conditional expression).
1262
66e9b712
RM
12632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1264
1265 Import from Gnulib.
1266
1267 * gnulib/fnmatch.c: New file.
1268 * gnulib/fnmatch.h: Likewise.
1269 * gnulib/fnmatch_loop.c: Likewise.
1270 * gnulib/getopt.c: Likewise.
1271 * gnulib/getopt.h: Likewise.
1272 * gnulib/getopt1.c: Likewise.
1273 * gnulib/getopt_int.h: Likewise.
1274 * gnulib/gettext.h: Likewise.
1275
34f4a5b0
RM
12762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1277
1278 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
1279 * normal/handler.c (read_handler_list): Likewise.
1280
ac451143
RM
12812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1282
1283 Misc cleanup.
1284
1285 * kern/command.c (grub_register_command_prio): Use
1286 grub_zalloc() instead of explicitly zeroing data.
1287 * kern/list.c: Include `<grub/mm.h>'.
1288 (grub_named_list_find): Replace `0' with `NULL'.
1289 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
1290 (fs_module_list): Change type to `grub_named_list_t'. Update all
1291 users.
1292 * normal/dyncmd.c (read_command_list): Add space between function
1293 call and parenthesis.
1294 * normal/handler.c (read_handler_list): Likewise.
1295
4089b167
RM
12962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1297
1298 * normal/auth.c (punishment_delay): Moved from here ...
1299 (grub_auth_strcmp): ... to here (inside function).
1300
325f5037
RM
13012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1302
1303 * include/grub/list.h (struct grub_named_list): Remove `const'
1304 qualifier from `name'.
1305 (struct grub_prio_list): Likewise.
1306
7aea29a3
RM
13072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1308
1309 * normal/auth.c: Include `<grub/time.h>'.
1310 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
1311
3fd6f044
RM
13122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1313
1314 * normal/auth.c (punishment_delay): New variable.
1315 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
1316 (grub_auth_check_authentication): Punish failed login attempts with
1317 an incremental (2^N) delay.
1318
a4cd68e4
RM
13192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1320
1321 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
1322 path with $(srcdir).
1323
7ad12f43
VS
13242009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
1327
c1129f03
RM
13282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
1329
1330 * util/i386/coreboot/grub-mkrescue.in: New file.
1331 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
1332 variables.
1333
1334 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
1335 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
1336 * configure.ac: Add header and function checks to satisfy grub-mkisofs
1337 requirements.
1338 * util/mkisofs/defaults.h: New file.
1339 * util/mkisofs/eltorito.c: Likewise.
1340 * util/mkisofs/exclude.h: Likewise.
1341 * util/mkisofs/fnmatch.c: Likewise.
1342 * util/mkisofs/getopt.c: Likewise.
1343 * util/mkisofs/getopt1.c: Likewise.
1344 * util/mkisofs/hash.c: Likewise.
1345 * util/mkisofs/include/fctldefs.h: Likewise.
1346 * util/mkisofs/include/mconfig.h: Likewise.
1347 * util/mkisofs/include/prototyp.h: Likewise.
1348 * util/mkisofs/include/statdefs.h: Likewise.
1349 * util/mkisofs/iso9660.h: Likewise.
1350 * util/mkisofs/joliet.c: Likewise.
1351 * util/mkisofs/match.c: Likewise.
1352 * util/mkisofs/match.h: Likewise.
1353 * util/mkisofs/mkisofs.c: Likewise.
1354 * util/mkisofs/mkisofs.h: Likewise.
1355 * util/mkisofs/multi.c: Likewise.
1356 * util/mkisofs/name.c: Likewise.
1357 * util/mkisofs/rock.c: Likewise.
1358 * util/mkisofs/tree.c: Likewise.
1359 * util/mkisofs/write.c: Likewise.
1360
ec8bb77d
VS
13612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
1364 being insecure.
1365
3716b12c
RM
13662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1367
1368 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
1369 `grub-mkimage' (and use $0 when possible).
1370
b97b7b91
RM
13712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1372
1373 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
1374 error message for excessively large memory map.
1375
04114812
RM
13762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1377
1378 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
1379 executable bit.
1380
e4eb2373
RM
13812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
1382
1383 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
1384 message for coreboot users.
1385
c926e1d5 13862009-11-07 Robert Millan <rmh.grub@aybabtu.com>
1387
1388 Fix build with GNU gold.
1389
1390 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
1391 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
1392 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
1393 link addresses.
1394 * aclocal.m4: Likewise.
1395
86e5b1db 13962009-11-04 Felix Zielcke <fzielcke@z-51.de>
1397
1398 * configure.ac (AC_PREREQ): Bump to 2.59d.
1399 * INSTALL: Make it more clear when Autoconf and Ruby are
1400 needed and when to run `./autogen.sh'.
1401
246cd78f 14022009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1403
1404 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
1405 OSes.
1406
4f9dfb37 14072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1408
1409 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
1410
b82bd5e1 14112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1412
1413 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
1414 giving it to GNU Mach.
1415
ff1a9bca 14162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1417
1418 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
1419 GNU partition number to get internal GRUB partition number.
1420
61697d9c 14212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
1422
1423 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
1424 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
1425
a50569e1 14262009-11-01 Robert Millan <rmh.grub@aybabtu.com>
1427
1428 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
1429 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
1430 case.
1431
5b153867 14322009-11-01 Felix Zielcke <fzielcke@z-51.de>
1433
1434 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
1435
d9e2cd70 14362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1437
1438 Fix build problem.
1439
1440 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
1441 `-isystem=$(srcdir)/include'.
1442
805111a4 14432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
1444
1445 * util/i386/pc/grub-install.in: Remove hint that device.map should be
1446 checked (grub-install doesn't currently rely on it).
1447
fa6e945f 14482009-10-29 Robert Millan <rmh.grub@aybabtu.com>
1449
1450 Revert SVN r2660.
1451
1452 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
1453 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1454 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
1455 * conf/i386-ieee1275.rmk: Likewise.
1456 * conf/i386-pc.rmk: Likewise.
1457 * conf/powerpc-ieee1275.rmk: Likewise.
1458 * conf/sparc64-ieee1275.rmk: Likewise.
1459 * conf/x86_64-efi.rmk: Likewise.
1460
cee15086 14612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1462
1463 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
1464
95b9239e 14652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1466
1467 * include/grub/misc.h: Stop checking for APPLE_CC.
1468
2ed19dfd 14692009-10-28 Robert Millan <rmh.grub@aybabtu.com>
1470
1471 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
1472 doesn't cause an infinite call loop.
1473
fdcdde19 14742009-10-28 Felix Zielcke <fzielcke@z-51.de>
1475
1476 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
1477 strings.
1478
cefabfe1 14792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1480
1481 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
1482 variable.
1483 * Makefile.in: Likewise.
1484
ed96ab6d 14852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1486
1487 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
1488
0579b753 14892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1490
1491 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
1492
478df409 14932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1494
1495 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
1496
083d1679 14972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1498
1499 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
1500 from here ...
1501 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
1502
5947ae32 15032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1504
1505 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
1506 in $(MAKEINFO) invocation. This makes it clear in output that
1507 errors are being ignored.
1508
94180ff6 15092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1510
1511 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
1512 from here ...
1513 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1514 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
1515 * conf/i386-ieee1275.rmk: Likewise.
1516 * conf/i386-pc.rmk: Likewise.
1517 * conf/powerpc-ieee1275.rmk: Likewise.
1518 * conf/sparc64-ieee1275.rmk: Likewise.
1519 * conf/x86_64-efi.rmk: Likewise.
1520
9031b03a 15212009-10-26 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * util/grub-editenv.c (main): If only a command is given, use
1524 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
1525 (usage): FILENAME is now optional and has a default.
1526
e4f6809b 15272009-10-26 Colin Watson <cjwatson@ubuntu.com>
1528
1529 Improve grub-mkconfig performance when there are several menu
1530 entries on a single filesystem.
1531
1532 * util/grub.d/10_linux.in (linux_entry): Cache the output of
1533 prepare_grub_to_access_device.
1534 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1535 * util/grub.d/30_os-prober.in: Likewise.
1536
67937d4d 15372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1538
1539 * util/grub.d/10_freebsd.in: Remove.
1540 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
1541 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
1542
ee3756cc 15432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1544
5c35048e 1545 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 1546
4dea1c6f 15472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1548
1549 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
1550 grub_util_error() call.
1551
042484d7 15522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1553
1554 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
1555 `reserved_first_sector' member.
1556 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
1557 `reserved_first_sector' to 1.
1558 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
1559 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
1560 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
1561 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
1562 filesystems which begin at first sector.
1563 (options): New option --skip-fs-probe.
1564 (main): Handle --skip-fs-probe and pass it to setup().
1565
d64448a7 15662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1567
1568 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
1569 (memset): Fix function prototype.
1570
508d42ec 15712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
15722009-10-25 Vasily Averin <vvs@parallels.com>
1573
1574 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
1575 `dirent.direntlen == 0'.
1576
b240e30c 15772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1578
1579 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
1580 `cpio'.
1581 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
1582
346e7fbe 15832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1584
1585 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
1586 `__trampoline_setup' and `__ucmpdi2'.
1587 * include/grub/powerpc/libgcc.h: Only export symbols for functions
1588 that libgcc provides.
1589
cdb308b0 15902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1591
1592 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
1593 * include/grub/sparc64/libgcc.h (memset): Likewise.
1594 * include/grub/misc.h (memset, memcmp): New function prototypes.
1595
fb26abc2 15962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1597
1598 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
1599 `cpio'.
1600 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
1601
f6693890 16022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1603
1604 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
1605 * docs/grub.cfg: Compensate for recent change in multiboot
1606 loader (since 2009-08-14 it won't pass filename to payload).
1607 * util/grub.d/10_hurd.in: Likewise.
1608
0933cdc0 16092009-10-21 Felix Zielcke <fzielcke@z-51.de>
1610
1611 * config.guess: Update to latest version from config git
1612 repository.
1613 * config.sub: Likewise.
1614
3b2fe8c2 16152009-10-20 Robert Millan <rmh.grub@aybabtu.com>
1616
1617 Fix build on sparc64.
1618
1619 * configure.ac: Perform checks for libgcc symbols before
1620 adding `-nostdlib' to LDFLAGS.
1621
46695a62 16222009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 Let user specify OpenBSD root device.
1625
1626 * loader/i386/bsd.c (openbsd_root): New variable.
1627 (openbsd_opts): New option 'root'.
1628 (OPENBSD_ROOT_ARG): New macro.
1629 (grub_openbsd_boot): Use 'openbsd_root'.
1630 (grub_cmd_openbsd): Fill 'openbsd_root'.
1631
d2b6b7fc 16322009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1633
1634 * NEWS: Misc adjustments.
1635
421bd7ac 16362009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
1639
f1d29d87 16402009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1641
1642 * configure.ac: Bump version to 1.97.
1643
6f3cd880 16442009-10-16 Colin Watson <cjwatson@ubuntu.com>
1645
1646 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
1647 -mno-3dnow on x86 architectures. Some toolchains enable these
1648 features by default, but they rely on registers that aren't enabled
1649 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
1650
035f7122 16512009-10-15 Robert Millan <rmh.grub@aybabtu.com>
1652
1653 Make entry text a bit more readable.
1654
1655 * util/grub.d/10_linux.in: Add `with' before `Linux'.
1656
44998e58 16572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
1660
cd2851b3 16612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
1664 operations.
1665
c6f3b249 16662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * configure.ac: Add missing dollar.
1669
6b5886ba 16702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
1673
1674 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
1675 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
1676 exports.
1677 * include/grub/sparc64/libgcc.h: Likewise. Use
1678 preprocessor conditionals.
1679
e9d66f6d 16802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1681
1682 * conf/common.rmk (grub-dumpbios): Remove rule.
1683 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
1684 * util/grub-dumpbios.in: Remove file.
1685
9155bc17 16862009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1687
1688 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
1689 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
1690
1691 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
1692 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
1693 users.
1694
1695 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
1696 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
1697 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
1698 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
1699 users.
1700
bf7f7a18 17012009-10-12 Robert Millan <rmh.grub@aybabtu.com>
1702
1703 * term/tparm.c: Switch to GPLv3.
1704
86564c26 17052009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1706
1707 * include/grub/i386/cpuid.h: Add header protection.
1708
5c936493 17092009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1710
1711 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
1712
1713 * include/grub/i386/cpuid.h: New file.
1714 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
1715 (has_longmode): Rename to ...
1716 (grub_cpuid_has_longmode): ... this. Update all users. Remove
1717 `static' attribute.
1718 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
1719 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
1720 on a CPU that doesn't implement AMD64 instruction set.
1721
186e7cf2 17222009-10-06 Colin Watson <cjwatson@ubuntu.com>
1723
1724 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
1725 that version.texi is rebuilt on version number changes.
1726
83b65c4a 17272009-10-06 Colin Watson <cjwatson@ubuntu.com>
1728
1729 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
1730 Fixes bug #27602.
1731
d244281c 17322009-10-06 Colin Watson <cjwatson@ubuntu.com>
1733
1734 * util/i386/pc/grub-install.in: Source
1735 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
1736 that the --grub-probe option will work.
1737 * util/sparc64/ieee1275/grub-install.in: Likewise.
1738
da25306d 17392009-10-05 Robert Millan <rmh.grub@aybabtu.com>
1740
1741 * configure.ac: Bump version to 1.97~beta4.
1742
e8ee83c0 17432009-10-03 Robert Millan <rmh.grub@aybabtu.com>
1744
1745 Resync grub-mkdevicemap in x86_64-efi.
1746
1747 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
1748 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
1749 `util/devicemap.c'.
1750
50dcabcf 17512009-10-01 Colin Watson <cjwatson@ubuntu.com>
1752
1753 * util/grub-editenv.c (create_envblk_file): Write new block with a
1754 .new suffix and then rename it into place, to ensure atomic
1755 creation.
1756
0e51c3a7 17572009-09-28 Robert Millan <rmh.grub@aybabtu.com>
1758
1759 Do not automatically install headers.
1760
1761 * Makefile.in (include_DATA): Remove. Update all users.
1762
31299a95 17632009-09-26 Robert Millan <rmh.grub@aybabtu.com>
1764
1765 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
1766 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
1767
1768 * util/osdetect.lua: Remove.
1769 * script/lua/lauxlib.c: Likewise.
1770 * script/lua/ldebug.c: Likewise.
1771 * script/lua/grub_main.c: Likewise.
1772 * script/lua/lauxlib.h: Likewise.
1773 * script/lua/ldebug.h: Likewise.
1774 * script/lua/ltablib.c: Likewise.
1775 * script/lua/liolib.c: Likewise.
1776 * script/lua/lstrlib.c: Likewise.
1777 * script/lua/lualib.h: Likewise.
1778 * script/lua/ldo.c: Likewise.
1779 * script/lua/ldump.c: Likewise.
1780 * script/lua/ldo.h: Likewise.
1781 * script/lua/loslib.c: Likewise.
1782 * script/lua/lundump.c: Likewise.
1783 * script/lua/grub_lib.c: Likewise.
1784 * script/lua/ldblib.c: Likewise.
1785 * script/lua/lundump.h: Likewise.
1786 * script/lua/lmem.c: Likewise.
1787 * script/lua/grub_lib.h: Likewise.
1788 * script/lua/lmathlib.c: Likewise.
1789 * script/lua/lstate.c: Likewise.
1790 * script/lua/ltm.c: Likewise.
1791 * script/lua/lvm.c: Likewise.
1792 * script/lua/lmem.h: Likewise.
1793 * script/lua/lstate.h: Likewise.
1794 * script/lua/ltm.h: Likewise.
1795 * script/lua/ltable.c: Likewise.
1796 * script/lua/lvm.h: Likewise.
1797 * script/lua/llex.c: Likewise.
1798 * script/lua/lgc.c: Likewise.
1799 * script/lua/grub_lua.h: Likewise.
1800 * script/lua/loadlib.c: Likewise.
1801 * script/lua/lfunc.c: Likewise.
1802 * script/lua/lopcodes.c: Likewise.
1803 * script/lua/lparser.c: Likewise.
1804 * script/lua/ltable.h: Likewise.
1805 * script/lua/llex.h: Likewise.
1806 * script/lua/lgc.h: Likewise.
1807 * script/lua/lfunc.h: Likewise.
1808 * script/lua/lbaselib.c: Likewise.
1809 * script/lua/lopcodes.h: Likewise.
1810 * script/lua/lparser.h: Likewise.
1811 * script/lua/lzio.c: Likewise.
1812 * script/lua/linit.c: Likewise.
1813 * script/lua/lobject.c: Likewise.
1814 * script/lua/llimits.h: Likewise.
1815 * script/lua/lstring.c: Likewise.
1816 * script/lua/lzio.h: Likewise.
1817 * script/lua/lapi.c: Likewise.
1818 * script/lua/lcode.c: Likewise.
1819 * script/lua/lua.h: Likewise.
1820 * script/lua/lobject.h: Likewise.
1821 * script/lua/lstring.h: Likewise.
1822 * script/lua/lapi.h: Likewise.
1823 * script/lua/lcode.h: Likewise.
1824 * script/lua/luaconf.h: Likewise.
1825
cb8a2c38 18262009-09-26 Colin Watson <cjwatson@ubuntu.com>
1827
1828 * docs/grub.texi (Command-line and menu entry commands): Document
1829 date and echo commands.
1830
6b9b6276 18312009-09-24 Pavel Roskin <proski@gnu.org>
1832
1833 * include/grub/kernel.h (struct grub_module_header): Remove
1834 `grub_module_header_types'. Make `type' unsigned. Make `size'
1835 32-bit on all platforms.
1836 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
1837 8-bit field. Use grub_host_to_target32() for `size'.
1838 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
1839 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
1840 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
1841
4e5a02a7 18422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1843
1844 Fix "lost keypress" bug in at_keyboard.
1845
1846 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
1847 Checks for readyness of input buffer (without flushing it).
1848 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
1849 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
1850
c6dcedf6 18512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1852
1853 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
1854 size check within GRUB_MACHINE_PCBIOS section.
1855
74c958b1 18562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1857
1858 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
1859 return value.
1860 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
1861 KEYBOARD_ISREADY check.
1862 (grub_at_keyboard_checkkey): Rename to ...
1863 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
1864 Remove gratuitous cast.
1865
ff420223 18662009-09-23 Colin Watson <cjwatson@ubuntu.com>
1867
1868 * configure.ac: Call AC_PROG_MKDIR_P.
1869 * Makefile.in (docs/stamp-vti): Create docs directory. Create
1870 version.texi in $(builddir) rather than $(srcdir).
1871 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
1872 to makeinfo's @include search path.
1873
d96875df 18742009-09-23 Felix Zielcke <fzielcke@z-51.de>
1875
1876 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
1877
9b3f8365 18782009-09-23 Felix Zielcke <fzielcke@z-51.de>
1879
1880 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
1881 for `*.dpkg-new'.
1882
c44c90db 18832009-09-21 Colin Watson <cjwatson@ubuntu.com>
1884
1885 Build info documentation. Some code borrowed from Automake.
1886
1887 * configure.ac: Check for makeinfo.
1888 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
1889 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
1890 docs/version.texi.
1891 (MOSTLYCLEANFILES): Add vti.tmp.
1892 (docs/version.texi, docs/stamp-vti): Update automatically.
1893 (docs/grub.info): Build info documentation. Use --force and ignore
1894 errors for now.
1895 (all-local): Add $(INFOS).
1896 (install-local): Install info files.
1897 (uninstall): Uninstall info files.
1898 * docs/version.texi: Remove from revision control. This file is
1899 automatically generated on build now.
1900 * gendistlist.sh: Add `*.info'.
1901
e0b37bb5 19022009-09-21 Felix Zielcke <fzielcke@z-51.de>
1903
1904 * kern/term.c: Fix indentation.
1905
5a78865b 19062009-09-21 Felix Zielcke <fzielcke@z-51.de>
1907
1908 * util/hostdisk.c: Fix a comment.
1909
dace7e8a 19102009-09-20 Robert Millan <rmh.grub@aybabtu.com>
1911
1912 Fix regression introduced in r2539.
1913
1914 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
1915 to 0xA1.
1916
a83d079b 19172009-09-19 Colin Watson <cjwatson@ubuntu.com>
1918
1919 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 1920 os-prober. Under normal operation, it does not print anything to
1921 stderr; if it does, we need to debug it, and throwing away stderr
1922 makes that excessively difficult.
a83d079b 1923
be94a509 19242009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
1927
63f745e8 19282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1929
1930 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
1931 AC_LANG_PROGRAM from autoconf.
1932 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
1933 prototypes (fixes warning).
1934
1935 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
1936 `--disable-werror' was used.
1937
bbb2a70f 19382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1939
1940 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
1941 uninitialized `lastaddr'.
1942
77c24f1d 19432009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1944
0f0b8c87 1945 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 1946
07197f23 19472009-09-14 Colin Watson <cjwatson@ubuntu.com>
1948
1949 * commands/test.c (get_fileinfo): Return immediately if
1950 grub_fs_probe fails.
1951
dabf1798 19522009-09-14 José Martínez <xosemp@gmail.com>
1953
1954 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
1955
d52109a7 19562009-09-14 Colin Watson <cjwatson@ubuntu.com>
1957
1958 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
1959 output.
1960
56532179 19612009-09-13 Robert Millan <rmh.grub@aybabtu.com>
1962
1963 * configure.ac: Remove --enable-grub-pe2elf. Only build
1964 grub-pe2elf when needed by the build system itself.
1965 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
1966
8ef070f5 19672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1968
1969 * configure.ac: Bump version to 1.97~beta3.
1970 * docs/version.texi: Likewise.
1971
61229557 19722009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1973
1974 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
1975 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
1976 from here ...
1977 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
1978 (grub_linux_setup_video): ... to here (with some adjustments).
1979
5c9f8d84 19802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1981
1982 Fix memory corruption issue (spotted by Colin Watson).
1983
1984 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
1985 causing returned size to be stored in an incorrect memory location.
1986 Fix use of uninitialized value when storing the returned size.
1987
e8f5d6e9 19882009-09-12 Yves Blusseau <blusseau@zetam.org>
1989
1990 Change clean rules to properly remove files
1991
1992 * genmk.rb: add new clean rules
1993 * Makefile.in (clean): add the new targets
1994 (mostlyclean): likewise
1995
cda2a409 19962009-09-11 Colin Watson <cjwatson@ubuntu.com>
1997
1998 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
1999 to grub_uint64_t.
2000 * fs/ntfs.c (init_file): Understand 64-bit sizes for
2001 non-resident files.
2002
86695375 20032009-09-11 Colin Watson <cjwatson@ubuntu.com>
2004
2005 * configure.ac: Don't look for help2man when cross-compiling. Fixes
2006 part of bug #27349.
2007
8aa1541a 20082009-09-10 Felix Zielcke <fzielcke@z-51.de>
2009
2010 * util/grub-mkconfig.in: Make the created config mode 400 and
2011 print a warning if it fails.
2012
48d9bb0a 20132009-09-10 Robert Millan <rmh.grub@aybabtu.com>
2014
2015 * util/grub.d/40_custom.in: Ask user to type custom entries below
2016 comment, rather than below 'exec tail' line.
2017
3b0521be 20182009-09-10 Colin Watson <cjwatson@ubuntu.com>
2019
2020 * util/grub.d/40_custom.in: Make sure that the explanatory text is
2021 visible in grub.cfg.
2022
50051d55 20232009-09-10 Colin Watson <cjwatson@ubuntu.com>
2024
2025 * util/grub.d/40_custom.in: Make it a little clearer how to use this
2026 file.
2027
c0d34387 20282009-09-10 Felix Zielcke <fzielcke@z-51.de>
2029
2030 * docs/grub.cfg: Add an example menu entry for memtest86+.
2031
80a608f3 20322009-09-09 Felix Zielcke <fzielcke@z-51.de>
2033
a2094832 2034 * config.guess: Update to latest version from config git.
80a608f3 2035 * config.sub: Likewise.
2036
99423078 20372009-09-08 Colin Watson <cjwatson@ubuntu.com>
2038
2039 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
2040 unknown-command case. Fixes bug #27320.
2041
44454e4c 20422009-09-08 Felix Zielcke <fzielcke@z-51.de>
2043
2044 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
2045 `help' if the command exists.
2046
e30d87ad 20472009-09-06 Robert Millan <rmh.grub@aybabtu.com>
2048
2049 * INSTALL: Require GCC 4.1.3 or later.
2050
9a86f1ec 20512009-09-06 Yves Blusseau <blusseau@zetam.org>
2052
2053 * Makefile.in (RMKFILES): add i386-qemu.rmk
2054 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
2055 $(srcdir)/stamp-h.in
2056
7f26d466 20572009-09-05 Robert Millan <rmh.grub@aybabtu.com>
2058
2059 * util/grub-probe.c (probe): Comment out buggy codepath, which
2060 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
2061 should be re-enabled after 1.97.
2062
3a613259 20632009-09-05 Felix Zielcke <fzielcke@z-51.de>
2064
2065 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
2066 find searches for.
2067
197f76c7 20682009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
2071 unnecessary calls to grub_error.
2072
70ba68ce 20732009-09-04 Colin Watson <cjwatson@ubuntu.com>
2074
2075 * NEWS: Mention `keystatus' and Unicode fonts.
2076
4ff0d7a4 20772009-09-04 Robert Millan <rmh.grub@aybabtu.com>
2078
2079 * configure.ac: Bump version to 1.97~beta2.
2080 * docs/version.texi: Likewise.
2081
77c55a87 20822009-09-03 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
2085 containing unwind information in some cases where it previously did
2086 not. Use -fno-dwarf2-cfi-asm if available to restore the old
2087 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
2088 discussion.
2089
f79572cd 20902009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
2091
2092 Embedding loadenv module into grub-emu
2093
2094 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
2095 commands/loadenv.c
2096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
2097 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
2098 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
2099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
2100 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
2101 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
2102
93a81088 21032009-09-03 Magnus Granberg <zorry@ume.nu>
2104
2105 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
2106 include -fPIE in the default specs.
2107 * configure.ac: Check if pie_possible is yes and add -fno-PIE
2108 to TARGET_CFLAGS.
2109
160034b2 21102009-09-03 Felix Zielcke <fzielcke@z-51.de>
2111
2112 * INSTALL: Note that GNU Bison 2.3 or later is required.
2113
087c07c4 21142009-09-03 Colin Watson <cjwatson@ubuntu.com>
2115
2116 * kern/i386/pc/startup.S: Fix typo.
2117
cbf978c0 21182009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
2121 according to GCS.
2122
21232009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 2124
2125 * docs/grub.texi (Naming convention): Describe one-based partition
2126 numbering.
2127 (Device syntax): Likewise.
2128 (File name syntax): Likewise.
2129 (Block list syntax): Likewise.
2130 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
2131 menu.lst.
2132 (File name syntax): Likewise.
2133 (Command-line and menu entry commands): Document acpi, blocklist,
2134 crc, export, insmod, keystatus, ls, set, and unset commands.
2135
f3e8cdfd 21362009-09-02 Colin Watson <cjwatson@ubuntu.com>
2137
2138 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
2139 to avoid implying that only one of --shift, --ctrl, or --alt may be
2140 used.
2141
c0bc232b 21422009-09-02 Colin Watson <cjwatson@ubuntu.com>
2143
2144 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
2145 rather than comparing against S_IFREG, which will almost never work.
2146
aa0f752d 21472009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
2150 (write_blocklists): Likewise.
2151
ecb3166a 21522009-09-01 Colin Watson <cjwatson@ubuntu.com>
2153
2154 * script/lua/grub_lua.h (fputs): Supply a format string as the first
2155 argument to grub_printf.
2156
c403a125 21572009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 2158
2159 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 2160 non GNU test.
31aba781 2161
b5e7312c 21622009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * kern/file.c (grub_file_read): Spelling fix
2165
fe00f472 21662009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
2169 loading of headers in some cases.
2170
cc55302e 21712009-08-30 Robert Millan <rmh.grub@aybabtu.com>
2172
2173 * configure.ac: Bump version to 1.97~beta1.
2174 * docs/version.texi: Likewise.
2175
5c90cdd2 21762009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 2177
2178 * include/grub/i386/xnu.h: Add license header.
2179 include grub/err.h explicitly.
2180
c90edae4 21812009-08-29 Robert Millan <rmh.grub@aybabtu.com>
2182
2183 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
2184 to `ufs' in the vfs.root.mountfrom kernel parameter.
2185
d8888b5c 21862009-08-29 Robert Millan <rmh.grub@aybabtu.com>
2187
2188 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
2189
2190 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
2191 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
2192
2193 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
2194 `ARRAY_SIZE' macro.
2195
6f07b921 21962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * kern/file.c (grub_file_read): Check offset.
2199 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
2200 * fs/jfs.c (grub_jfs_read_file): Likewise.
2201 * fs/ntfs.c (grub_ntfs_read): Likewise.
2202 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
2203 * fs/minix.c (grub_minix_read_file): Correct offset check.
2204 * fs/ufs.c (grub_ufs_read_file): Likewise.
2205
b4f34077 22062009-08-28 Colin Watson <cjwatson@ubuntu.com>
2207
2208 * term/i386/pc/console.c (bios_data_area): Cast
2209 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2210
e7c69859 22112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 1-bit optimised blitters.
2214
2215 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
2216 prototype.
2217 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2218 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2219 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2220 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2221 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2222 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2223 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
2224 function.
2225 (grub_video_fbblit_replace_24bit_1bit): Likewise.
2226 (grub_video_fbblit_replace_16bit_1bit): Likewise.
2227 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2228 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2229 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
2230 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
2231 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
2232 when possible.
2233 * video/video.c (grub_video_get_blit_format): Return
2234 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2235
a57da43f 22362009-08-28 Colin Watson <cjwatson@ubuntu.com>
2237
2238 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
2239 the first argument to grub_printf.
2240
4cbe67e5 22412009-08-28 Colin Watson <cjwatson@ubuntu.com>
22422009-08-28 Robert Millan <rmh.grub@aybabtu.com>
2243
2244 Add `getkeystatus' terminal method. Add a new `keystatus' command
2245 to query it.
2246
2247 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
2248 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
2249 modifier key bitmasks.
2250 (struct grub_term_input): Add `getkeystatus' member.
2251 (grub_getkeystatus): Add prototype.
2252 * kern/term.c (grub_getkeystatus): New function.
2253
2254 * include/grub/i386/pc/memory.h
2255 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
2256 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
2257 Data Area layout.
2258 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
2259 (grub_console_term_input): Set `getkeystatus' member.
2260 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
2261 constants.
2262 (grub_usb_keyboard_getreport): Likewise.
2263 (grub_usb_keyboard_checkkey): Likewise.
2264 (grub_usb_keyboard_getkeystatus): New function.
2265 (grub_usb_keyboard_term): Set `getkeystatus' member.
2266
2267 * commands/keystatus.c: New file.
2268 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
2269 (keystatus_mod_SOURCES): New variable.
2270 (keystatus_mod_CFLAGS): Likewise.
2271 (keystatus_mod_LDFLAGS): Likewise.
2272 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
2273 commands/keystatus.c.
2274 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2275 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2276 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2278 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2279 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 2280
6e2a9085 22812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 Split befs.mod and afs.mod into *_be.mod and *.mod
2284
2285 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
2286 (grub_fstest_SOURCES): Likewise.
2287 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
2288 (afs_be_mod_SOURCES): New variable.
2289 (afs_be_mod_CFLAGS): Likewise.
2290 (afs_be_mod_LDFLAGS): Likewise.
2291 (befs_be_mod_SOURCES): Likewise.
2292 (befs_be_mod_CFLAGS): Likewise.
2293 (befs_be_mod_LDFLAGS): Likewise.
2294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
2295 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2296 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2297 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2298 (grub_emu_SOURCES): Likewise.
2299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2301 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2302 * fs/afs_be.c: New file.
2303 * fs/befs_be.c: New file.
2304 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
2305 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
2306 (U16): Replaced with ...
2307 (grub_afs_to_cpu16): ...this. All users updated.
2308 (U32): Replaced with ...
2309 (grub_afs_to_cpu32): ...this. All users updated.
2310 (U64): Replaced with ...
2311 (grub_afs_to_cpu64): ...this. All users updated.
2312 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
2313 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 2314 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 2315 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2316 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2317 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2318 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2319 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
2320 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
2321 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
2322 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2323
32a71655 23242009-08-26 Bean <bean123ch@gmail.com>
2325
2326 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
2327 64-bit number.
2328 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2329 (grub_xfs_inode_block): Change return type to grub_uint64_t.
2330 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
2331
552bf6c5 23322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 NetBSD memory map support.
2335
2336 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
2337 (grub_netbsd_btinfo_mmap_header): New structure.
2338 (grub_netbsd_btinfo_mmap_entry): Likewise.
2339 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2340
1ae2078c 23412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Enable bsd.mod on coreboot.
2344
2345 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
2346 (bsd_mod_SOURCES): New variable.
2347 (bsd_mod_CFLAGS): Likewise.
2348 (bsd_mod_LDFLAGS): Likewise.
2349 (bsd_mod_ASFLAGS): Likewise.
2350 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
2351 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2352
beefc598 23532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Cleanup NetBSD root support.
2356
2357 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
2358 grub_bsd_get_device.
2359 Fix typo.
2360
3b76e68b 23612009-08-25 Felix Zielcke <fzielcke@z-51.de>
2362
2363 * util/grub.d/00_header.in: Move check for the video backend of
2364 gfxterm from here ...
2365 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
2366 a suitable video backend.
2367
aea664ea 23682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 Fix breakage in grub-setup.
2371
2372 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
2373 "msdos_partition_map".
2374
ff747d50 23752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Fix breakage in normal/auth.c.
2378
2379 * normal/auth.c (grub_iswordseparator): New function.
2380
e7e1f93f 23812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Authentication support.
2384
2385 * commands/password.c: New file.
2386 * conf/common.rmk (pkglib_MODULES): Add password.mod.
2387 (password_mod_SOURCES): New variable.
2388 (password_mod_CFLAGS): Likewise.
2389 (password_mod_LDFLAGS): Likewise.
2390 (normal_mod_SOURCES): Add normal/auth.c.
2391 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
2392 normal/auth.c.
2393 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2395 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2397 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2398 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
2399 * include/grub/auth.h: New file.
2400 * include/grub/err.h (grub_err_t): New enum value
2401 GRUB_ERR_ACCESS_DENIED.
2402 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
2403 'users'.
2404 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
2405 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
2406 users updated.
2407 * normal/auth.c: New file.
2408 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
2409 (grub_cmdline_run): Don't allow to go to command line without
2410 authentication.
2411 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
2412 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
2413 menuentry without superuser rights.
2414 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
2415 user isn't a superuser.
2416
70f1161d 24172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Save space by inlining misc.c functions.
2420
2421 * kern/misc.c (grub_iswordseparator): Made static.
2422 * kern/misc.c (grub_strcat): Moved from here ...
2423 * include/grub/misc.h (grub_strcat): ... here. Inlined.
2424 * kern/misc.c (grub_strncat): Moved from here ...
2425 * include/grub/misc.h (grub_strncat): ... here. Inlined.
2426 * kern/misc.c (grub_strcasecmp): Moved from here ...
2427 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
2428 * kern/misc.c (grub_strncasecmp): Moved from here ...
2429 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
2430 * kern/misc.c (grub_isalpha): Moved from here ...
2431 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
2432 * kern/misc.c (grub_isdigit): Moved from here ...
2433 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
2434 * kern/misc.c (grub_isgraph): Moved from here ...
2435 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
2436 * kern/misc.c (grub_tolower): Moved from here ...
2437 * include/grub/misc.h (grub_tolower): ... here. Inlined.
2438
48e40bff 24392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * script/sh/function.c (grub_script_function_find): Cut error message
2442 not to flood terminal.
2443 * script/sh/lexer.c (grub_script_yylex): Remove command line length
2444 limit.
2445 * script/sh/script.c (grub_script_arg_add): Duplicate string.
2446
c385bfc3 24472009-08-24 Colin Watson <cjwatson@ubuntu.com>
2448
2449 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
2450 `report' grub_uint8_t *.
2451 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
2452 Use a 50-millisecond timeout rather than just repeating
2453 grub_usb_keyboard_getreport 50 times.
2454 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2455
2d21e3e8 24562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Rename *_partition_map to part_*
2459
2460 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
2461 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
2462 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
2463 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
2464 All users updated.
2465 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
2466 All users updated.
2467 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
2468 * util/grub-probe.c (probe_partmap): Don't transform partition name
2469 to get module name.
2470
dd103c4e 24712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 Fix OpenBSD and NetBSD support.
2474
2475 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
2476 memory address conflict.
2477 (OPENBSD_MMAP_ACPI): New definition.
2478 (OPENBSD_MMAP_NVS): Likewise.
2479 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
2480 and OPENBSD_MMAP_NVS.
2481 Add memory map terminator
2482 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 2483 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 2484
16c84d74 24852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Let user specify NetBSD root device.
2488
2489 * loader/i386/bsd.c (netbsd_root): New variable.
2490 (netbsd_opts): New option 'root'.
2491 (NETBSD_ROOT_ARG): New macro.
2492 (grub_netbsd_boot): Use 'netbsd_root'.
2493 (grub_bsd_unload): Free 'netbsd_root'.
2494 (grub_cmd_netbsd): Fill 'netbsd_root'.
2495
adb29902 24962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Support for 64-bit NetBSD.
2499
2500 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
2501 point when booting non-FreeBSD.
2502
f5ae9f74 25032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 Support --no-smp and --no-acpi for NetBSD.
2506
2507 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
2508 (NETBSD_AB_NOACPI): Likewise.
2509 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
2510 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2511
de74f136 25122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
2515 errors.
2516 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
2517 errors. Call grub_error when needed.
2518
e9a925da 25192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * commands/search.c (search_fs): Try searching without autoload first.
2522 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2523 filesystem module explicitly for faster booting.
2524
5174302b 25252009-08-23 Colin Watson <cjwatson@ubuntu.com>
2526
2527 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
2528
c8c80635 25292009-08-23 Colin Watson <cjwatson@ubuntu.com>
2530
2531 * util/grub.d/30_os-prober.in: Disable os-prober if
2532 `GRUB_DISABLE_OS_PROBER' was set to true.
2533
71acf5e5 25342009-08-23 Robert Millan <rmh.grub@aybabtu.com>
2535
2536 * partmap/pc.c: Rename to ...
2537 * partmap/msdos.c: ... this. Update all users.
2538 (grub_pc_partition_map): Rename to ...
2539 (grub_msdos_partition_map): ... this. Update all users.
2540
2541 * parttool/pcpart.c: Rename to ...
2542 * parttool/msdospart.c: ... this. Update all users.
2543
2544 * include/grub/pc_partition.h: Rename to ...
2545 * include/grub/msdos_partition.h: ... this. Update all users.
2546 (grub_pc_partition_bsd_entry): Rename to ...
2547 (grub_msdos_partition_bsd_entry): ... this. Update all users.
2548 (grub_pc_partition_disk_label): Rename to ...
2549 (grub_msdos_partition_disk_label): ... this. Update all users.
2550 (grub_pc_partition_entry): Rename to ...
2551 (grub_msdos_partition_entry): ... this. Update all users.
2552 (grub_pc_partition_mbr): Rename to ...
2553 (grub_msdos_partition_mbr): ... this. Update all users.
2554 (grub_pc_partition): Rename to ...
2555 (grub_msdos_partition): ... this. Update all users.
2556 (grub_pc_partition_is_empty): Rename to ...
2557 (grub_msdos_partition_is_empty): ... this. Update all users.
2558 (grub_pc_partition_is_extended): Rename to ...
2559 (grub_msdos_partition_is_extended): ... this. Update all users.
2560 (grub_pc_partition_is_bsd): Rename to ...
2561 (grub_msdos_partition_is_bsd): ... this. Update all users.
2562
2563 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
2564 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
2565 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
2566 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
2567 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
2568 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
2569 (gpt_mod_LDFLAGS): Rename to ...
2570 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
2571 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
2572 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
2573 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
2574 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
2575 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
2576 (part_gpt_mod_LDFLAGS): ... this.
2577 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
2578 `pcpart.mod' to `msdospart.mod'.
2579 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
2580 to ...
2581 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
2582 (msdospart_mod_LDFLAGS): ... this.
2583
c11fded5 25842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
2587 (openbsd_opts): Likewise.
2588 (netbsd_opts): Likewise.
2589 (freebsd_flags): Added 0 terminator.
2590 (openbsd_flags): Likewise.
2591 (netbsd_flags): Likewise.
2592 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
2593 (grub_cmd_freebsd): Transformed into extended command.
2594 (grub_cmd_openbsd): Likewise.
2595 (grub_cmd_netbsd): Likewise.
2596 (cmd_freebsd): Changed type to grub_extcmd_t.
2597 (cmd_openbsd): Likewise.
2598 (cmd_netbsd): Likewise.
2599 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
2600 grub_cmd_openbsd as extended commands.
2601 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
2602 cmd_netbsd and cmd_openbsd
2603
11d1c769 26042009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
2607
7a9094e5 26082009-08-21 Pavel Roskin <proski@gnu.org>
2609
5496c37e 2610 * Makefile.in (install-local): When checking if a file is in the
2611 build directory, use "test -e" to detect symlinks.
2612
7a9094e5 2613 * Makefile.in (install-local): Remove all files in
2614 $(DESTDIR)$(pkglibdir) before installing new files there.
2615
e53cea11 26162009-08-18 Felix Zielcke <fzielcke@z-51.de>
2617
2618 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
2619 grub-mkelfimage.
2620
9aced544 26212009-08-18 Felix Zielcke <fzielcke@z-51.de>
2622
2623 * util/grub-mkconfig.in: Don't use gfxterm by default if not
2624 explicitly specified by the user.
2625
b7da6bab 26262009-08-18 Pavel Roskin <proski@gnu.org>
2627
2628 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
2629 grub_uint8_t pointer for data.
2630 * include/grub/fbutil.h (struct grub_video_fbblit_info):
2631 Likewise.
2632 * video/fb/fbutil.c: Remove unnecessary casts.
2633
19f1b335 26342009-08-17 Michal Suchanek <hramrach@centrum.cz>
2635
2636 VBE cleanup.
2637
2638 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
2639 (grub_vbe_set_video_mode): Save active mode info
2640 only after setting the mode.
2641 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
2642 second argument.
2643
2f467aa9 26442009-08-17 Michal Suchanek <hramrach@centrum.cz>
2645
2646 Rename variables for clarity.
2647
2648 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
2649 (active_vbe_mode_info): ... this. All users updated.
2650 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
2651 All users updated.
2652 (initial_mode): Rename to ...
2653 (initial_vbe_mode): ... this. All users updated.
2654 (mode_in_use): Rename to ..
2655 (vbe_mode_in_use): ... this. All users updated.
2656 (mode_list): Rename to ..
2657 (vbe_mode_list): ... this. All users updated.
2658 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
2659 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
2660 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
2661 'mode_list_size' to 'vbe_mode_list_size'.
2662 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
2663 'best_mode_info' to 'best_vbe_mode_info' and
2664 'best_mode' to 'best_vbe_mode'
2665
6025fcd7 26662009-08-17 Michal Suchanek <hramrach@centrum.cz>
2667
2668 Remove duplicate grub_video_fb_get_video_ptr.
2669
2670 * include/grub/fbutil.h (get_data_ptr): Rename to ...
2671 (grub_video_fb_get_video_ptr): ... this.
2672 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
2673 * video/fb/fbutil.c: Add comment about addressing.
2674 (get_data_ptr): Rename to ...
2675 (grub_video_fb_get_video_ptr): ... this. All users updated.
2676 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2677
cc8c6faf 26782009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2679
2680 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
2681 grub_dprintf() that was just added.
2682
08aa61f0 26832009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2684
2685 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
2686 (DEFAULT_VIDEO_MODE): Remove macros.
2687 (grub_linux_boot): Remove assumption that Linux has FB support,
2688 and use "text" as default video mode.
2689
7cef4f75 26902009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
2693 grub_dprintf.
2694 * fs/fat.c (grub_fat_read_data): Likewise.
2695
e1f39873 26962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
2699 payload.
2700 (grub_module): Likewise.
2701
c166d79e 27022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
2705 mbi->cmdline but free playground.
2706
c60cee8e 27072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 Handle group offset on UFS1.
2710
2711 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
2712 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2713
c0d8b5d4 27142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Split ufs.mod into ufs1.mod and ufs2.mod.
2717
2718 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
2719 (grub_fstest_SOURCES): Likewise.
2720 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
2721 (ufs_mod_SOURCES): Remove.
2722 (ufs_mod_CFLAGS): Likewise.
2723 (ufs_mod_LDFLAGS): Likewise.
2724 (ufs1_mod_SOURCES): New variable.
2725 (ufs1_mod_CFLAGS): Likewise.
2726 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 2727 (ufs2_mod_SOURCES): New variable.
2728 (ufs2_mod_CFLAGS): Likewise.
2729 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 2730 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
2731 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2732 Likewise.
2733 (grub_emu_SOURCES): Likewise.
2734 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2735 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2736 (grub_setup_SOURCES): Likewise.
2737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2738 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
2739 (grub_setup_SOURCES): Likewise.
2740 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2741 Likewise.
2742 * fs/ufs2.c: New file.
2743 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2744
d3539132 27452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Framebuffer split.
2748
2749 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
2750 subsystem at the end.
2751 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
2752 (video_fb_mod_SOURCES): New variable.
2753 (video_fb_mod_CFLAGS): Likewise.
2754 (video_fb_mod_LDFLAGS): Likewise.
2755 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
2756 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
2757 * video/i386/pc/vbeblit.c: Moved from here ...
2758 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
2759 * video/i386/pc/vbefill.c: Moved from here ...
2760 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
2761 * video/i386/pc/vbeutil.c: Moved from here ...
2762 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
2763 * include/grub/i386/pc/vbeblit.h: Moved from here ...
2764 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
2765 * include/grub/i386/pc/vbefill.h: Moved from here ...
2766 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
2767 * include/grub/i386/pc/vbeutil.h: Moved from here ...
2768 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
2769 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
2770 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
2771 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
2772 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
2773 (grub_video_adapter): Added 'get_info_and_fini'.
2774 (grub_video_get_info_and_fini): New prototype.
2775 (grub_video_set_mode): make modestring const char *.
2776 * loader/i386/linux.c (grub_linux_setup_video): Use
2777 grub_video_get_info_and_fini.
2778 (grub_linux_boot): Move modesetting just before booting.
2779 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
2780 grub_video_get_info_and_fini.
2781 * video/i386/pc/vbe.c: Moved framebuffer part ...
2782 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
2783 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
2784 grub_video_fbstd_colors and grub_video_fb_set_palette.
2785 (grub_video_vbe_init): Clear 'framebuffer' variable and use
2786 grub_video_fb_init.
2787 (grub_video_vbe_fini): Use grub_video_fb_fini.
2788 (grub_video_vbe_setup): Use framebuffer.render_target instead of
2789 render_target and use grub_video_fb_set_active_render_target and
2790 grub_video_fb_set_palette.
2791 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
2792 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
2793 (grub_video_vbe_adapter): Use framebuffer.
2794 * video/video.c (grub_video_get_info_and_fini): New function.
2795 (grub_video_set_mode): Make modestring const char *.
2796 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
2797 values are already initialised.
2798
d404ee56 27992009-08-14 Pavel Roskin <proski@gnu.org>
2800
2801 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
2802 ABS and APPLE_CC.
2803 * boot/i386/pc/diskboot.S: Likewise.
2804 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
2805 sectors allow compilation on MacOSX.
2806 * conf/i386-pc.rmk: Enable unconditional compilation of
2807 lnxboot.img.
2808
9a10df16 28092009-08-13 Colin Watson <cjwatson@ubuntu.com>
2810
2811 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
2812 * util/grub.d/00_header.in: Enter interruptible sleep if
2813 GRUB_HIDDEN_TIMEOUT is set.
2814
be3c9ca7 28152009-08-13 Yves Blusseau <blusseau@zetam.org>
2816
2817 * include/grub/symbol.h: Add the LOCAL macro.
2818 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
2819 starting with "L_".
2820
1f9e557e 28212009-08-13 Pavel Roskin <proski@gnu.org>
2822
9ca62843 2823 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
2824 any modern compilers we support.
2825
1f9e557e 2826 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
2827 Use local labels starting with "L_" so that Apple assembler
2828 knows they are local.
2829
81623db6 28302009-08-10 Robert Millan <rmh.grub@aybabtu.com>
2831
2832 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
2833 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
2834 (bsd_kernel_types): ... this enum.
2835
2836 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
2837 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
2838 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
2839
2840 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
2841 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
2842 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
2843 messages.
2844
f5d35e7a 28452009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2846
2847 * util/grub-dumpdevtree: Moved from here ...
2848 * util/i386/efi/grub-dumpdevtree: ... to here.
2849 (hexify): New function. Converts a string to its hex version.
2850 Generate hex versions of "efi" and "device-properties" by calling
2851 hexify() on the ASCII strings rather than by hardcoding numbers.
2852
d1e1d527 28532009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2854
2855 * fs/jfs.c: Update copyright year.
2856
1ebbe064 28572009-08-08 Felix Zielcke <fzielcke@z-51.de>
2858
2859 * util/grub.d/00_header.in: Fix a comment.
2860 * util/grub.d/10_linux.in: Likewise.
2861 * util/grub.d/10_windows.in: Likewise.
2862 * util/grub.d/10_hurd.in: Likewise.
2863
a78c8d24 28642009-08-08 Felix Zielcke <fzielcke@z-51.de>
2865
2866 * util/grub-mkconfig.in: Allow the user to specify the used font
2867 with GRUB_FONT.
2868
29a6b9e8 28692009-08-08 Pavel Roskin <proski@gnu.org>
2870
b5f16cc4 2871 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
2872 available, xfs.mod needs it now.
2873
2f5cb827 2874 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
2875 the "g" modifier in sed when the intention is to strip something
2876 once. This fixes comparison of kernels with multiple dashes.
2877
29a6b9e8 2878 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
2879 on it. Add missing space before closing bracket. Fix
2880 misleading formatting.
2881
892a3d98 28822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2883
2884 * docs/grub.texi: Major overhaul. Remove all sections that are
2885 specific to GRUB Legacy, or mostly composed of Legacy-specific
2886 information.
2887
ed94253f 28882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2889
2890 * docs/version.texi: New file. Provides version information for
2891 grub.texi.
2892
126d6628 28932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2894
2895 * docs/grub.texi: Update CVS information to SVN.
2896 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2897
998b5aa9 28982009-08-07 Felix Zielcke <fzielcke@z-51.de>
2899
2900 * util/grub-mkconfig.in: Remove a wrong `fi'.
2901
818e094a 29022009-08-07 Felix Zielcke <fzielcke@z-51.de>
2903
2904 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
2905 (grub_jfs_uuid): New function.
2906 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2907
b969c52f 29082009-08-07 Felix Zielcke <fzielcke@z-51.de>
2909
2910 * util/grub-mkconfig_lib.in (font_path): Move the functionality
2911 of it to ...
2912 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
2913 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2914
7a4894cc 29152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2916
2917 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
2918 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
2919 Update all users.
2920
2921 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
2922 not just "vmlinu[zx]".
2923 Moved from here ...
2924 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
2925 all users.
2926
2927 * util/grub.d/10_linux.in (find_latest): Moved from here ...
2928 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
2929 all users.
2930
4e2171f8 29312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2932
2933 * util/grub.d/10_freebsd.in: Use an absolute device path for
2934 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
2935
6dcfcb32 29362009-08-06 Felix Zielcke <fzielcke@z-51.de>
2937
2938 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2939 handling of multiple abstraction modules.
2940
f56a8756 29412009-08-04 Robert Millan <rmh.grub@aybabtu.com>
2942
2943 Fix a bug resulting in black screen when loading Linux using a
2944 packed video mode.
2945
2946 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
2947 function.
2948
2949 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
2950 (grub_vbe_bios_getset_dac_palette_width): New function.
2951 (grub_vbe_bios_get_dac_palette_width)
2952 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
2953 grub_vbe_bios_getset_dac_palette_width()).
2954
2955 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
2956 check for return status.
2957 (grub_vbe_get_video_mode_info): When getting information for a packed
2958 mode (<= 8 bpp), obtain DAC palette width using
2959 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
2960 {red,green,blue}_mark_size.
2961
222671b2 29622009-08-04 Felix Zielcke <fzielcke@z-51.de>
2963
ecb1a6d9 2964 * commands/search.c (options): Fix help output to match actual code.
222671b2 2965
f84114f5 29662009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
2969 of homegrown code.
2970
bd288a20 29712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 2972
2973 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
2974 on XFS or ReiserFS.
2975
8aab5e25 29762009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 Support Apple partition map with sector size different from 512 bytes.
2979
2980 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
2981 (apple_partition_map_iterate): Respect 'aheader.blocksize'
2982 and 'apart.partmap_size'.
2983
6ad6258a 29842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29852009-08-01 Robert Millan <rmh.grub@aybabtu.com>
2986
2987 Fix cpuid command.
2988
2989 * commands/i386/cpuid.c (options): New variable.
2990 (grub_cmd_cpuid): Return real error.
2991 (GRUB_MOD_INIT(cpuid)): Declare options.
2992
67459bc6 29932009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
2996 valid.
2997
fbc6ab54 29982009-07-31 Bean <bean123ch@gmail.com>
2999
3000 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
3001 log2_inode.
3002 (grub_fshelp_node): Move inode field to the end.
3003 (grub_xfs_data): Remove inode field.
3004 (grub_xfs_inode_block): Calculate inode size using sblock.
3005 (grub_xfs_inode_offset): Likewise.
3006 (grub_xfs_read_inode): Calculate inode size using sblock.
3007 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
3008 (grub_xfs_iterate_dir): Calculate inode size using sblock.
3009 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
3010 to match inode size.
3011 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
3012 not accessible when data is null.
3013 (grub_xfs_open): Likewise.
3014
f45d6cfc 30152009-07-31 Bean <bean123ch@gmail.com>
3016
3017 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
3018 Don't change pv->disk if it's already set.
3019
3020 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
3021 (grub_raid_register): ... here.
3022 (grub_raid_rescan): Removed.
3023
3024 * include/grub/raid.h (grub_raid_rescan): Removed.
3025
3026 * util/grub-fstest.c: Remove include file <grub/raid.h>.
3027 (fstest): Replace grub_raid_rescan with module fini function followed
3028 by init function.
3029
3030 * util/grub-probe.c: Add include file <grub/raid.h>.
3031 (probe_raid_level): New function.
3032 (probe): Detect abstraction by walking the disk device, support two
3033 level of abstraction (LVM on RAID) when detecting partition map.
3034
24443b5a 30352009-07-31 Pavel Roskin <proski@gnu.org>
3036
3037 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
3038 to grub_zalloc(), it was erroneous.
3039 Reported by Bean <bean123ch@gmail.com>
3040
a275d9e7 30412009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 3044 embedding zone, not only the first one.
a275d9e7 3045
56c5a47f 30462009-07-29 Joe Auricchio <jauricchio@gmail.com>
3047
3048 * term/gfxterm.c (clear_char): New function.
3049 (grub_virtual_screen_setup): Use clear_char.
3050 (scroll_up): Likewise.
3051 (grub_virtual_screen_cls): Likewise.
3052
67bb323a 30532009-07-29 Felix Zielcke <fzielcke@z-51.de>
3054
3055 * util/deviceiter.c (get_acceleraid_disk_name): New static
3056 function.
3057 (grub_util_iterate_devices): Handle Accelraid devices.
3058 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
3059
388a7c75 30602009-07-28 Robert Millan <rmh.grub@aybabtu.com>
3061
3062 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
3063 separator for the suggested gfxpayload string (';' collides with the
3064 parser and needs escaping).
3065
3bb7abcf 30662009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
3069 Clear direction flag before jumping to OS.
3070 (grub_multiboot2_real_boot): Likewise.
3071
2ddd36d7 30722009-07-28 Felix Zielcke <fzielcke@z-51.de>
3073
3074 * util/i386/pc/grub-install: Fix parsing of --disk-module
3075 option.
3076
c521b62b 30772009-07-28 Felix Zielcke <fzielcke@z-51.de>
3078
3079 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
3080 when embedding.
3081
880e0a0c 30822009-07-26 Felix Zielcke <fzielcke@z-51.de>
3083
3084 * util/grub-mkconfig.in (package_version): New variable.
3085 Use it do display the version.
3086
2366e356 30872009-07-25 Felix Zielcke <fzielcke@z-51.de>
3088
3089 * kern/file.c (grub_file_open): Revert to previous check with
3090 grub_errno.
3091
7ad8c80e 30922009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
3095 from help line. It's out of sync with code.
3096
72b9658b 30972009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
3100 entries on failed boot.
3101
77435277 31022009-07-25 Felix Zielcke <fzielcke@z-51.de>
3103
3104 * kern/file.c (grub_file_open): Fix an error check.
3105
fcaa8b21 31062009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
3107
35d16c74 3108 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
3109 partition map couldn't be identified.
fcaa8b21 3110
48904cd1 31112009-07-23 Pavel Roskin <proski@gnu.org>
3112
ef3c317f 3113 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
3114 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
3115 case of little endian words becomes just an optimization.
3116 Respect const modifier.
ad8ea1f4 3117 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 3118
48904cd1 3119 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
3120 to avoid loss of upper bits if align is unsigned and shorter
3121 than addr.
3122
260c9a89 31232009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 UUID support for UFS
3126
3127 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
3128 (grub_ufs_uuid): New function.
3129 (grub_ufs_fs): add .uuid
3130
f76ce889 31312009-07-21 Pavel Roskin <proski@gnu.org>
3132
3133 * kern/dl.c (grub_dl_check_header): Make static.
3134
6a6cbcaf 31352009-07-21 Felix Zielcke <fzielcke@z-51.de>
3136
3137 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
3138 add drivemap for Vista. It breaks Windows 7.
3139
cffcddb2 31402009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
3143 128 bytes
3144
1ef44b80 31452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Add BFS support
3148
3149 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
3150 (grub_fstest_SOURCES): Likewise.
3151 (pkglib_MODULES): Add befs.mod.
3152 (befs_mod_SOURCES): New variable.
3153 (befs_mod_CFLAGS): Likewise.
3154 (befs_mod_LDFLAGS): Likewise.
3155 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
3156 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
3157 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3158 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
3159 (grub_setup_SOURCES): Likewise.
3160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3161 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
3162 (grub_setup_SOURCES): Likewise.
3163 * fs/befs.c: New file.
3164 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
3165 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
3166 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
3167 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
3168 (B_KEY_INDEX_ALIGN): New declaration.
3169 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
3170 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
3171 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
3172 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
3173 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
3174 (grub_afs_mount) [MODE_BFS]: Likewise.
3175 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
3176 (grub_afs_fs): Use GRUB_AFS_FSNAME
3177 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
3178 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
3179 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
3180 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
3181
4f253044 31822009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
3183
3184 * util/getroot.c (find_root_device): Add support for MacOSX.
3185 * util/hostdisk.c: Likewise.
3186
57a55913 31872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * font/font.c (find_glyph): Check whether a font is present to avoid
3190 segmentation fault.
75421ca9 3191
31922009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 3193
3194 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
3195
e98cd0c2 31962009-07-20 Pavel Roskin <proski@gnu.org>
3197
3198 * configure.ac: Trim excessively wordy excuses.
3199
1d2d169a 32002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Add symlink, mtime and label support to AtheFS.
3203
3204 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
3205 (grub_afs_iterate_dir): Handle symlinks.
3206 (grub_afs_open): Use grub_afs_read_symlink.
3207 (grub_afs_dir): Likewise.
3208 Pass mtime.
3209 (grub_afs_label): New function.
3210 (grub_afs_fs): Add grub_afs_label.
3211 (grub_afs_read_symlink): New function.
3212
186f3189 32132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 Fix AtheFS support.
3216
3217 * fs/afs.c: Fix comments style.
3218 (grub_afs_blockrun): Declare as packed.
3219 (grub_afs_datastream): Likewise.
3220 (grub_afs_bnode): Likewise.
3221 (grub_afs_btree): Likewise.
3222 (grub_afs_sblock): Likewise.
3223 Declare `name' as char.
3224 (grub_afs_inode): Declare as packed.
3225 Change void *vnode to grub_uint32_t unused.
3226 (grub_afs_iterate_dir): Check that key_size is positive.
3227 (grub_afs_mount): Don't read superblock twice.
75421ca9 3228 (grub_afs_dir): Don't free node in case of error,
186f3189 3229 grub_fshelp_find_file already handles this.
3230 (grub_afs_open): Likewise.
3231
5680109e 32322009-07-19 Pavel Roskin <proski@gnu.org>
3233
3234 * Makefile.in: Remove LIBLZO and enable_lzo.
3235 * conf/i386-pc.rmk: Remove lzo support.
3236 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
3237 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
3238 support.
3239 * kern/i386/pc/lzo1x.S: Remove.
3240 * kern/i386/pc/startup.S: Remove lzo support.
3241 * util/i386/pc/grub-mkimage.c: Likewise.
3242
ac70fa32 32432009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
3246 * fs/xfs.c (grub_xfs_dir): Likewise.
3247 * fs/afs.c (grub_afs_dir): Likewise.
3248 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3249 (grub_iso9660_open): Likewise.
3250 * fs/jfs.c (grub_jfs_open): Likewise.
3251 * fs/ext2.c (grub_ext2_dir): Likewise.
3252 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
3253 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 3254
eab58da2 32552009-07-16 Pavel Roskin <proski@gnu.org>
3256
d2838156 3257 * configure.ac: Never add "-c" to CFLAGS.
3258
55c70904 3259 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
3260
43e6200c 3261 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
3262 grub_cv_cc_efiemu should be used.
3263
ce7a733d 3264 * configure.ac: Typo fixes.
3265
eab58da2 3266 * kern/mm.c (grub_zalloc): New function.
3267 (grub_debug_zalloc): Likewise.
3268 * include/grub/mm.h: Declare grub_zalloc() and
3269 grub_debug_zalloc().
3270 * util/misc.c (grub_zalloc): New function.
3271 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
3272 instead of grub_malloc(), remove unneeded initializations.
3273 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
3274 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
3275 * commands/parttool.c (grub_cmd_parttool): Likewise.
3276 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3277 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
3278 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
3279 * disk/usbms.c (grub_usbms_finddevs): Likewise.
3280 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
3281 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
3282 (grub_cmd_efiemu_pnvram): Likewise.
3283 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
3284 * fs/iso9660.c (grub_iso9660_mount): Likewise.
3285 (grub_iso9660_iterate_dir): Likewise.
3286 * fs/jfs.c (grub_jfs_opendir): Likewise.
3287 * fs/ntfs.c (list_file): Likewise.
3288 (grub_ntfs_mount): Likewise.
3289 * kern/disk.c (grub_disk_open): Likewise.
3290 * kern/dl.c (grub_dl_load_core): Likewise.
3291 * kern/elf.c (grub_elf_file): Likewise.
3292 * kern/env.c (grub_env_context_open): Likewise.
3293 (grub_env_set): Likewise.
3294 (grub_env_set_data_slot): Likewise.
3295 * kern/file.c (grub_file_open): Likewise.
3296 * kern/fs.c (grub_fs_blocklist_open): Likewise.
3297 * loader/i386/multiboot.c (grub_module): Likewise.
3298 * loader/xnu.c (grub_xnu_create_key): Likewise.
3299 (grub_xnu_create_value): Likewise.
3300 * normal/main.c (grub_normal_add_menu_entry): Likewise.
3301 (read_config_file): Likewise.
3302 * normal/menu_entry.c (make_screen): Likewise.
3303 * partmap/sun.c (sun_partition_map_iterate): Likewise.
3304 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
3305 * script/sh/script.c (grub_script_parse): Likewise.
3306 * video/bitmap.c (grub_video_bitmap_create): Likewise.
3307 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3308 * video/readers/png.c (grub_png_output_byte): Likewise.
3309 (grub_video_reader_png): Likewise.
3310
830afef7 33112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 3312
3313 Enable all targets that can be built by default
3314
830afef7 3315 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 3316 grub-mkfont and grub-fstest if they can be built
3317
ee293aee 33182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Fix hang and segmentation fault in grub-emu-usb
3321
3322 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
3323 * util/usb.c (grub_libusb_devices): likewise
3324 (grub_libusb_init): rename to ...
3325 (GRUB_MOD_INIT (libusb)):...this
3326 (grub_libusb_fini): rename to ..
3327 (GRUB_MOD_FINI (libusb)):...this
3328 * disk/usbms.c (grub_usbms_transfer): fix retry logic
3329 * include/grub/disk.h (grub_raid_init): removed, it's useless
3330 (grub_raid_fini): likewise
3331 (grub_lvm_init): likewise
3332 (grub_lvm_fini): likewise
3333 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
3334 by grub_init_all
3335
94414221 33362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 Fix libusb
3339
3340 * Makefile.in (LIBUSB): new macro
3341 * genmk.rb (Utility/print_tail): new method
3342 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
3343 (top level): call util.print_tail at the end.
3344
59ade63d 33452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 Make FreeBSD accept zpool.cache
3348
3349 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
3350 type is /boot/zfs/zpool.cache
3351
a58da8c7 33522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Fix 64-bit efiemu
3355
3356 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
3357 correct wrong typedef
3358 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
3359
20591577 33602009-07-15 Pavel Roskin <proski@gnu.org>
3361
560ca572 3362 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
3363 * kern/disk.c (struct grub_disk_cache): Likewise.
3364
e8e8e4fd 3365 * commands/probe.c (options): Typo fix.
3366
fde24e10 3367 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
3368 Increase to 0x5a to accommodate FAT32. Adjust other offsets
3369 accordingly.
3370 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
3371
379c54c1 3372 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
3373 the end of "Error" to make the message more readable.
3374
7bd8f5bf 3375 * boot/i386/pc/boot.S (kernel_segment): Remove.
3376 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
3377 for destination.
3378
40b132c5 3379 * boot/i386/pc/boot.S (boot_version): Remove.
3380 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3381 Remove.
3382
20591577 3383 * include/grub/i386/pc/boot.h: Sort all offsets.
3384 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
3385 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
3386 * boot/i386/pc/boot.S: Assert location of every offset listed in
3387 include/grub/i386/pc/boot.h.
3388
2df32b2c 33892009-07-13 Pavel Roskin <proski@gnu.org>
3390
44b5d879 3391 * include/grub/i386/coreboot/machine.h: Rename
3392 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
3393 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
3394 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
3395
17dc3751 3396 * kern/dl.c: Force native word size to suppress warnings when
3397 compiling grub-emu.
3398
2df32b2c 3399 * kern/device.c (grub_device_iterate): Change struct part_ent to
3400 hold the name, not a pointer to it. Use one grub_malloc() per
3401 partition, not two. Free partition_name if grub_malloc() fails.
3402 Set ents to NULL only before grub_partition_iterate() is called.
3403
75c59f59 34042009-07-11 Bean <bean123ch@gmail.com>
3405
3406 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
3407 childname.
3408
0ae1bf88 34092009-07-10 Bean <bean123ch@gmail.com>
34102009-07-10 Robert Millan <rmh.grub@aybabtu.com>
3411
3412 * kern/ieee1275/openfw.c (grub_children_iterate)
3413 (grub_devalias_iterate): Fix size evaluation for property or path
3414 strings, which was broken since r2132.
3415
8279cade 34162009-07-07 Pavel Roskin <proski@gnu.org>
3417
7d8a52d3 3418 * commands/search.c (search_file): Merge into ...
3419 (search_fs): ... this. Accept search type as argument.
3420 (grub_cmd_search): Pass search type to search_fs().
3421
25f9a05a 3422 * include/grub/util/console.h: New file.
3423 * util/console.c: Use it instead of grub/machine/console.h.
3424 * util/grub-emu.c: Likewise.
3425
8279cade 3426 * lib/arg.c (find_long_option): Remove.
3427 (find_long): Add `len' argument, make `s' const char *.
3428 (grub_arg_parse): Parse long options in place, not in a
3429 temporary buffer.
3430
4a11b60f 34312009-07-06 Pavel Roskin <proski@gnu.org>
3432
99f68041 3433 * commands/search.c (search_fs): Fix potential NULL pointer
3434 dereference.
3435
4a11b60f 3436 * commands/search.c (search_fs): Replace QUID macro with quid_fn
3437 function pointer.
3438
e110f4de 34392009-07-06 Daniel Mierswa <impulze@impulze.org>
3440
3441 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
3442 comparison.
3443
46eeb6a2 34442009-07-05 Pavel Roskin <proski@gnu.org>
3445
bab74958 3446 * include/grub/i386/linux.h (struct linux_kernel_params):
3447 Restore padding3, it's still needed.
3448
46eeb6a2 3449 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
3450 FreeBSD.
3451 * util/osdetect.lua: Likewise.
3452
b4a1dc79 34532009-07-05 Bean <bean123ch@gmail.com>
3454
3455 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
3456
3457 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
3458 (grub_lua_getenv): Likewise.
3459 (grub_lua_setenv): Likewise.
3460 (save_errno): New function.
3461 (push_result): Likewise.
3462 (grub_lua_enum_device): Likewise.
3463 (grub_lua_enum_file): Likewise.
3464 (grub_lua_file_open): Likewise.
3465 (grub_lua_file_close): Likewise.
3466 (grub_lua_file_seek): Likewise.
3467 (grub_lua_file_read): Likewise.
3468 (grub_lua_file_getline): Likewise.
3469 (grub_lua_file_getsize): Likewise.
3470 (grub_lua_file_getpos): Likewise.
3471 (grub_lua_file_eof): Likewise.
3472 (grub_lua_file_exist): Likewise.
3473 (grub_lua_add_menu): Likewise.
3474
3475 * script/lua/grub_lua.h (isupper): New inline function.
3476 (islower): Likewise.
3477 (ispunct): Likewise.
3478 (isxdigit): Likewise.
3479 (strcspn): Change to normal function.
3480 (strpbkr): New function declaration.
3481 (memchr): Likewise.
3482
3483 * script/lua/grub_main.c (scan_str): New function.
3484 (strcspn): Likewise.
3485 (strpbrk): Likewise.
3486 (memchr): Likewise.
3487
3488 * script/lua/linit.c (lualibs): Enable the string library.
3489
3490 * util/osdetect.lua: New file.
3491
2da92295 34922009-07-04 Robert Millan <rmh.grub@aybabtu.com>
3493
3494 * include/grub/i386/linux.h (struct linux_kernel_params): Add
3495 `capabilities' member.
3496
b2582ec9 34972009-07-02 Pavel Roskin <proski@gnu.org>
3498
3499 * genparttoollist.sh: Add missing newline at the end.
3500
32622956 35012009-07-01 Pavel Roskin <proski@gnu.org>
3502
87a7339e 3503 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
3504
d23af54e 3505 * util/hostdisk.c (open_device): Remove `const' from
3506 `sysctl_size', as sysctlbyname() can change it (in this case it
3507 doesn't actually happen).
3508
c94b18a9 3509 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
3510 using signed long int constants.
3511
c6cd3ef0 3512 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
3513 constant to avoid a warning on FreeBSD.
3514
0df63420 3515 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
3516 where it's needed.
3517
999577f1 3518 * Makefile.in: Install include/grub/machine symlink.
3519
6f41557f 3520 * Makefile.in: When installing symlinks, use "cp -fR", which
3521 works on FreeBSD and MacOSX.
3522 From Yves Blusseau <cl7m42e02@sneakemail.com>
3523
c8d22988 3524 * kern/dl.c (grub_dl_resolve_symbol): Make static.
3525 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
3526
1b96e952 3527 * util/misc.c: Move grub_reboot() and grub_halt() ...
3528 * util/grub-emu.c: ... here. Make main_env static.
3529 * include/grub/util/misc.h: Remove main_env.
3530
2ef0084d 3531 * kern/mm.c: Use correct format to print size_t.
3532
32622956 3533 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
3534 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
3535 * kern/powerpc/dl.c: Likewise.
3536 * kern/sparc64/dl.c: Likewise.
3537 * kern/x86_64/dl.c: Likewise.
3538
3f7f0cd0 35392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3540
3541 Fix grub-emu build on sparc64-ieee1275.
3542
75421ca9 3543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 3544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
3545
211d06b5 35462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3547
3548 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
3549 (grub_reboot, grub_halt): New functions.
3550
3551 * util/i386/pc/misc.c: Delete. Update all users.
3552 * util/sparc64/ieee1275/misc.c: Likewise.
3553 * util/powerpc/ieee1275/misc.c: Likewise.
3554
aaf53e3c 35552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3556
3557 * conf/i386.rmk (setjmp_mod_SOURCES)
3558 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
3559 * conf/common.rmk (setjmp_mod_SOURCES)
3560 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
3561 to use $(target_cpu).
3562 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
3563 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
3564 * conf/powerpc-ieee1275.rmk: Likewise.
3565 * conf/sparc64-ieee1275.rmk: Likewise.
3566
3567 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
3568 $(target_cpu) for kern/$(target_cpu)/dl.c.
3569 * conf/i386-efi.rmk: Likewise.
3570 * conf/i386-ieee1275.rmk: Likewise.
3571 * conf/x86_64-efi.rmk: Likewise.
3572 * conf/i386-coreboot.rmk: Likewise.
3573 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
3574 $(target_cpu) for kern/$(target_cpu)/dl.c and for
3575 kern/$(target_cpu)/cache.S.
3576 * conf/sparc64-ieee1275.rmk: Likewise.
3577
a337130b 35782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3579
3580 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
3581 type to `grub_uint8_t', and adjust `padding9' accordingly.
3582
c6fe4d53 35832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3584
b09db61d 3585 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
3586
c6fe4d53 3587 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
3588 assembly in final jump, using register constraints.
3589
b09db61d 3590 (grub_linux_boot): For text mode, initialize `have_vga' using
3591 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
3592
3593 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
3594 right before the final jump.
3595
3596 Set `video_mode' to 0x3.
3597
3598 Document initialization of `video_page', `video_mode' and
3599 `video_ega_bx'.
3600
28333ad0 36012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3602
3603 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
3604 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 3605 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 3606
02164e1b 36072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3608
3609 Fix build on Debian / sparc.
3610
3611 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
3612
18b6c557 36132009-06-28 Pavel Roskin <proski@gnu.org>
3614
85f2aab6 3615 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
3616 fix a warning.
3617
18b6c557 3618 * util/grub.d/10_linux.in: Match SUSE style initrd names.
3619
ad760f81 36202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3621
3622 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
3623 `err'.
3624
87a4623b 36252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3626
3627 Revert r2338.
3628
3629 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
3630 file can't be opened. grub_file_open() is already supposed to set
75421ca9 3631 grub_errno / grub_errmsg appropriately.
87a4623b 3632 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3633
8231fb77 36342009-06-27 Pavel Roskin <proski@gnu.org>
36352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3636
3637 * include/grub/dl.h: Include grub/elf.h.
3638 (struct grub_dl): Add symtab field.
3639 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
3640 GRUB_MODULES_MACHINE_READONLY.
3641 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
3642 of the header for read-only modules.
3643 (grub_dl_unload): Free mod->symtab for read-only modules.
3644 * kern/i386/dl.c: Use mod->symtab.
3645 * kern/powerpc/dl.c: Likewise.
3646 * kern/sparc64/dl.c: Likewise.
3647 * kern/x86_64/dl.c: Likewise.
3648
3649 * conf/i386-qemu.rmk: New file.
3650 * kern/i386/qemu/startup.S: Likewise.
3651 * kern/i386/qemu/mmap.c: Likewise.
3652 * boot/i386/qemu/boot.S: Likewise.
3653 * include/grub/i386/qemu/time.h: Likewise.
3654 * include/grub/i386/qemu/serial.h: Likewise.
3655 * include/grub/i386/qemu/kernel.h: Likewise.
3656 * include/grub/i386/qemu/console.h: Likewise.
3657 * include/grub/i386/qemu/boot.h: Likewise.
3658 * include/grub/i386/qemu/init.h: Likewise.
3659 * include/grub/i386/qemu/machine.h: Likewise.
3660 * include/grub/i386/qemu/loader.h: Likewise.
3661 * include/grub/i386/qemu/memory.h: Likewise.
3662
3663 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
3664 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
3665 [qemu] (pkglib_IMAGES): Add `boot.img'.
3666 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
3667 [qemu] (boot_img_FORMAT): New variables.
3668 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
3669 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
3670 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
3671 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3672 [qemu] (kernel_img_FORMAT): New variables.
3673
3674 * configure.ac: Recognise `i386-qemu'.
3675
3676 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
3677 (for no compression).
3678 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
3679 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
3680 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
3681 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
3682 ifdefs).
3683
97fe384e 36842009-06-27 Pavel Roskin <proski@gnu.org>
3685
3686 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
3687 read.
3688 * efiemu/prepare32.c: Likewise.
3689 * efiemu/prepare64.c: Likewise.
3690
c402ab17 36912009-06-26 Pavel Roskin <proski@gnu.org>
3692
3693 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
3694 * include/grub/elf.h: Define symbols without "32" or "64" based
3695 on GRUB_TARGET_WORDSIZE.
3696 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
3697 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
3698 ELF definitions.
3699 * efiemu/loadcore64.c: Likewise.
3700 * loader/i386/bsd32.c: Likewise.
3701 * loader/i386/bsd64.c: Likewise.
3702 * kern/dl.c: Remove own ELF definitions.
3703 * util/i386/efi/grub-mkimage.c: Likewise.
3704
9bbdfd4d 37052009-06-23 Robert Millan <rmh.grub@aybabtu.com>
3706
3707 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
3708 segment 0x0 unconditionally, because the reference generated by
3709 GAS is an absolute address.
3710
a42ce6e9 37112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3712
3713 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
3714 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
3715
c952cf92 37162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3717
3718 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
3719 indexes. Check for -f explicitly.
cc3752ad 3720 (search_file): Improve error message.
3721 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 3722
132a0a59 37232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3724
3725 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
3726 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
3727
387a140c 37282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3729
3730 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
3731 * conf/i386-ieee1275.rmk: Likewise.
3732 * conf/i386-coreboot.rmk: Likewise.
3733
3734 * kern/i386/pc/startup.S (grub_stop): Remove function.
3735 * kern/i386/ieee1275/startup.S: Likewise.
3736 * kern/i386/coreboot/startup.S: Likewise.
3737 * kern/i386/misc.S (grub_stop): New function.
3738
41da9665 37392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3740
3741 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
3742 * kern/i386/realmode.S (real_to_prot): ... to here.
3743
bf337234 37442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3745
3746 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
3747 with `kernel.img'.
3748 (kernel_elf_SOURCES): Rename to ...
3749 (kernel_img_SOURCES): ... this.
3750 (kernel_elf_HEADERS): Rename to ...
3751 (kernel_img_HEADERS): ... this. Update all users.
3752 (kernel_elf_ASFLAGS): Rename to ...
3753 (kernel_img_ASFLAGS): ... this.
3754 (kernel_elf_CFLAGS): Rename to ...
3755 (kernel_img_CFLAGS): ... this.
3756 (kernel_elf_LDFLAGS): Rename to ...
3757 (kernel_img_LDFLAGS): ... this.
3758 * conf/i386-coreboot.rmk: Likewise.
3759 * conf/powerpc-ieee1275.rmk: Likewise.
3760
3761 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
3762 with "kernel.img".
3763
f52196ff 37642009-06-21 Pavel Roskin <proski@gnu.org>
3765
c3cee413 3766 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
3767 to match nested functions.
3768 * loader/sparc64/ieee1275/linux.c: Likewise.
3769
f52196ff 3770 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
3771
58750afc 37722009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3773
3774 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
3775 all i386 platforms.
3776
15355c7d 37772009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3778
3779 Fix asm file handling on ELF, and remove workarounds.
3780
3781 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 3782 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 3783 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
3784 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
3785
3f3ec72b 37862009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 Load BSD ELF modules
3789
3790 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
3791 and loader/i386/bsd64.c
3792 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
3793 (FREEBSD_MODTYPE_ELF_MODULE): New definition
3794 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
3795 (grub_freebsd_load_elfmodule32): New declaration
3796 (grub_freebsd_load_elfmoduleobj64): Likewise
3797 (grub_freebsd_load_elf_meta32): Likewise
3798 (grub_freebsd_load_elf_meta64): Likewise
3799 (grub_freebsd_add_meta): Likewise
3800 (grub_freebsd_add_meta_module): Likewise
3801 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
3802 (grub_freebsd_add_meta_module): Likewise and move module-specific
3803 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
3804 (grub_cmd_freebsd): Add elf-kernel specific parts
3805 based on grub_freebsd_add_meta_module
3806 (grub_cmd_freebsd_module): Add type parsing moved from
3807 grub_freebsd_add_meta_module
3808 (grub_cmd_freebsd_module_elf): New function
3809 (cmd_freebsd_module_elf): New variable
3810 (GRUB_MOD_INIT): Register freebsd_module_elf
3811 * loader/i386/bsd32.c: New file
3812 * loader/i386/bsd64.c: Likewise
3813 * loader/i386/bsdXX.c: Likewise
3814 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
3815 (grub_elf64_load): Likewise
3816 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
3817 All users updated
3818 (grub_elf64_load_hook_t): Likewise
3819
0db15301 38202009-06-21 Colin Watson <cjwatson@ubuntu.com>
3821
3822 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
3823 variable.
3824 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
3825 don't write a menu entry for recovery mode.
3826
546796c1 38272009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3828
3829 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
3830 after it's no longer needed.
3831
cd7310d5 38322009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3833
3834 * include/grub/i386/loader.h (grub_linux_prot_size)
3835 (grub_linux_tmp_addr, grub_linux_real_addr)
3836 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
3837 GRUB_MACHINE_PCBIOS.
3838 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
3839 common grub_util_info() call to ...
3840 (generate_image): ... here.
3841 Fix use of uninitialized memory, comparison of signed with
3842 unsigned integers and memory leak.
3843 Remove bogus module address message.
3844
ab32d3b5 38452009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
3848 grub_raid_register
3849 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
3850
024ef597 38512009-06-19 Pavel Roskin <proski@gnu.org>
3852
3853 * configure.ac: Remove stray AC_MSG_CHECKING.
3854
3ac72b51 38552009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 3858
e14cd814 38592009-06-18 Pavel Roskin <proski@gnu.org>
3860
3861 * conf/common.rmk: Add fs_file.mod.
3862 * disk/fs_file.c: New file.
3863 * include/grub/disk.h (enum grub_disk_dev_id): Add
3864 GRUB_DISK_DEVICE_FILE_ID.
3865
26586d98 38662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 Fix build with Apple's toolchain. Part 2
3869
3870 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
3871 a fake start
3872
26de2bcd 38732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Fix build with Apple's toolchain. Part 1
3876
3877 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
3878 for long calls
3879 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 3880 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 3881 Apple's toolchain
3882
09b3490b 38832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 Fix warnings
3886
3887 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
3888 (decomp_block): initialize ch
3889 use grub_memcpy instead of memcpy
3890
c22a006a 38912009-06-17 Pavel Roskin <proski@gnu.org>
3892
d3638678 3893 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
3894 version, use declarations needed to use vga_text as the startup
3895 console.
3896
c22a006a 3897 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
3898 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
3899 the kernel.
3900 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
3901 and grub_at_keyboard_fini(), it's done on module load and
3902 unload.
3903
05b129e0 39042009-06-17 Felix Zielcke <fzielcke@z-51.de>
3905
3906 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
3907 file can't be found.
3908 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3909
cf24ed9e 39102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 Fix newline handling
3913
3914 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 3915 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 3916 (grub_script_yylex): don't segfault on unterminated script
3917 newline terminates command and variable
3918
74aa8e4b 39192009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 avoid double grub_adjust_range call. Bug reported by David Simner
3922
3923 * kern/disk.c (grub_disk_write): change to raw disk access before
3924 calling disk_read
3925
1bd265f3 39262009-06-17 Colin Watson <cjwatson@ubuntu.com>
3927
3928 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
3929 spaces, for the benefit of help2man.
3930 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3931
a2d08c06 39322009-06-16 Pavel Roskin <proski@gnu.org>
3933
3934 * kern/i386/halt.c: Include grub/machine/init.h.
3935 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
3936
b97bcb19 39372009-06-16 Felix Zielcke <fzielcke@z-51.de>
3938
3939 * util/grub.d/30_os-prober.in: Use ${root} in the generated
3940 drivemap menuentry.
3941
0644f96c 39422009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
3943
3944 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
3945 `echo' command.
3946
3ef17a2e 39472009-06-16 Pavel Roskin <proski@gnu.org>
3948
3949 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
3950 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
3951 save %dx, we only need %dl and we never change it.
3952 * boot/i386/pc/cdboot.S: Don't set the root drive.
3953 * boot/i386/pc/pxeboot.S: Likewise.
3954 * include/grub/i386/pc/boot.h: Remove
3955 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
3956 GRUB_BOOT_MACHINE_DRIVE_CHECK.
3957 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
3958 * kern/i386/pc/init.c (make_install_device): Remove references
3959 to grub_root_drive.
3960 * kern/i386/pc/startup.S: Likewise.
3961 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
3962
693fe637 39632009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 xnu_uuid command
3966
3967 * commands/xnu_uuid.c: new file
3968 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
3969 (xnu_uuid_mod_SOURCES): new variable
3970 (xnu_uuid_mod_CFLAGS): likewise
3971 (xnu_uuid_mod_LDFLAGS): likewise
3972 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3973 * conf/i386-ieee1275.rmk: likewise
3974 * conf/i386-pc.rmk: likewise
3975 * conf/powerpc-ieee1275.rmk: likewise
3976 * conf/sparc64-ieee1275.rmk: likewise
3977 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
3978
c9da87d0 39792009-06-16 Pavel Roskin <proski@gnu.org>
3980
3981 * configure.ac: Avoid '==' in test command, it's not portable.
3982
9c6f4596 39832009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Probe command
3986
3987 * commands/probe.c: new file
3988 * conf/common.rmk (pkglib_MODULES): add probe.mod
3989 (probe_mod_SOURCES): new variable
3990 (probe_mod_CFLAGS): likewise
3991 (probe_mod_LDFLAGS): likewise
3992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3993 * conf/i386-ieee1275.rmk: likewise
3994 * conf/i386-pc.rmk: likewise
3995 * conf/powerpc-ieee1275.rmk: likewise
3996 * conf/sparc64-ieee1275.rmk: likewise
3997
70b7f9fd 39982009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Fix handling of string like \"hello\" and "a
4001 b"
4002
4003 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
4004 (grub_script_yylex): fix parsing of quoting, escaping and newline
4005
71c79a6b 40062009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4007
dd74360c 4008 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 4009 handling
dd74360c 4010
0644f96c 40112009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 4012
4013 * util/grub-mkconfig.in: Fix parsing of --output option.
4014
e40893c3 40152009-06-12 Pavel Roskin <proski@gnu.org>
4016
4017 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
4018 genmk.rb don't need to be generated or installed.
4019
3a1acfe2 40202009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * commands/i386/pc/drivemap_int13h.S: add more comments
4023
3a4575d4 40242009-06-11 Pavel Roskin <proski@gnu.org>
4025
0658e928 4026 * Makefile.in (uninstall): Uninstall manuals.
4027
ca0388f0 4028 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
4029 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
4030 and update-grub_lib in two places.
4031 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
4032
e3b27c39 4033 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
4034 a compiler warning.
4035
3a4575d4 4036 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
4037 `entry_lo' to fix variable shadowing.
4038
af1f4f55 40392009-06-11 Christian Franke <franke@computer.org>
4040
4041 * kern/misc.c (__enable_execute_stack): Add missing return type
4042 to prevent gcc warning.
4043
5225e649 40442009-06-11 Felix Zielcke <fzielcke@z-51.de>
4045
4046 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
4047
7d83bd47 40482009-06-11 Pavel Roskin <proski@gnu.org>
4049
c1cb63ba 4050 * Makefile.in: Don't rely on any scripts being executable.
4051 Always use $(SHELL) to run shell scripts.
4052
7d83bd47 4053 * configure.ac: Always define ___main if using -nostdlib. This
4054 fixes tests on Cygwin.
4055
948f48e7 40562009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
4057
4058 UDF fix
4059
7d83bd47 4060 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 4061 is in bytes and not in blocks
7d83bd47 4062
8ada9bc1 40632009-06-11 Pavel Roskin <proski@gnu.org>
4064
4065 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
4066 warning.
4067
25ad2323 40682009-06-11 Felix Zielcke <fzielcke@z-51.de>
4069
4070 * util/grub.d/30_os-prober.in: Fix a comment. Source
4071 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
4072 to set the root device. Place drivemap command in the generated
4073 chain entry.
4074
e65acb0c 40752009-06-11 Pavel Roskin <proski@gnu.org>
4076
4077 * configure.ac: Remove host_m32. Issues with 64-bit utilities
4078 have long been resolved.
4079
f285fe2d 40802009-06-11 Colin Watson <cjwatson@ubuntu.com>
4081
bd47b0b5 4082 * util/grub.d/10_linux.in: Capitalise "Linux".
4083
f285fe2d 4084 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
4085
a0c62e4e 40862009-06-11 Pavel Roskin <proski@gnu.org>
4087
b6783cb2 4088 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
4089 fix a gcc warning and ensure that the function won't ever exit.
4090
dde032e8 4091 * kern/i386/ieee1275/init.c: Add missing prototype for
4092 grub_stop_floppy().
4093
22cd079d 4094 * loader/ieee1275/multiboot2.c [__i386__]: Include
4095 grub/cpu/multiboot.h.
4096
a0c62e4e 4097 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
4098 casts to short - they are not portable and cause warnings. Fix
4099 use of uninitialized values in input_buf. Use ARRAY_SIZE.
4100
63963d17 41012009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 Drivemap fixes
4104
4105 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
4106 new function
4107 (grub_get_root_biosnumber_saved): new variable
4108 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
4109 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 4110 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 4111 %dx after the call if necessary
4112 * conf/common.rmk (pkglib_MODULES): remove boot.mod
4113 (boot_mod_SOURCES): remove
4114 (boot_mod_CFLAGS): remove
4115 (boot_mod_LDFLAGS): remove
4116 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
4117 (boot_mod_SOURCES): new variable
4118 (boot_mod_CFLAGS): likewise
4119 (boot_mod_LDFLAGS): likewise
4120 * conf/i386-efi.rmk: likewise
4121 * conf/i386-ieee1275.rmk: likewise
4122 * conf/i386-pc.rmk: likewise
4123 * conf/powerpc-ieee1275.rmk: likewise
4124 * conf/sparc64-ieee1275.rmk: likewise
4125 * conf/x86_64-efi.rmk: likewise
4126 * include/grub/i386/pc/biosnum.h: new file
4127 * lib/i386/pc/biosnum.c: likewise
4128 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
4129 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
4130 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 4131
33abf7ae 41322009-06-10 Pavel Roskin <proski@gnu.org>
4133
5ac35b35 4134 * io/gzio.c (test_header): Don't reuse one buffer for all data.
4135 Use separate variables. Read only the file size at the end, but
4136 not the checksum that we don't use.
4137
5c5215d5 4138 * kern/file.c (grub_file_read): Use void pointer for the buffer.
4139 Adjust all callers.
4140
27d5fef7 4141 * kern/ieee1275/openfw.c: Remove libc includes.
4142 * kern/ieee1275/cmain.c: Likewise.
4143 * include/grub/ieee1275/ieee1275.h: Likewise.
4144
33abf7ae 4145 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
4146 compiler warnings.
4147
19d50c2b 41482009-06-10 Felix Zielcke <fzielcke@z-51.de>
4149
4150 * Makefile.in: Remove all trailing whitespace.
4151 * conf/i386-pc.rmk: Likewise.
4152 * conf/powerpc-ieee1275.rmk: Likewise.
4153 * conf/sparc64-ieee1275.rmk: Likewise.
4154 * docs/grub.texi: Likewise.
4155 * docs/texinfo.tex: Likewise.
4156 * disk/fs_uuid.c: Likewise.
4157 * disk/lvm.c: Likewise.
4158 * disk/scsi.c: Likewise.
4159 * disk/ata.c: Likewise.
4160 * disk/ieee1275/ofdisk.c: Likewise.
4161 * disk/i386/pc/biosdisk.c: Likewise.
4162 * disk/host.c: Likewise.
4163 * disk/raid.c: Likewise.
4164 * disk/efi/efidisk.c: Likewise.
4165 * disk/usbms.c: Likewise.
4166 * disk/memdisk.c: Likewise.
4167 * disk/loopback.c: Likewise.
4168 * kern/powerpc/dl.c: Likewise.
4169 * kern/device.c: Likewise.
4170 * kern/dl.c: Likewise.
4171 * kern/sparc64/dl.c: Likewise.
4172 * kern/ieee1275/ieee1275.c: Likewise.
4173 * kern/term.c: Likewise.
4174 * kern/fs.c: Likewise.
4175 * kern/i386/dl.c: Likewise.
4176 * kern/i386/pc/startup.S: Likewise.
4177 * kern/i386/pc/init.c: Likewise.
4178 * kern/i386/pc/mmap.c: Likewise.
4179 * kern/i386/pc/lzo1x.S: Likewise.
4180 * kern/i386/ieee1275/init.c: Likewise.
4181 * kern/i386/realmode.S: Likewise.
4182 * kern/i386/tsc.c: Likewise.
4183 * kern/partition.c: Likewise.
4184 * kern/corecmd.c: Likewise.
4185 * kern/file.c: Likewise.
4186 * kern/efi/efi.c: Likewise.
4187 * kern/efi/init.c: Likewise.
4188 * kern/efi/mm.c: Likewise.
4189 * kern/main.c: Likewise.
4190 * kern/err.c: Likewise.
4191 * kern/env.c: Likewise.
4192 * kern/disk.c: Likewise.
4193 * kern/generic/millisleep.c: Likewise.
4194 * kern/generic/rtc_get_time_ms.c: Likewise.
4195 * kern/misc.c: Likewise.
4196 * kern/parser.c: Likewise.
4197 * genmk.rb: Likewise.
4198 * configure.ac: Likewise.
4199 * boot/i386/pc/diskboot.S: Likewise.
4200 * boot/i386/pc/pxeboot.S: Likewise.
4201 * boot/i386/pc/boot.S: Likewise.
4202 * boot/i386/pc/lnxboot.S: Likewise.
4203 * boot/i386/pc/cdboot.S: Likewise.
4204 * parttool/pcpart.c: Likewise.
4205 * video/readers/tga.c: Likewise.
4206 * video/video.c: Likewise.
4207 * video/bitmap.c: Likewise.
4208 * lib/envblk.c: Likewise.
4209 * lib/i386/setjmp.S: Likewise.
4210 * fs/xfs.c: Likewise.
4211 * fs/afs.c: Likewise.
4212 * fs/fat.c: Likewise.
4213 * fs/ntfs.c: Likewise.
4214 * fs/udf.c: Likewise.
4215 * fs/affs.c: Likewise.
4216 * fs/iso9660.c: Likewise.
4217 * fs/hfs.c: Likewise.
4218 * fs/fshelp.c: Likewise.
4219 * fs/ext2.c: Likewise.
4220 * fs/jfs.c: Likewise.
4221 * fs/reiserfs.c: Likewise.
4222 * fs/hfsplus.c: Likewise.
4223 * fs/minix.c: Likewise.
4224 * fs/cpio.c: Likewise.
4225 * fs/sfs.c: Likewise.
4226 * fs/ufs.c: Likewise.
4227 * efiemu/prepare.c: Likewise.
4228 * efiemu/loadcore_common.c: Likewise.
4229 * efiemu/runtime/efiemu.sh: Likewise.
4230 * efiemu/runtime/efiemu.S: Likewise.
4231 * efiemu/runtime/efiemu.c: Likewise.
4232 * efiemu/pnvram.c: Likewise.
4233 * efiemu/main.c: Likewise.
4234 * efiemu/i386/pc/cfgtables.c: Likewise.
4235 * efiemu/i386/loadcore64.c: Likewise.
4236 * efiemu/i386/loadcore32.c: Likewise.
4237 * efiemu/loadcore.c: Likewise.
4238 * efiemu/symbols.c: Likewise.
4239 * efiemu/mm.c: Likewise.
4240 * include/grub/autoefi.h: Likewise.
4241 * include/grub/datetime.h: Likewise.
4242 * include/grub/term.h: Likewise.
4243 * include/grub/hfs.h: Likewise.
4244 * include/grub/lvm.h: Likewise.
4245 * include/grub/i386/tsc.h: Likewise.
4246 * include/grub/i386/linux.h: Likewise.
4247 * include/grub/i386/xnu.h: Likewise.
4248 * include/grub/i386/efiemu.h: Likewise.
4249 * include/grub/i386/pc/biosdisk.h: Likewise.
4250 * include/grub/i386/pc/memory.h: Likewise.
4251 * include/grub/i386/pc/vbe.h: Likewise.
4252 * include/grub/parttool.h: Likewise.
4253 * include/grub/video.h: Likewise.
4254 * include/grub/memory.h: Likewise.
4255 * include/grub/fs.h: Likewise.
4256 * include/grub/partition.h: Likewise.
4257 * include/grub/xnu.h: Likewise.
4258 * include/grub/efi/api.h: Likewise.
4259 * include/grub/efi/pe32.h: Likewise.
4260 * include/grub/efi/memory.h: Likewise.
4261 * include/grub/multiboot.h: Likewise.
4262 * include/grub/usbdesc.h: Likewise.
4263 * include/grub/multiboot2.h: Likewise.
4264 * include/grub/acpi.h: Likewise.
4265 * include/grub/efiemu/efiemu.h: Likewise.
4266 * include/grub/disk.h: Likewise.
4267 * include/grub/ieee1275/ieee1275.h: Likewise.
4268 * include/grub/net.h: Likewise.
4269 * include/grub/machoload.h: Likewise.
4270 * include/grub/macho.h: Likewise.
4271 * include/multiboot.h: Likewise.
4272 * genmoddep.awk: Likewise.
4273 * normal/main.c: Likewise.
4274 * normal/menu_entry.c: Likewise.
4275 * normal/menu_viewer.c: Likewise.
4276 * normal/completion.c: Likewise.
4277 * normal/cmdline.c: Likewise.
4278 * normal/misc.c: Likewise.
4279 * normal/datetime.c: Likewise.
4280 * bus/usb/usbtrans.c: Likewise.
4281 * bus/usb/ohci.c: Likewise.
4282 * bus/usb/uhci.c: Likewise.
4283 * bus/usb/usb.c: Likewise.
4284 * mmap/efi/mmap.c: Likewise.
4285 * mmap/i386/pc/mmap_helper.S: Likewise.
4286 * mmap/i386/pc/mmap.c: Likewise.
4287 * mmap/i386/mmap.c: Likewise.
4288 * mmap/i386/uppermem.c: Likewise.
4289 * mmap/mmap.c: Likewise.
4290 * commands/acpi.c: Likewise.
4291 * commands/echo.c: Likewise.
4292 * commands/blocklist.c: Likewise.
4293 * commands/loadenv.c: Likewise.
4294 * commands/usbtest.c: Likewise.
4295 * commands/boot.c: Likewise.
4296 * commands/parttool.c: Likewise.
4297 * commands/search.c: Likewise.
4298 * commands/cat.c: Likewise.
4299 * commands/i386/pc/play.c: Likewise.
4300 * commands/i386/pc/drivemap.c: Likewise.
4301 * commands/i386/pc/vbeinfo.c: Likewise.
4302 * commands/i386/pc/acpi.c: Likewise.
4303 * commands/i386/pc/vbetest.c: Likewise.
4304 * commands/ls.c: Likewise.
4305 * commands/cmp.c: Likewise.
4306 * commands/test.c: Likewise.
4307 * commands/efi/acpi.c: Likewise.
4308 * commands/gptsync.c: Likewise.
4309 * commands/help.c: Likewise.
4310 * partmap/amiga.c: Likewise.
4311 * partmap/apple.c: Likewise.
4312 * partmap/acorn.c: Likewise.
4313 * partmap/pc.c: Likewise.
4314 * partmap/sun.c: Likewise.
4315 * partmap/gpt.c: Likewise.
4316 * script/sh/lexer.c: Likewise.
4317 * script/sh/function.c: Likewise.
4318 * font/font.c: Likewise.
4319 * font/font_cmd.c: Likewise.
4320 * loader/powerpc/ieee1275/linux.c: Likewise.
4321 * loader/efi/chainloader.c: Likewise.
4322 * loader/multiboot_loader.c: Likewise.
4323 * loader/macho.c: Likewise.
4324 * loader/i386/multiboot.c: Likewise.
4325 * loader/i386/linux.c: Likewise.
4326 * loader/i386/pc/linux.c: Likewise.
4327 * loader/i386/pc/multiboot2.c: Likewise.
4328 * loader/i386/pc/chainloader.c: Likewise.
4329 * loader/i386/pc/xnu.c: Likewise.
4330 * loader/i386/bsd_trampoline.S: Likewise.
4331 * loader/i386/efi/linux.c: Likewise.
4332 * loader/i386/multiboot_elfxx.c: Likewise.
4333 * loader/i386/bsd_helper.S: Likewise.
4334 * loader/i386/bsd.c: Likewise.
4335 * loader/i386/linux_trampoline.S: Likewise.
4336 * loader/i386/xnu_helper.S: Likewise.
4337 * loader/i386/xnu.c: Likewise.
4338 * loader/i386/bsd_pagetable.c: Likewise.
4339 * loader/i386/multiboot_helper.S: Likewise.
4340 * loader/xnu.c: Likewise.
4341 * loader/xnu_resume.c: Likewise.
4342 * io/gzio.c: Likewise.
4343 * term/efi/console.c: Likewise.
4344 * term/terminfo.c: Likewise.
4345 * term/ieee1275/ofconsole.c: Likewise.
4346 * term/i386/pc/serial.c: Likewise.
4347 * term/i386/pc/vesafb.c: Likewise.
4348 * term/i386/pc/vga.c: Likewise.
4349 * term/usb_keyboard.c: Likewise.
4350 * term/gfxterm.c: Likewise.
4351 * aclocal.m4: Likewise.
4352 * util/lvm.c: Likewise.
4353 * util/grub.d/30_os-prober.in: Likewise.
4354 * util/grub.d/10_hurd.in: Likewise.
4355 * util/console.c: Likewise.
4356 * util/grub-macho2img.c: Likewise.
4357 * util/grub-probe.c: Likewise.
4358 * util/hostfs.c: Likewise.
4359 * util/i386/pc/grub-mkimage.c: Likewise.
4360 * util/i386/pc/grub-setup.c: Likewise.
4361 * util/i386/efi/grub-mkimage.c: Likewise.
4362 * util/grub-mkconfig.in: Likewise.
4363 * util/raid.c: Likewise.
4364 * util/resolve.c: Likewise.
4365 * util/grub-mkdevicemap.c: Likewise.
4366 * util/grub-emu.c: Likewise.
4367 * util/getroot.c: Likewise.
4368 * util/hostdisk.c: Likewise.
4369 * util/usb.c: Likewise.
4370 * util/grub-editenv.c: Likewise.
4371 * util/misc.c: Likewise.
4372
d2d49665 43732009-06-10 Felix Zielcke <fzielcke@z-51.de>
4374
4375 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
4376 `genparttoollist.sh'.
4377 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
4378 Add `*.sh' to the list find searches for and change `mdate.sh'
4379 to `mdate-sh'.
4380
fe052e37 43812009-06-10 Pavel Roskin <proski@gnu.org>
4382
2763ac18 4383 * include/grub/multiboot2.h: Provide compatibility defines for
4384 multiboot2.h.
4385 * include/multiboot2.h: Include stdint.h only if needed, using
4386 angle brackets.
4387 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
4388 grub/multiboot2.h.
4389 * loader/ieee1275/multiboot2.c: Likewise.
4390 * loader/multiboot2.c: Likewise.
4391 * loader/multiboot_loader.c: Likewise.
4392
437e6adc 4393 * configure.ac: Use -nostdlib when probing for the target. It
4394 should not be required to have libc for the target.
4395
06a6836c 4396 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
4397 they fail without libc headers for the target.
4398 * include/grub/powerpc/libgcc.h: Use weak attribute for all
4399 exports.
4400 * include/grub/sparc64/libgcc.h: Likewise. Don't use
4401 preprocessor conditionals.
4402
fe052e37 4403 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
4404 build system doesn't need to be aware of the tar.c internals.
4405
afd22553 44062009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 4407
afd22553 4408 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 4409
6b787c4f 44102009-06-09 Robert Millan <rmh.grub@aybabtu.com>
4411
4412 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
4413 disk limit to 26 for IDE, Virtio, Xen and SCSI.
4414
44152009-06-09 Felix Zielcke <fzielcke@z-51.de>
4416
4417 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 4418 aren't available if ata.mod gets used.
6b787c4f 4419
473d1e45 44202009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 4421
473d1e45 4422 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 4423 initialising controller.
473d1e45 4424 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 4425
255a27d4 44262009-06-08 Felix Zielcke <fzielcke@z-51.de>
4427
4428 * util/i386/pc/grub-install.in: Add a parameter --disk-module
4429 to choose between ata and biosdisk module on i386-pc.
4430
473d1e45 44312009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 4432
d55842d8 4433 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
4434 Subclass and Programming Interface fields in terms of the 3 byte
4435 Class Code register.
4436 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
4437
fa5db0b1 4438 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
4439 interface is OHCI. Add grub_dprintf for symmetry with
4440 bus/usb/uhci.c.
4441 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
4442 interface is UHCI. Add interf variable for programming
4443 interface. Print interface with class/subclass.
4444
c0947beb 4445 * bus/usb/ohci.c: Set interf with correct field.
4446
69da8877 4447 * bus/usb/uhci.c: Remove unneeded doubled lines.
4448 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
4449 Remove whitespace inside comment.
4450
9e172e30 44512009-06-08 Robert Millan <rmh.grub@aybabtu.com>
4452
4453 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
4454 as fallback an equivalent option without depth.
4455
de65ee2b 44562009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 Not fail if unable to retrieve C/H/S on LBA disks
4459
473d1e45 4460 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 4461 if unable to retrieve C/H/S on LBA disks
4462
b57ea2c9 44632009-06-08 Pavel Roskin <proski@gnu.org>
4464
4465 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
4466 about aliasing.
4467
af361263 44682009-06-08 Felix Zielcke <fzielcke@z-51.de>
4469
4470 * Makefile.in (uninstall): Remove all $lib_DATA files.
4471
4c9ec6b3 44722009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 Bugfix: install on partitionless device
4475
4476 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
4477 is a whole disk
4478
e76fc924 44792009-06-08 Felix Zielcke <fzielcke@z-51.de>
4480
4481 * Makefile.in (uninstall): Remove all $include_DATA files.
4482
ba5a0d05 44832009-06-08 Felix Zielcke <fzielcke@z-51.de>
4484
4485 * commands/true.c: New file. Implement the true and false commands.
4486 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
4487 (true_mod_SOURCES): New variable.
4488 (true_mod_CFLAGS): Likewise.
4489 (true_mod_LDFLAGS): Likewise.
4490
c8048e32 44912009-06-05 Colin D Bennett <colin@gibibit.com>
4492
4493 Optimized font character lookup using binary search instead of linear
4494 search. Fonts now are required to have the character index ordered by
4495 code point.
4496
4497 * font/font.c (load_font_index): Verify that fonts have ordered
4498 character indices.
4499 (find_glyph): Use binary search instead of linear search to find a
4500 character in a font.
4501
408305be 45022009-06-05 Michael Scherer <misc@mandriva.org>
4503
4504 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
4505 uses case sensitive btree.
4506 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
4507 only for case insensitive filesystems.
4508
8ee1e0d9 45092009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
4512 * conf/common.rmk (search_mod_CFLAGS): likewise
4513
a9966eb1 45142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4515
473d1e45 4516 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 4517 compensate a compiler bug
4518
9e7100fb 45192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4520
473d1e45 4521 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 4522 instead of '\b'
473d1e45 4523
ede21d71 45242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 Definitions for creating asm symbols with Apple's CC
4527
4528 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
4529 [APPLE_CC] (VARIABLE): likewise
4530
9dbf7653 45312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Disable lnxboot.img when compiled
4534 with Apple's CC
4535
4536 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
4537 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
4538 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
4539 [! APPLE_CC] (CODE_LENG): skip
4540 [! APPLE_CC] (setup_sects): likewise
4541 [! APPLE_CC]: skip filling
473d1e45 4542
e93cdc3d 45432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Address in trampolines based on 32-bit registers when compiled
4546 with Apple's CC
4547
473d1e45 4548 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 4549 for addresses
4550 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
4551
6c688477 45522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Avoid aliases when compiling with Apple's CC for PCBIOS machine
4555
4556 * kern/misc.c [APPLE_CC] (memcpy): new function
4557 [APPLE_CC] (memmove): likewise
4558 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 4559 (memcpy): define alias conditionally on !APPLE_CC
6c688477 4560 (memset): likewise
4561 (abort): likewise
4562 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
4563 APPLE_CC are defined
4564 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
4565 (grub_assert_fail): make prototype conditional
4566
e37ffc5c 45672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
4570
473d1e45 4571 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
4572 grub-macho2img
e37ffc5c 4573 (CLEANFILES): add grub-macho2img
4574 (grub_macho2img_SOURCES): new variable
4575 * kern/i386/pc/startup.S (bss_start): new variable
4576 (bss_end): likewise
4577 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
4578 * util/grub-macho2img.c: new file
4579
cf00df31 45802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 Use objconv when compiling with Apple's CC
4583
4584 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
4585 (efiemu64.o): likewise
4586 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
4587 when compiling with Apple's CC
4588 (efiemu64_s.o): likewise
4589 * configure.ac: check for objconv when compiling with Apple's CC
4590 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 4591
d119a20c 45922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 Define segment as well as section when compiling with
4595 Apple's CC
4596
4597 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
4598 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
4599 (efiemu_convert_pointer): likewise
4600 (efiemu_set_virtual_address_map): likewise
4601 (efiemu_convert_pointer): likewise
4602 (efiemu_getcrc32): likewise
4603 (init_crc32_table): likewise
4604 (reflect): likewise
4605 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
4606 (GRUB_MOD_DEP): likewise
473d1e45 4607
c8600122 46082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 Allow a compilation without -mcmodel=large
4611
4612 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
4613 when compiled without -mcmodel=large
473d1e45 4614 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 4615 without -mcmodel=large
473d1e45 4616 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 4617 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 4618
e8df1d4e 46192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Remove nested functions in efiemu core
4622
4623 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 4624
cc6c3ac1 46252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
4628
4629 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
4630 temporary storage
473d1e45 4631 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
4632 using Apple's CC
cc6c3ac1 4633 (grub_cpu_is_tsc_supported): likewise
4634 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 4635
3e325901 46362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 Absolute addressing through constant with Apple's cc
4639
4640 * kern/i386/pc/startup.S: Define necessary constants
4641 and address through it when using ABS with Apple's CC
4642 * boot/i386/pc/diskboot.S: likewise
4643 * boot/i386/pc/boot.S: likewise
4644 * boot/i386/pc/lnxboot.S: likewise
4645 * boot/i386/pc/cdboot.S: likewise
4646 * mmap/i386/pc/mmap_helper.S: likewise
4647 * commands/i386/pc/drivemap_int13h.S: likewise
4648
2b167a72 46492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Check if compiler is apple cc
4652
4653 * Makefile.in (ASFLAGS): new variable
4654 (TARGET_ASFLAGS): likewise
4655 (TARGET_MODULE_FORMAT): likewise
4656 (TARGET_APPLE_CC): likewise
4657 (OBJCONV): likewise
4658 (TARGET_IMG_CFLAGS): likewise
4659 (TARGET_CPPFLAGS): add includedir
4660 * configure.ac: call grub_apple_cc and grub_apple_target_cc
4661 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
4662 Check for linker script only if compiler isn't Apple's CC
4663 (TARGET_MODULE_FORMAT): set
4664 (TARGET_APPLE_CC): likewise
4665 (TARGET_ASFLAGS): likewise
4666 (ASFLAGS): likewise
4667 Check for objcopy only if compiler isn't Apple's CC
4668 Check for BSS symbol only if compiler isn't Apple's CC
4669 * genmk.rb: adapt nm options if we use Apple's utils
4670 * aclocal.m4 (grub_apple_cc): new test
4671 (grub_apple_target_cc): likewise
473d1e45 4672
fb14123e 46732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Simplify sed expressions and improve awk
4676
4677 * Makefile.in (install-local): simplify sed expression
4678 * gencmdlist.sh: likewise
4679 * genmoddep.awk: avoid adding module as a dependency of itself
4680
5b889789 46812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Add missing start symbols
4684
4685 * boot/i386/pc/boot.S: add start
fb14123e 4686 * boot/i386/pc/pxeboot.S: likewise
473d1e45 4687
fd2bf2e3 46882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 4691
4692 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 4693 (relocate_addresses): consider both r_addend and value at offset
4694 (make_mods_section): zerofill modinfo and header
4695 (convert_elf): write prefix here
473d1e45 4696
5389763d 46972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 Use .asciz instead of .string
4700
4701 * i386/pc/diskboot.S: use .asciz instead of .string
4702 * i386/pc/boot.S: likewise
4703 * include/grub/dl.h (GRUB_MOD_DEP): likewise
4704 (GRUB_MOD_NAME): likewise
473d1e45 4705
3eb5ed4e 47062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 gfxpayload support
4709
4710 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
4711 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
4712 (grub_video_setup): remove
4713 (grub_video_set_mode): new prototype
4714 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
4715 (vid_mode): remove
4716 (linux_vesafb_res): compile only on PCBIOS
4717 (grub_linux_boot): support gfxpayload
4718 * loader/i386/pc/xnu.c (video_hook): new function
4719 (grub_xnu_set_video): support gfxpayload
4720 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
4721 (DEFAULT_VIDEO_HEIGHT): likewise
4722 (DEFAULT_VIDEO_FLAGS): likewise
4723 (DEFAULT_VIDEO_MODE): new definition
4724 (video_hook): new function
4725 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 4726 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 4727 loading xnu
4728 * video/video.c (grub_video_setup): removed
473d1e45 4729 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 4730 grub_video_setup
4731
4b0e1143 47322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 Avoid calling biosdisk in drivemap
4735
4736 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
4737 (revparse_biosdisk): likewise
4738 (list_mappings): derive name from id directly
4739 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 4740
fda6cb98 47412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Script fixes
4744
4745 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
4746 (grub_lexer_param): add tokenonhold
4747 (grub_script_create_cmdline): remove cmdline. All callers updated
4748 (grub_script_function_create): make functionname
4749 grub_script_arg. All callers updated
4750 (grub_script_execute_argument_to_string): new prototype
4751 * kern/parser.c (state_transitions): reorder
4752 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 4753 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 4754 make global
4755 (grub_script_execute_cmdline): use new format
4756 * script/sh/function.c (grub_script_function_create): make functionname
4757 grub_script_arg. All callers updated
473d1e45 4758 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 4759 (grub_script_yylex): remove
4760 (grub_script_yylex2): renamed to ...
4761 (grub_script_yylex): ...renamed
4762 parse the expressions like a${b}c
4763 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
4764 (GRUB_PARSER_TOKEN_VAR): remove
4765 (GRUB_PARSER_TOKEN_NAME): likewise
4766 ("if"): declare as typeless
4767 ("while"): likewise
4768 ("function"): likewise
4769 ("else"): likewise
4770 ("then"): likewise
4771 ("fi"): likewise
4772 (text): remove
4773 (argument): likewise
4774 (script): accept empty scripts and make exit on error
4775 (arguments): use GRUB_PARSER_TOKEN_ARG
4776 (function): likewise
4777 (command): move error handling to script
4778 (menuentry): move grub_script_lexer_ref before
473d1e45 4779 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 4780 argument. All callers updated
4781
f4448a07 47822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4783
4784 Prevent GRUB from probing floppies during boot.
4785
4786 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
4787 * commands/search.c (options): Add --no-floppy.
4788 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
4789 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
4790 --no-floppy when searching for UUIDs.
4791
2bf5885a 47922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4793
4794 Simplify the code duplication in commands/search.c.
4795
4796 * commands/search.c (search_label, search_fs_uuid): Merge into ...
4797 (search_fs): ... this. Update all users.
4798
f6fd460a 47992009-06-03 Felix Zielcke <fzielcke@z-51.de>
4800
4801 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
4802
cbb3c83e 48032009-05-28 Pavel Roskin <proski@gnu.org>
4804
57788cfd 4805 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
4806 Remove the original symlink explicitly.
4807
cbb3c83e 4808 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
4809 just one slash. That's how grub_fshelp_find_file() does it.
4810
cd0d5e30 48112009-05-26 Pavel Roskin <proski@gnu.org>
4812
f0f8bbe2 4813 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
4814 to `str'.
4815
cd0d5e30 4816 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
4817 possibly unused.
4818
8c2cab51 48192009-05-25 Christian Franke <franke@computer.org>
4820
4821 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
4822 register.
4823 (grub_atapi_identify): Add wait after drive select.
4824 (grub_ata_identify): Do more strict status register check before
4825 calling grub_atapi_identify (). Suppress error message if status
4826 register is 0x00 after command failure. Add status register
4827 check after PIO read to avoid bogus identify due to stuck DRQ.
4828 Thanks to Pavel Roskin for testing.
4829 (grub_device_initialize): Remove unsafe status register check.
4830 Thanks to 'phcoder' for problem report and patch.
4831 Prevent sign extension in debug message.
4832
230c0ad6 48332009-05-23 Colin D Bennett <colin@gibibit.com>
4834
4835 Cleaned up `include/grub/normal.h'. Grouped prototypes by
4836 definition file, and functions defined in `normal/menu.c' have had
4837 their prototypes moved to `include/grub/menu.h' for consistency.
4838
4839 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
4840 from normal.h.
4841 (grub_menu_get_entry): Likewise.
4842 (grub_menu_get_timeout): Likewise.
4843 (grub_menu_set_timeout): Likewise.
4844 (grub_menu_execute_entry): Likewise.
4845 (grub_menu_execute_with_fallback): Likewise.
4846 (grub_menu_entry_run): Likewise.
4847
4848 * include/grub/normal.h: Re-ordered and grouped function
4849 prototypes by file that the function is defined in.
4850 (grub_menu_execute_callback): Removed; moved to menu.h.
4851 (grub_menu_get_entry): Likewise.
4852 (grub_menu_get_timeout): Likewise.
4853 (grub_menu_set_timeout): Likewise.
4854 (grub_menu_execute_entry): Likewise.
4855 (grub_menu_execute_with_fallback): Likewise.
4856 (grub_menu_entry_run): Likewise.
4857 (grub_menu_addentry): Renamed from this ...
4858 (grub_normal_add_menu_entry): ... to this.
4859
4860 * normal/main.c (grub_menu_addentry): Renamed from this ...
4861 (grub_normal_add_menu_entry): ... to this.
4862
4863 * script/sh/execute.c (grub_script_execute_menuentry): Update
4864 reference to renamed grub_menu_addentry function.
4865
861f03a5 48662009-05-23 Felix Zielcke <fzielcke@z-51.de>
4867
4868 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
4869
96b1619a 48702009-05-22 Pavel Roskin <proski@gnu.org>
4871
bf6a5fb2 4872 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
4873 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
4874 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
4875 compiling for the i386 targets, but not for the utilities.
4876
96b1619a 4877 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
4878 to grub_uint8_t.
4879 (grub_root_drive): Likewise.
4880 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
4881 remove alignment.
4882 (grub_root_drive): Change size to byte.
4883 (grub_start_addr): Remove.
4884 (grub_end_addr): Likewise.
4885 (grub_apm_bios_info): Likewise.
4886
b729776b 48872009-05-21 Felix Zielcke <fzielcke@z-51.de>
4888
4889 * normal/i386: Remove.
4890 * normal/powerpc: Likewise.
4891 * normal/sparc64: Likewise.
4892 * normal/x86_64: Likewise.
4893
0a15ce80 48942009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 4897 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 4898 * loader/i386/xnu_helper.S: Likewise
d6da58e6 4899
33db9015 49002009-05-18 Colin D Bennett <colin@gibibit.com>
4901
d6da58e6 4902 Display error messages when parsing a Lua statement fails.
4903 Previously, executing a syntactically invalid statement like
4904 ")foo" or "bar;" would silently fail.
33db9015 4905
4906 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 4907 (grub_lua_parse_line): Improved reporting of Lua parser and
4908 execution errors.
33db9015 4909
46422c89 49102009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Remove -Werror which causes build to fail on some systems
4913
4914 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
4915 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
4916 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 4917
22f53a96 49182009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 trampoline for linux on 64-bit platform
4921
18f547ad 4922 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
4923 loader/i386/efi/linux_trampoline.S
4924 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 4925 declaration
d6da58e6 4926 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
4927 here
22f53a96 4928 * loader/i386/linux_trampoline.S: moved here
d6da58e6 4929 * loader/i386/efi/linux.c (allocate_pages): reserve space for
4930 trampoline
22f53a96 4931 (jumpvector): removed
4932 (grub_linux_trampoline_start): new declaration
4933 (grub_linux_trampoline_end): likewise
4934 (grub_linux_boot): use trampoline when on 64-bit platform
4935 * loader/i386/linux.c: likewise
4936
cb5a0f40 49372009-05-16 Pavel Roskin <proski@gnu.org>
4938
4939 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
4940 const to avoid a warning.
4941 (grub_lua_setenv): Likewise.
4942 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
4943 lmsg to fix a warning.
4944
334f2c28 49452009-05-16 Felix Zielcke <fzielcke@z-51.de>
4946
4947 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 4948 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4949 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
4950 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4951 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4952 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4953 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4954 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 4955
59e5d3ec 49562009-05-16 Felix Zielcke <fzielcke@z-51.de>
4957
4958 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
4959
9d87a1ba 49602009-05-16 Bean <bean123ch@gmail.com>
4961
4962 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
4963 (lua_mod_SOURCES): New variable.
4964 (lua_mod_CFLAGS): Likewise.
4965 (lua_mod_LDFLAGS): Likewise.
4966
4967 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
4968 (setjmp_mod_SOURCES): New variable.
4969 (setjmp_mod_CFLAGS): Likewise.
4970 (setjmp_LDFLAGS): Likewise.
4971
4972 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
4973 (setjmp_mod_SOURCES): New variable.
4974 (setjmp_mod_CFLAGS): Likewise.
4975 (setjmp_LDFLAGS): Likewise.
4976
4977 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4978 (setjmp_mod_SOURCES): New variable.
4979 (setjmp_mod_CFLAGS): Likewise.
4980 (setjmp_LDFLAGS): Likewise.
4981
4982 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4983 (setjmp_mod_SOURCES): New variable.
4984 (setjmp_mod_CFLAGS): Likewise.
4985 (setjmp_LDFLAGS): Likewise.
4986
4987 * normal/i386/setjmp.S: Moved from here ...
4988 * lib/i386/setjmp.S: ... Moved here
4989 * normal/x86_64/setjmp.S: Moved from here ...
4990 * lib/x86_64/setjmp.S: ... Moved here
4991 * normal/powerpc/setjmp.S: Moved from here ...
4992 * lib/powerpc/setjmp.S: ... Moved here
4993 * normal/sparc64/setjmp.S: Moved from here ...
4994 * lib/sparc64/setjmp.S: ... Moved here
4995
4996 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
4997 returns_twice in mingw.
4998
4999 * script/lua/grub_lib.c: New file.
5000 * script/lua/grub_lib.h: Likewise.
5001 * script/lua/grub_lua.h: Likewise.
5002 * script/lua/grub_main.c: Likewise.
5003 * script/lua/lapi.c: Likewise.
5004 * script/lua/lapi.h: Likewise.
5005 * script/lua/lauxlib.c: Likewise.
5006 * script/lua/lauxlib.h: Likewise.
5007 * script/lua/lbaselib.c: Likewise.
5008 * script/lua/lcode.c: Likewise.
5009 * script/lua/lcode.h: Likewise.
5010 * script/lua/ldblib.c: Likewise.
5011 * script/lua/ldebug.c: Likewise.
5012 * script/lua/ldebug.h: Likewise.
5013 * script/lua/ldo.c: Likewise.
5014 * script/lua/ldo.h: Likewise.
5015 * script/lua/ldump.c: Likewise.
5016 * script/lua/lfunc.c: Likewise.
5017 * script/lua/lfunc.h: Likewise.
5018 * script/lua/lgc.c: Likewise.
5019 * script/lua/lgc.h: Likewise.
5020 * script/lua/linit.c: Likewise.
5021 * script/lua/liolib.c: Likewise.
5022 * script/lua/llex.c: Likewise.
5023 * script/lua/llex.h: Likewise.
5024 * script/lua/llimits.h: Likewise.
5025 * script/lua/lmathlib.c: Likewise.
5026 * script/lua/lmem.c: Likewise.
5027 * script/lua/lmem.h: Likewise.
5028 * script/lua/loadlib.c: Likewise.
5029 * script/lua/lobject.c: Likewise.
5030 * script/lua/lobject.h: Likewise.
5031 * script/lua/lopcodes.c: Likewise.
5032 * script/lua/lopcodes.h: Likewise.
5033 * script/lua/loslib.c: Likewise.
5034 * script/lua/lparser.c: Likewise.
5035 * script/lua/lparser.h: Likewise.
5036 * script/lua/lstate.c: Likewise.
5037 * script/lua/lstate.h: Likewise.
5038 * script/lua/lstring.c: Likewise.
5039 * script/lua/lstring.h: Likewise.
5040 * script/lua/lstrlib.c: Likewise.
5041 * script/lua/ltable.c: Likewise.
5042 * script/lua/ltable.h: Likewise.
5043 * script/lua/ltablib.c: Likewise.
5044 * script/lua/ltm.c: Likewise.
5045 * script/lua/ltm.h: Likewise.
5046 * script/lua/lua.h: Likewise.
5047 * script/lua/luaconf.h: Likewise.
5048 * script/lua/lualib.h: Likewise.
5049 * script/lua/lundump.c: Likewise.
5050 * script/lua/lundump.h: Likewise.
5051 * script/lua/lvm.c: Likewise.
5052 * script/lua/lvm.h: Likewise.
5053 * script/lua/lzio.c: Likewise.
5054 * script/lua/lzio.h: Likewise.
5055
5e898c9d 50562009-05-16 Bean <bean123ch@gmail.com>
5057
5058 * include/grub/kernel.h (grub_module_header_types): Add type
5059 OBJ_TYPE_CONFIG.
5060
5061 * kern/main.c (grub_load_config): New function.
5062 (grub_main): Call grub_load_config to read boot config.
5063
5064 * grub-mkimage (generate_image): New parameter config_path.
5065 (options): New option --config.
5066 (main): Parse --config option, and pass it to generate_image.
5067
cf353a47 50682009-05-14 Christian Franke <franke@computer.org>
5069
5070 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
5071 This fixes build on Cygwin.
5072
3834887f 50732009-05-14 Pavel Roskin <proski@gnu.org>
5074
5075 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
5076 jump. This saves two bytes, so the typical case of 2 swapped
5077 drives would fit 32 bytes.
5078
8090fc01 50792009-05-13 Pavel Roskin <proski@gnu.org>
5080
ac963883 5081 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
5082 grub_uint32_t to avoid a warning.
5083
8090fc01 5084 * loader/i386/linux.c (allocate_pages): When assigning
5085 real_mode_mem, cast through grub_size_t to fix a warning. The
5086 code already makes sure that the value would fit a pointer.
5087 (grub_linux_setup_video): Cast render_target->data to
5088 grub_size_t to fix a warning.
5089
18f547ad 50902009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 5091
5092 * commands/i386/pc/drivemap.c: New file - implement drivemap
5093 command.
5094 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
5095 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
5096
6f6a8b28 50972009-05-13 Pavel Roskin <proski@gnu.org>
5098
5099 * util/i386/pc/grub-setup.c (setup): Remove unused variable
5100 embedding_area_exists.
5101
15fbf4c4 51022009-05-13 Robert Millan <rmh.grub@aybabtu.com>
5103
5104 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
5105 it easier to understand / work with.
59978c8a 5106 Improve warning messages for cases where there's no embedding area,
5107 or when it is too small (or core.img too large).
15fbf4c4 5108
238e871f 51092009-05-13 Pavel Roskin <proski@gnu.org>
5110
0ab3a9a4 5111 * loader/i386/pc/multiboot2.c: Add necessary includes for
5112 grub_multiboot2_real_boot().
5113
a2c8c5f8 5114 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
5115 PX record is always little-endian. We only need the lower 2
5116 bytes of the mode.
5117
faec96af 5118 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
5119 facilitate code reuse.
5120 (grub_cpio_mount): Use "struct head", not a char buffer. This
5121 fixes a warning reported by gcc 4.4.
5122
238e871f 5123 * kernel/disk.c (grub_disk_read): Use void pointer for the
5124 buffer.
5125 (grub_disk_write): Use const void pointer for the buffer.
5126 Adjust all callers. Remove unnecessary casts.
5127
901d2f0c 51282009-05-10 Robert Millan <rmh.grub@aybabtu.com>
5129
5130 * util/i386/pc/grub-install.in: Update copyright year.
5131
18f547ad 51322009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 5133
5134 gptsync
5135
5136 * commands/gptsync.c: new file
5137 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
5138 (gptsync_mod_SOURCES): new variable
5139 (gptsync_mod_CFLAGS): likewise
5140 (gptsync_mod_LDFLAGS): likewise
18f547ad 5141 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 5142 new definition
5143 (GRUB_PC_PARTITION_TYPE_HFS): likewise
5144 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
5145 * conf/i386-ieee1275.rmk: likewise
5146 * conf/i386-pc.rmk: likewise
5147 * conf/powerpc-ieee1275.rmk: likewise
5148
b4ba690a 51492009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 Fixed grub-emu
5152
5153 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
5154 (grub_dl_ref): likewise
5155
317e1a44 51562009-05-08 Robert Millan <rmh.grub@aybabtu.com>
5157
5158 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
5159 split in two functions (one for msdos and one for gpt).
5160
041b8094 51612009-05-08 Pavel Roskin <proski@gnu.org>
5162
752473c2 5163 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
5164 not modified.
5165
041b8094 5166 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
5167 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
5168 Initialize them with -1. Add sanity check for bad1. Eliminate
5169 nerr variable.
5170
172800ce 51712009-05-08 David S. Miller <davem@davemloft.net>
5172
5173 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
5174
29aa5e81 51752009-05-06 Robert Millan <rmh.grub@aybabtu.com>
5176
5177 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 5178 existence.
29aa5e81 5179
96613b62 51802009-05-05 Felix Zielcke <fzielcke@z-51.de>
5181
5182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 5183 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 5184
eef73c8a 51852009-05-05 David S. Miller <davem@davemloft.net>
5186
5187 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
5188
119494b5 51892009-05-05 Pavel Roskin <proski@gnu.org>
5190
5191 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
5192 of grub_dl_ref() and grub_dl_unref().
5193 * commands/parttool.c: Remove preprocessor conditionals around
5194 grub_dl_ref() and grub_dl_unref().
5195 * fs/affs.c: Likewise.
5196 * fs/afs.c: Likewise.
5197 * fs/cpio.c: Likewise.
5198 * fs/ext2.c: Likewise.
5199 * fs/fat.c: Likewise.
5200 * fs/hfs.c: Likewise.
5201 * fs/hfsplus.c: Likewise.
5202 * fs/iso9660.c: Likewise.
5203 * fs/jfs.c: Likewise.
5204 * fs/minix.c: Likewise.
5205 * fs/ntfs.c: Likewise.
5206 * fs/reiserfs.c: Likewise.
5207 * fs/sfs.c: Likewise.
5208 * fs/udf.c: Likewise.
5209 * fs/ufs.c: Likewise.
5210 * fs/xfs.c: Likewise.
5211 * include/grub/dl.h: Likewise.
5212 * loader/xnu.c: Likewise.
5213
de5fd76e 52142009-05-04 Pavel Roskin <proski@gnu.org>
5215
5216 * commands/acpi.c: Remove unused variable my_mod.
5217 * partmap/amiga.c: Likewise.
5218 * partmap/apple.c: Likewise.
5219 * partmap/gpt.c: Likewise.
5220 * partmap/pc.c: Likewise.
5221 * partmap/sun.c: Likewise.
5222 * term/gfxterm.c: Likewise.
5223 * term/i386/pc/vesafb.c: Likewise.
5224 * term/i386/pc/vga.c: Likewise.
5225
983598ad 52262009-05-04 David S. Miller <davem@davemloft.net>
5227
5228 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
5229 pointer args to grub_ieee1275_get_property().
5230
8aadec43 5231 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
5232
9554b15e 5233 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
5234 devices, and do not traverse down under controller nodes.
5235
67e23c90 5236 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
5237 (grub_ofdisk_open): Use it to un-escape "," characters.
5238 * kern/disk.c (find_part_sep): New.
5239 (grub_disk_open): Use it to find the first non-escaped ','
5240 character in the disk name.
5241 * util/ieee1275/devicemap.c (escape_of_path): New.
5242 (grub_util_emit_devicemap_entry): Use it.
5243 * util/sparc64/ieee1275/grub-install.in: Update script to
5244 strip partition specifiers properly by not triggering on
5245 '\' escaped ',' characters.
5246
74bfdd2f 52472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5248
5249 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
5250 to 0x300.
5251 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
5252 resolutions.
5253 (linux_vesafb_modes): Add a lot of additional modes to the list (based
5254 on documentation from Wikipedia).
5255
4241d2b1 52562009-05-04 Pavel Roskin <proski@gnu.org>
5257
5258 * disk/ata.c: Spelling fixes.
5259 * disk/raid.c: Likewise.
5260 * disk/usbms.c: Likewise.
5261 * disk/dmraid_nvidia.c: Likewise.
5262 * kern/ieee1275/openfw.c: Likewise.
5263 * kern/ieee1275/init.c: Likewise.
5264 * kern/ieee1275/cmain.c: Likewise.
5265 * boot/i386/pc/cdboot.S: Likewise.
5266 * video/readers/png.c: Likewise.
5267 * video/i386/pc/vbe.c: Likewise.
5268 * fs/udf.c: Likewise.
5269 * fs/hfs.c: Likewise.
5270 * fs/reiserfs.c: Likewise.
5271 * efiemu/runtime/efiemu.c: Likewise.
5272 * efiemu/main.c: Likewise.
5273 * efiemu/mm.c: Likewise.
5274 * include/grub/elf.h: Likewise.
5275 * include/grub/xnu.h: Likewise.
5276 * include/grub/usbdesc.h: Likewise.
5277 * include/grub/usb.h: Likewise.
5278 * include/grub/script_sh.h: Likewise.
5279 * include/grub/lib/LzmaEnc.h: Likewise.
5280 * include/grub/efiemu/efiemu.h: Likewise.
5281 * include/grub/command.h: Likewise.
5282 * normal/menu.c: Likewise.
5283 * normal/main.c: Likewise.
5284 * normal/datetime.c: Likewise.
5285 * bus/usb/uhci.c: Likewise.
5286 * mmap/i386/uppermem.c: Likewise.
5287 * mmap/mmap.c: Likewise.
5288 * commands/acpi.c: Likewise.
5289 * commands/test.c: Likewise.
5290 * partmap/apple.c: Likewise.
5291 * font/font.c: Likewise.
5292 * loader/sparc64/ieee1275/linux.c: Likewise.
5293 * loader/macho.c: Likewise.
5294 * loader/i386/bsd_trampoline.S: Likewise.
5295 * loader/i386/bsd.c: Likewise.
5296 * loader/xnu.c: Likewise.
5297 * term/i386/pc/vesafb.c: Likewise.
5298 * term/usb_keyboard.c: Likewise.
5299 * util/resolve.c: Likewise.
5300 * util/getroot.c: Likewise.
5301
0cfc0083 53022009-05-04 Felix Zielcke <fzielcke@z-51.de>
5303
5304 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
5305
7c1d00cd 53062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5307
5308 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
5309 build error.
5310
b01f0548 53112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5312
5313 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
5314 parameter only available on BIOS.
5315
ecc3eb22 53162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 Removed wrong semicolon in declaration
5319
5320 * grub/misc.h (grub_dprintf): remove semicolon
5321
112972a9 53222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5323
5324 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
5325 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
5326 is done by grub_cmd_linux() now).
5327 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
5328 restore video to text mode.
5329 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
5330 indicates lack of "vga=" parameter. "vga=0" is mapped to
5331 `GRUB_LINUX_VID_MODE_NORMAL'.
5332
afd5c115 53332009-05-04 Felix Zielcke <fzielcke@z-51.de>
5334
5335 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
5336 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
5337 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 5338 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 5339 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
5340 `grub_script.tab.c'.
5341
5342 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
5344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5345 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
5346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5347
faa517ce 5348 * Makefile.in: Remove duplicated 2008 in Copyright line.
5349
ae0c0bdc 53502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
5351
473d1e45 5352 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 5353 unconditionally.
5354 * include/grub/util/misc.h (grub_util_warn): New declaration.
5355
5356 * util/i386/pc/grub-install.in: Understand --force and pass it down
5357 to grub-setup.
5358
5359 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
5360 down to setup().
5361 (setup): Improve error messages and add warnings when requested to
5362 install in odd layouts. Refuse to install using blocklists unless
5363 --force was set.
5364
18f547ad 53652009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 5366
5367 * disk/raid.c (grub_raid_scan_device): Improve debug message.
5368
6d260daa 53692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 Updated copyright year
5372
5373 * fs/hfsplus.c: updated copyright year
18f547ad 5374
69f853f8 53752009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 HFS+ UUID
5378
18f547ad 5379 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 5380 in the space previously used by unused3
5381 (grub_hfsplus_uuid): new function
5382 (grub_hfsplus_fs): added uuid field
5383
4c402e73 53842009-05-03 Pavel Roskin <proski@gnu.org>
5385
5386 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
5387 suppress warnings. It's no longer needed.
5388 * disk/host.c: Likewise.
5389 * disk/ata_pthru.c: Likewise.
5390 * disk/loopback.c: Likewise.
5391 * hook/datehook.c: Likewise.
5392 * parttool/pcpart.c: Likewise.
5393 * fs/i386/pc/pxe.c: Likewise.
5394 * fs/ntfscomp.c: Likewise.
5395 * efiemu/main.c: Likewise.
5396 * mmap/mmap.c: Likewise.
5397 * commands/crc.c: Likewise.
5398 * commands/hexdump.c: Likewise.
5399 * commands/hdparm.c: Likewise.
5400 * commands/acpi.c: Likewise.
5401 * commands/echo.c: Likewise.
5402 * commands/minicmd.c: Likewise.
5403 * commands/blocklist.c: Likewise.
5404 * commands/memrw.c: Likewise.
5405 * commands/loadenv.c: Likewise.
5406 * commands/usbtest.c: Likewise.
5407 * commands/lsmmap.c: Likewise.
5408 * commands/boot.c: Likewise.
5409 * commands/parttool.c: Likewise.
5410 * commands/configfile.c: Likewise.
5411 * commands/search.c: Likewise.
5412 * commands/ieee1275/suspend.c: Likewise.
5413 * commands/cat.c: Likewise.
5414 * commands/i386/pc/pxecmd.c: Likewise.
5415 * commands/i386/pc/play.c: Likewise.
5416 * commands/i386/pc/halt.c: Likewise.
5417 * commands/i386/pc/vbeinfo.c: Likewise.
5418 * commands/i386/pc/vbetest.c: Likewise.
5419 * commands/lspci.c: Likewise.
5420 * commands/date.c: Likewise.
5421 * commands/handler.c: Likewise.
5422 * commands/ls.c: Likewise.
5423 * commands/test.c: Likewise.
5424 * commands/cmp.c: Likewise.
5425 * commands/efi/loadbios.c: Likewise.
5426 * commands/efi/fixvideo.c: Likewise.
5427 * commands/halt.c: Likewise.
5428 * commands/help.c: Likewise.
5429 * commands/reboot.c: Likewise.
5430 * hello/hello.c: Likewise.
5431 * script/sh/main.c: Likewise.
5432 * loader/xnu.c: Likewise.
5433 * term/terminfo.c: Likewise.
5434 * term/i386/pc/serial.c: Likewise.
5435 * term/usb_keyboard.c: Likewise.
5436
515b5079 54372009-05-03 David S. Miller <davem@davemloft.net>
5438
5439 * normal/menu.c: Include grub/parser.h
5440
dfc31a22 54412009-05-03 Pavel Roskin <proski@gnu.org>
5442
2fee74f1 5443 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
5444 not char*.
5445 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
5446 Suggested by Javier Martín <lordhabbit@gmail.com>
5447
dfc31a22 5448 * util/i386/pc/grub-mkrescue.in: Allow for the case when
5449 efiemu??.o doesn't exist.
5450 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
5451 copying.
5452
18f547ad 54532009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 5454
5455 FreeBSD 64-bit support
5456
18f547ad 5457 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 5458 and loader/i386/bsd_trampoline.S
5459 (bsd_mod_ASFLAGS): new variable
5460 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
5461 (FREEBSD_MODTYPE_KERNEL64): likewise
5462 (grub_bsd64_trampoline_start): likewise
5463 (grub_bsd64_trampoline_end): likewise
5464 (grub_bsd64_trampoline_selfjump): likewise
5465 (grub_bsd64_trampoline_gdt): likewise
5466 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
5467 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
5468 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
5469 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 5470 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 5471 of "attrib" member
5472 * loader/i386/bsd_pagetable.c: new file
5473 * loader/i386/bsd_trampoline.S: likewise
5474 * loader/i386/bsd.c (ALIGN_QWORD): new macro
5475 (ALIGN_VAR): likewise
5476 (entry_hi): new variable
5477 (kern_end_mdofs): likewise
5478 (is_64bit): likewise
5479 (grub_freebsd_add_meta): use ALIGN_VAR
5480 (grub_e820_mmap): new declaration
5481 (grub_freebsd_add_mmap): new function
5482 (grub_freebsd_add_meta_module): support 64 bit kernels
5483 (grub_freebsd_list_modules): use ALIGN_VAR
5484 (gdt_descriptor): new declaration
5485 (grub_freebsd_boot): support 64 bit kernels
5486 (grub_bsd_elf64_hook): new function
5487 (grub_bsd_load_elf): support elf64
5488
038c5720 54892009-05-03 Bean <bean123ch@gmail.com>
5490
5491 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
5492 after we get the result of if statement.
5493
fc45fb58 54942009-05-03 Bean <bean123ch@gmail.com>
5495
5496 * Makefile.in (enable_efiemu): New variable.
5497
5498 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
5499 set.
5500 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
5501 path.
5502 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
5503 path, add -mno-red-zone option.
5504 (efiemu64_s.o): Likewise.
5505 (efiemu64.o): Use macro $^ for source file.
5506
5507 * configure.ac (--enable-efiemu): New option.
5508
bbee0f2b 55092009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 xnu support
5512
5513 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
5514 (pkglib_MODULES): add xnu.mod
5515 (xnu_mod_SOURCES): new variable
5516 (xnu_mod_CFLAGS): likewise
5517 (xnu_mod_LDFLAGS): likewise
5518 (xnu_mod_ASFLAGS): likewise
5519 * conf/i386-pc.rmk: likewise
5520 * conf/x86_64-efi.rmk: likewise
7dd4a573 5521 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 5522 new declaration
5523 * include/grub/i386/macho.h: new file
5524 * include/grub/i386/xnu.h: likewise
5525 * include/grub/macho.h: likewise
5526 * include/grub/machoload.h: likewise
5527 * include/grub/x86_64/macho.h: likewise
5528 * include/grub/x86_64/xnu.h: likewise
5529 * include/grub/xnu.h: likewise
5530 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
5531 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
5532 * loader/i386/efi/xnu.c: new file
5533 * loader/i386/pc/xnu.c: likewise
5534 * loader/i386/xnu.c: likewise
5535 * loader/i386/xnu_helper.S: likewise
5536 * loader/macho.c: likewise
5537 * loader/xnu.c: likewise
5538 * loader/xnu_resume.c: likewise
5539 * util/grub-dumpdevtree: likewise
5540 * include/grub/i386/pit.h: include grub/err.h
5541 (grub_pit_wait): export
5542 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 5543
5caf964d 55442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Efiemu
7dd4a573 5547
5caf964d 5548 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 5549 _linux_efi, linux_efi.
5550 new files in grub-emu
5caf964d 5551 new targets efiemu32.o and efiemu64.o
5552 * loader/linux_normal_efiemu.c: likewise
5553 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 5554 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 5555 files to copy
5556 * include/grub/autoefi.h: new file
7dd4a573 5557 * include/grub/i386/efiemu.h: likewise
5caf964d 5558 * include/grub/i386/pc/efiemu.h: likewise
5559 * include/grub/efi/api.h: add LL suffix when necessary
5560 new definitions relating to tables
5561 * include/grub/efiemu/efiemu.h: new file
5562 * include/grub/efiemu/runtime.h: likewise
5563 * efiemu/prepare.c: likewise
5564 * efiemu/loadcore_common.c: likewise
5565 * efiemu/loadcore64.c: likewise
5566 * efiemu/runtime/efiemu.sh: likewise
5567 * efiemu/runtime/efiemu.S: likewise
5568 * efiemu/runtime/efiemu.c: likewise
5569 * efiemu/runtime/config.h: likewise
5570 * efiemu/prepare32.c: likewise
5571 * efiemu/main.c: likewise
5572 * efiemu/modules/pnvram.c: likewise
5573 * efiemu/modules/i386: likewise
5574 * efiemu/modules/i386/pc: likewise
5575 * efiemu/modules/acpi.c: likewise
5576 * efiemu/i386/pc/cfgtables.c: likewise
5577 * efiemu/i386/loadcore64.c: likewise
5578 * efiemu/i386/loadcore32.c: likewise
5579 * efiemu/prepare64.c: likewise
5580 * efiemu/loadcore.c: likewise
5581 * efiemu/symbols.c: likewise
5582 * efiemu/mm.c: likewise
5583 * efiemu/loadcore32.c: likewise
7dd4a573 5584
55852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 5586
5587 ACPI spoofing
5588
5589 * commands/acpi.c: new file
5590 * commands/i386/pc/acpi.c: likewise
5591 * commands/efi/acpi.c: likewise
5592 * include/grub/acpi.h: likewise
5593 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
5594 (acpi_mod_SOURCES): new variable
5595 (acpi_mod_CFLAGS): likewise
5596 (acpi_mod_LDFLAGS): likewise
5597 * conf/i386-efi.rmk: likewise
5598 * conf/x86_64-efi.rmk: likewise
5599
7dd4a573 56002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 5601
5602 Missing part from mmap patch
5603
5604 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
5605 (grub_mmap_unregister)
5606 (grub_mmap_free_and_unregister): use grub_mmap_register
5607
7dd4a573 56082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 5609
5610 Mmap services
5611
5612 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
5613 * loader/i386/linux.c (find_mmap_size): likewise
5614 (allocate_pages): likewise
5615 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
5616 (grub_fill_multiboot_mmap): likewise
5617 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
5618 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
5619 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
5620 (OPENBSD_MMAP_RESERVED): likewise
5621 * include/grub/i386/pc/memory.h: include grub/memory.h
5622 (grub_lower_mem): removed
5623 (grub_upper_mem): likewise
5624 (GRUB_MACHINE_MEMORY_ACPI): new definition
5625 (GRUB_MACHINE_MEMORY_NVS): likewise
5626 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
5627 (GRUB_MACHINE_MEMORY_HOLE): likewise
5628 (grub_machine_mmap_register): likewise
5629 (grub_machine_mmap_unregister): likewise
5630 (grub_machine_get_upper): likewise
5631 (grub_machine_get_lower): likewise
5632 (grub_machine_get_post64): likewise
5633 * include/grub/i386/efi/memory.h: new file
5634 * include/grub/x86_64/efi/memory.h: likewise
5635 * include/grub/efi/memory.h: likewise
5636 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
5637 (mmap_mod_SOURCES): new variable
5638 (mmap_mod_LDFLAGS): likewise
5639 (mmap_mod_ASFLAGS): likewise
5640 * conf/i386-coreboot.rmk: likewise
5641 * conf/i386-ieee1275.rmk: likewise
5642 * conf/i386-efi.rmk: likewise
5643 * conf/x86_64-efi.rmk: likewise
5644 * include/grub/types.h (UINT_TO_PTR): new macro
5645 (PTR_TO_UINT32): likewise
5646 (PTR_TO_UINT64): likewise
5647 * include/grub/memory.h: new file
5648 * mmap/i386/pc/mmap.c: likewise
5649 * mmap/i386/pc/mmap_helper.S: likewise
5650 * mmap/i386/uppermem.c: likewise
5651 * mmap/mmap.c: likewise
5652 * mmap/efi/mmap.c: likewise
7dd4a573 5653 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 5654 grub_upper_mem
5655 * kern/i386/pc/init.c (grub_lower_mem): removed variable
5656 (grub_upper_mem): likewise
5657 (grub_machine_init): don't use grub_upper_mem,
5658 make grub_lower_mem local
5659 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
5660 grub_mmap_iterate and grub_mmap_get_upper
5661 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
5662
d558e6b5 56632009-05-02 Bean <bean123ch@gmail.com>
5664
5665 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
5666 script/sh/parser.y.
5667 (pkglib_MODULES): Add normal.mod and sh.mod.
5668 (normal_SOURCES): New variable.
5669 (normal_mod_CFLAGS): Likewise.
5670 (normal_mod_LDFLAGS): Likewise.
5671 (sh_mod_SOURCES): Likewise.
5672 (sh_mod_CFLAGS): Likewise.
5673 (sh_mod_LDFLAGS): Likewise.
5674
5675 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
5676 script/sh/lexer.c_DEPENDENCIES.
5677 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
5678 kern/rescue_reader.c and kern/rescue_parser.c.
5679 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
5680 (grub_emu_SOURCES): Change source files.
5681 (pkglib_MODULES): Remove normal.mod.
5682 (normal_SOURCES): Removed.
5683 (normal_mod_CFLAGS): Likewise.
5684 (normal_mod_LDFLAGS): Likewise.
5685 * conf/i386-coreboot.rmk: Likewise.
5686 * conf/i386-efi.rmk: Likewise.
5687 * conf/i386-ieee1276.rmk: Likewise.
5688 * conf/powerpc-ieee1275.rmk: Likewise.
5689 * conf/sparc64-ieee1275.rmk: Likewise.
5690 * conf/x86_64-efi.rmk: Likewise.
5691
5692 * include/grub/command.h (grub_command_execute): New inline function.
5693
5694 * include/grub/menu.h (grub_menu_entry): Removed commands field.
5695
5696 * include/grub/normal.h: Remove <grub/setjmp.h>.
5697 (grub_fs_module_list): Moved to normal/autofs.c.
5698 (grub_exit_env): Removed.
5699 (grub_command_execute): Likewise.
5700 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
5701 parameter script.
5702 (read_command_list): New function declaration.
5703 (read_fs_list): Likewise.
5704
5705 * include/parser.h: Include <grub/reader.h>.
5706 (grub_parser_split_cmdline): Change type of getline parameter.
5707 (grub_parser): New structure.
5708 (grub_parser_class): New variable.
5709 (grub_parser_execute): New function declaration.
5710 (grub_register_rescue_parser): Likewise.
5711 (grub_parser_register): New inline function.
5712 (grub_parser_unregister): Likewise.
5713 (grub_parser_get_current): Likewise.
5714 (grub_parser_set_current): Likewise.
5715
5716 * include/grub/reader.h: New file.
5717 * kern/reader.c: Likewise.
5718 * kern/rescue_parser.c: Likewise.
5719 * kern/rescue_reader.c: Likewise.
5720 * normal/autofs.c: Likewise.
5721 * normal/dyncmd.c: Likewise.
5722
5723 * include/grub/rescue.h: Removed.
5724 * normal/command.h: Likewise.
5725
5726 * include/grub/script.h: Moved to ...
5727 * include/grub/script_sh.h: ... Moved here.
5728 * normal/execute.c: Moved to ...
5729 * script/sh/execute.c: ... Moved here.
5730 * normal/function.c: Moved to ...
5731 * script/sh/function.c: ... Moved here.
5732 * normal/lexer.c: Moved to ...
5733 * script/sh/lexer.c: ... Moved here.
5734 * normal/parser.y: Moved to ...
5735 * script/sh/parser.y: ... Moved here.
5736 * normal/script.c: Moved to ...
5737 * script/sh/script.c: ... Moved here.
5738
5739 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
5740 <grub/reader.h>.
5741 (grub_exit_env): Removed.
5742 (fs_module_list): Moved to normal/autofs.c.
5743 (grub_file_getline): Don't handle comment here.
5744 (free_menu): Skip removed field entry->commands.
5745 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
5746 script parameter.
5747 (read_config_file): Removed nested parameter, change getline function.
5748 (grub_enter_normal_mode): Removed.
5749 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
5750 (read_command_list): Likewise.
5751 (autoload_fs_module): Moved to normal/autofs.c.
5752 (read_fs_list): Likewise.
5753 (reader_nested): New variable.
5754 (grub_normal_execute): Run parser.sh to switch to sh parser.
5755 (grub_cmd_rescue): Removed.
5756 (cmd_normal): Removed.
5757 (grub_cmd_normal): Unregister itself at the beginning. Don't register
5758 rescue command.
5759 (grub_cmdline_run): New function.
5760 (grub_normal_reader_init): Likewise.
5761 (grub_normal_read_line): Likewise.
5762 (grub_env_write_pager): Likewise.
5763 (cmdline): New variable.
5764 (grub_normal_reader): Likewise.
5765 (GRUB_MOD_INIT): Register normal reader and set as current, register
5766 pager hook, register normal command with grub_register_command_prio,
5767 so that it won't show up in command.lst.
5768 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
5769 grub_fs_autoload_hook.
5770
5771 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
5772 (grub_menu_execute_entry): Replace grub_script_execute with
5773 grub_parser_execute, change parameter to grub_command_execute.
5774
5775 * normal/menu_text.c: Remove <grub/script.h>.
5776
5777 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
5778 and <grub/parser.h>.
5779 (run): Change editor_getline to use new parser interface. Change
5780 parameter to grub_command_execute.
5781
5782 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
5783 <grub/reader.h> and <grub/parser.h>.
5784 (grub_load_normal_mode): Execute normal command.
5785 (grub_main): Call grub_register_core_commands,
5786 grub_register_rescue_parser and grub_register_rescue_reader, use
5787 grub_reader_loop to enter input loop.
5788
7dd4a573 5789 * kern/parser.c (grub_parser_split_cmdline): Change type of
5790 getline parameter.
d558e6b5 5791 (grub_parser_class): New variable.
5792 (grub_parser_execute): New function.
5793
5794 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
5795 * loader/multiboot2.c: Likewise.
5796 * loader/sparc64/ieee1275/linux.c: Likewise.
5797
5798 * util/grub-emu.c (read_command_list): New dummy function.
5799
18db813d 58002009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5801
5802 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
5803 count to 16 for CCISS and IDA.
5804
6c67de15 58052009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5806
5807 * normal/menu_text.c (grub_wait_after_message): Print a newline
5808 after waiting for user input.
5809
5810 * loader/i386/linux.c: Include `<grub/normal.h>'.
5811 (grub_cmd_linux): Improve the error message about `ask' mode, by
5812 waiting for user input so it's not missed (we can do this, since
5813 user requested interaction).
5814
d9dc87b0 58152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 Added missing lst to grub-mkrescue
5818
5819 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
5820 and ${input_dir}/parttool.lst
5821
ac8a2baa 58222009-04-30 David S. Miller <davem@davemloft.net>
5823
ad22a610 5824 * util/hostdisk.c (device_is_wholedisk): New function.
5825 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
5826 zero only if device_is_wholedisk() returns true.
5827
6966215d 5828 * util/hostdisk.c (convert_system_partition_to_system_disk):
5829 Handle virtual disk devices named /dev/vdiskX as found on sparc
5830 and powerpc.
5831
ac8a2baa 5832 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
5833 lettered partition specifier is found, convert to numbered.
5834
979b4fb4 58352009-04-29 David S. Miller <davem@davemloft.net>
5836
e2bf39b2 5837 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
5838 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5839
3c64e104 5840 * normal/command.c: Add missing newline at end of file.
5841
979b4fb4 5842 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
5843 warnings.
5844 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
5845 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
5846 grub_ofdisk_read): Likewise, and deal similarly with the fact that
5847 ihandles have a 32-bit type but need to be stored in a "void *".
5848
136d9f82 58492009-04-28 Pavel Roskin <proski@gnu.org>
5850
9459c306 5851 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
5852 not disk. Adjust all dependencies.
2e08a26a 5853 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 5854 grub_disk_close().
5855
136d9f82 5856 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
5857 parent's partition, don't copy it by reference, as it gets freed
5858 on close.
5859
7dd4a573 58602009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 5861
5862 Preboot hooks support
5863
5864 * commands/boot.c (struct grub_preboot_t): new declaration
5865 (preboots_head): new variable
5866 (preboots_tail): likewise
5867 (grub_loader_register_preboot_hook): new function
5868 (grub_loader_unregister_preboot_hook): likewise
5869 (grub_loader_set): launch preboot hooks
5870 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
5871 (grub_loader_register_preboot_hook): new declaration
5872 (grub_loader_unregister_preboot_hook): likewise
5873
5af922b5 58742009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 Warning fix
5877
7dd4a573 5878 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 5879 calling grub_dprintf
5880
a5562c30 58812009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 Bug and warning fixes
5884
7dd4a573 5885 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 5886 declaration
5887 * commands/test.c (test_parse): fixed bug with file tests and corrected
5888 declaration of find_file
5889
4006f85c 58902009-04-26 Pavel Roskin <proski@gnu.org>
5891
5892 * Makefile.in: Don't install empty manual pages if help2man is
5893 missing. Use help2man option for output, not shell redirection.
5894
5c77c3de 58952009-04-26 David S. Miller <davem@davemloft.net>
5896
5897 * util/grub-mkdevicemap.c (make_device_map): Add missing
5898 NESTED_FUNC_ATTR to process_device().
5899
033b10a8 59002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Test command
5903
5904 * commands/test.c: rewritten to use bash-like test
5905
e4343593 59062009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Parttool autoloading and improvements
5909
7dd4a573 5910 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 5911 (parttool.lst): new target
5912 * genmk.rb: generate parttool-*
5913 (CLEANFILES): add #{parttool}
5914 (PARTTOOLFILES): new variable
5915 * genparttoollist.sh: new file
7dd4a573 5916 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 5917 (grub_pcpart_type): likewise
5918 * commands/parttool.c (helpmsg): new variable
5919 (grub_cmd_parttool): output help if not enough arguments are supplied
5920 autoload modules
5921 (GRUB_MOD_INIT(parttool)): use helpmsg
5922
0d312500 59232009-04-24 David S. Miller <davem@davemloft.net>
5924
7dd4a573 5925 Avoiding opening same device multiple times in device iterator.
0d312500 5926
5927 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 5928 and use it to build a list of partitions in iterate_disk() and
0d312500 5929 iterate_partition().
5930
ac20caff 5931 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
5932 on disk->data.
5933
0dcf7495 5934 * disk/ieee1275/nand.c (grub_nand_iterate): Return
5935 grub_devalias_iterate() result instead of unconditional 0.
5936 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
5937 Also, capture hook return value, either directly or via
5938 grub_children_iterate(), and propagate to caller.
5939 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
5940 grub_children_iterate): Return value is now 'int' instead of
5941 'grub_err_t'.
5942 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
5943 like a proper iterator, stopping when hooks return non-zero.
5944 (grub_devalias_iterate): Likewise.
5945
c8c08833 59462009-04-23 David S. Miller <davem@davemloft.net>
5947
5948 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
5949
f01005a8 59502009-04-22 David S. Miller <davem@davemloft.net>
5951
5952 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
5953 is larger than address_cells, use that value for address_cells too.
5954
4e8269da 5955 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
5956 IEEE1275_MAX_PATH_LEN): Define.
5957 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
5958 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
5959 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
5960 'devtype'. Explicitly NULL terminate devalias expansion.
5961
a1447506 5962 * util/sparc64/ieee1275/misc.c: New file.
5963 * util/sparc64/ieee1275/grub-setup.c: New file.
5964 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
5965 * util/sparc64/ieee1275/grub-mkimage.c: New file.
5966 * util/sparc64/ieee1275/grub-install.in: New file.
5967 * util/ieee1275/ofpath.c: New file.
5968 * util/ieee1275/devicemap.c: New file.
5969 * util/devicemap.c: New file.
5970 * util/deviceiter.c: New file.
5971 * kern/sparc64/ieee1275/init.c: New file.
5972 * include/grub/util/ofpath.h: New file.
5973 * include/grub/util/deviceiter.h: New file.
5974 * util/grub-mkdevicemap.c: Include deviceiter.h.
5975 Implement using grub_util_emit_devicemap_entry and
5976 grub_util_iterate_devices.
5977 * conf/i386-corebook.rmk: Build util/deviceiter.c and
5978 util/devicemap.c into grub-mkdevicemap
5979 * conf/i386-efi.rmk: Likewise.
5980 * conf/i386-ieee1275.rmk: Likewise.
5981 * conf/i386-pc.rmk: Likewise.
5982 * conf/powerpc-ieee1275.rmk: Likewise.
5983 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
5984 images and installation utilities. Build kernel as image
5985 instead of as elf binary. Use common rules as much as possible.
5986
7dd4a573 59872009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 5988
5989 Correct GPT definition
5990
7dd4a573 5991 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 5992 of "attrib" member
5993
c6c5219f 59942009-04-19 Felix Zielcke <fzielcke@z-51.de>
5995
5996 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
5997
0552ff9f 59982009-04-19 David S. Miller <davem@davemloft.net>
5999
6000 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
6001 (grub_rescue_cmd_linux): Rename to...
6002 (grub_cmd_linux): and fix prototype.
6003 (grub_rescue_cmd_initrd): Rename to...
6004 (grub_cmd_initrd): and fix prototype.
6005 (cmd_linux, cmd_initrd): New.
6006 (GRUB_MOD_INIT(linux)): Use grub_register_command().
6007 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
6008
d1a282fc 60092009-04-17 Pavel Roskin <proski@gnu.org>
6010
07c5039f 6011 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
6012 format.
6013 (grub_ohci_transfer): Likewise.
6014
b012002d 6015 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
6016
1bc09c35 6017 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
6018 return without a value. Fix inconsistent indentation.
6019
e0ff9126 6020 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
6021 match struct grub_fs.
6022
d1a282fc 6023 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
6024 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
6025 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
6026 * commands/lspci.c (grub_lspci_iter): Likewise.
6027
a96df3f2 60282009-04-16 Bean <bean123ch@gmail.com>
6029
6030 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
6031 value.
6032
41bb0fe9 60332009-04-15 Pavel Roskin <proski@gnu.org>
6034
6035 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
6036 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
6037 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
6038 definitions.
6039
596c6970 60402009-04-15 Felix Zielcke <fzielcke@z-51.de>
6041
6042 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 6043 that no multiple data or metadata areas are supported and `Unknown
596c6970 6044 metadata header'.
6045
7dd4a573 60462009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 6047
6048 Move loader out of the kernel
6049
6050 * kern/loader.c: moved to ...
6051 * commands/boot.c: ... moved here
6052 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
6053 * commands/boot.c (grub_cmd_boot): moved here. All users updated
6054 * include/grub/kernel.h (grub_machine_fini): export
6055 * include/grub/loader.h (grub_loader_is_loaded): update declaration
6056 (grub_loader_set): likewise
6057 (grub_loader_unset): likewise
6058 (grub_loader_boot): likewise
6059 * conf/common.rmk: new module boot.mod
6060 (pkglib_MODULES): add boot.mod
6061 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
6062 (grub_emu_SOURCES): likewise
6063 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
6064 (grub_emu_SOURCES): likewise
6065 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
6066 (grub_emu_SOURCES): likewise
6067 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
6068 (grub_emu_SOURCES): likewise
6069 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
6070 (grub_emu_SOURCES): likewise
7dd4a573 6071 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
6072 (grub_emu_SOURCES): likewise
0d5d5653 6073 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 6074 (grub_emu_SOURCES): likewise
0d5d5653 6075
7dd4a573 60762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 6077
6078 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 6079
5999d619 6080 * kern/misc.c (grub_itoa): Removed function
6081 (grub_ltoa): likewise
6082 (grub_vsprintf): use grub_lltoa
6083
7dd4a573 60842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 6085
6086 Restore grub-emu
6087
6088 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
6089 * conf/i386-coreboot.rmk: likewise
6090 * conf/i386-ieee1275.rmk: likewise
6091 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6092
20318222 60932009-04-15 Felix Zielcke <fzielcke@z-51.de>
6094
6095 * INSTALL: Add that `./autogen.sh' needs to be run before
6096 `./configure.'.
6097
d05f0df3 60982009-04-14 Bean <bean123ch@gmail.com>
6099
6100 * Makefile.in (pkglib_DATA): Add handler.lst.
6101 (handler.lst): New rule.
6102
6103 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
6104 * conf/i386-coreboot.rmk: Likewise.
6105 * conf/i386-ieee1275.rmk: Likewise.
6106 * conf/i386-efi.rmk: Likewise.
6107 * conf/x86_64-efi.rmk: Likewise.
6108 * conf/powerpc-ieee1275.rmk: Likewise.
6109 * conf/sparc64-ieee1275.rmk: Likewise.
6110
6111 * genhandlerlist.sh: New file.
6112
6113 * genmk.rb: Add rules to generate handler.lst.
6114
6115 * include/grub/normal.h (grub_file_getline): New function definition.
6116 (read_handler_list): Likewise.
6117 (free_handler_list): Likewise.
6118
6119 * include/grub/term.h (grub_term_register_input): Add name parameter
6120 for auto generation of handler.lst.
6121 (grub_term_register_output): Likewise.
6122
6123 * normal/handler.c: New file.
6124
6125 * normal/main.c (get_line): Renamed to grub_file_getline.
6126 (read_config_file): Use the newly renamed grub_file_getline.
6127 (read_command_list): Likewise.
6128 (read_fs_list): Likewise.
6129 (grub_normal_execute): Call read_handler_list to parse handler.lst.
6130 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
6131
6132 * term/efi/console.c (grub_console_init): Add name parameter for auto
6133 generation of handler.lst.
6134 * term/gfxterm.c: Likewise.
6135 * term/i386/pc/at_keyboard.c: Likewise.
6136 * term/i386/pc/console.c: Likewise.
6137 * term/i386/pc/serial.c: Likewise.
6138 * term/i386/pc/vesafb.c: Likewise.
6139 * term/i386/pc/vga.c: Likewise.
6140 * term/i386/pc/vga_text.c: Likewise.
6141 * term/ieee1275/ofconsole.c: Likewise.
6142 * term/usb_keyboard.c: Likewise.
6143
33c846be 61442009-04-14 Bean <bean123ch@gmail.com>
6145
6146 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
6147 properly with null character.
6148
4484e01e 61492009-04-14 Felix Zielcke <fzielcke@z-51.de>
6150
6151 * configure: Remove.
6152 * config.h.in: Likewise.
f93d668e 6153 * stamp-h.in: Likewise.
4484e01e 6154 * DISTLIST: Likewise.
6155 * conf/common.mk: Likewise.
6156 * conf/i386-coreboot.mk: Likewise.
6157 * conf/i386-efi.mk: Likewise.
6158 * conf/i386-ieee1275.mk: Likewise.
6159 * conf/i386.mk: Likewise.
6160 * conf/i386-pc.mk: Likewise.
6161 * conf/powerpc-ieee1275.mk: Likewise.
6162 * conf/sparc64-ieee1275.mk: Likewise.
6163 * conf/x86_64-efi.mk: Likewise.
6164
6165 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
6166 develop on GRUB.
6167
7dd4a573 61682009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 6169 David S. Miller <davem@davemloft.net>
6170
6171 * util/hostdisk.c (make_device_name): Fix buffer length
6172 calculations.
6173
e25b5a8c 61742009-04-14 Felix Zielcke <fzielcke@z-51.de>
6175
6176 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
6177 <sys/param.h> and <sys/sysctl.h>.
6178 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
6179 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
6180 opening the device and reset them afterwards.
6181
1f1f580c 61822009-04-13 Pavel Roskin <proski@gnu.org>
6183
6184 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
6185 Reported by John Stanley <jpsinthemix@verizon.net>
6186
7ebc2d6b 61872009-04-13 Robert Millan <rmh@aybabtu.com>
6188
6189 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 6190 that name for menuentries when appropriate.
7ebc2d6b 6191
d8ba3667 61922009-04-13 Felix Zielcke <fzielcke@z-51.de>
6193
6194 * util/grub.d/10_freebsd.in: Add a missing `fi'.
6195
cba416eb 61962009-04-13 Robert Millan <rmh@aybabtu.com>
6197
6198 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
6199 to Linux, simply abort telling the user it's no longer supported.
6200
a547a745 62012009-04-13 Felix Zielcke <fzielcke@z-51.de>
6202
6203 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 6204 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 6205 `freebsd_loadenv' only when devices.hints exist.
6206
232a769c 62072009-04-13 Pavel Roskin <proski@gnu.org>
6208
6209 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
6210
c3012039 62112009-04-13 Felix Zielcke <fzielcke@z-51.de>
6212
6213 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
6214 partition number.
6215 (grub_drive): Likewise.
6216
234022fe 62172009-04-13 David S. Miller <davem@davemloft.net>
6218
6219 * kern/sparc64/ieee1275/ieee1275.c: New file.
6220 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
6221 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
6222 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
6223 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
6224 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
6225 grub_ieee1275_alloc_physmem): Declare new exported functions.
6226
d8e1836c 6227 * include/grub/sparc64/ieee1275/loader.h: New file.
6228 * include/grub/sparc64/ieee1275/memory.h: Likewise.
6229 * include/grub/sparc64/kernel.h: Likewise.
6230 * loader/sparc64/ieee1275/linux.c: Likewise.
6231
96bd81ec 6232 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
6233 (grub_fstest_SOURCES): Likewise.
6234
6a4737e5 6235 * util/hostdisk.c (make_device_name): Do not make any assumptions
6236 about the length of drive names.
6237
1d7a72fd 6238 * kern/dl.c (grub_dl_load_file): Close file immediately when
6239 we are done using it.
6240
56bc2471 62412009-04-12 David S. Miller <davem@davemloft.net>
6242
6243 * kern/misc.c (grub_ltoa): Fix cast when handling negative
6244 values. Noticed by Pavel Roskin.
6245
df38d0bb 6246 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
6247 target compiler.
7dd4a573 6248
e382e93a 6249 * genmk.rb: Add more flexible image type specification, also
6250 pass --strip-unneeded to objcopy.
6251 * conf/i386-pc.rmk: Use *_FORMAT.
6252 * conf/i386-pc.mk: Rebuilt.
6253
f5dbbca9 6254 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
6255 (OFDISK_HASH_SZ): Define.
6256 (ofdisk_hash): New hash table.
6257 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
6258 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
6259 instead of device phandle which is not unique.
6260
91c88b12 6261 * kern/sparc64/ieee1275/init.c: Delete, replace with...
6262 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
6263 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
6264 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
6265 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
6266 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
6267 GRUB_KERNEL_MACHINE_DATA_END): Define.
6268 (grub_kernel_image_size, grub_total_module_size): Declare.
6269
5b5d4aa5 62702009-04-12 Pavel Roskin <proski@gnu.org>
6271
7dd4a573 6272 * configure.ac: Change the logic when we check for target tools.
6273 Do it when the target is specified and it's different from the
6274 specified value of the host.
5b5d4aa5 6275
c91e1793 62762009-04-11 Felix Zielcke <fzielcke@z-51.de>
6277
6278 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
6279 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
6280 GNU/kFreeBSD. Check if a device is a character device. Use
6281 DIOCGMEDIASIZE to get the size.
6282 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
6283 support for GNU/kFreeBSD.
6284 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
6285 is a character device instead of a block device. Add support for
6286 FreeBSD device names.
6287
6288 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
6289 is a character device instead of a block device.
6290
6291 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
6292 is a character device instead of a block device.
6293
b1ac8644 62942009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
6295
6296 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
6297 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
6298 FreeBSD. Check if a device is a character device. Use
6299 DIOCGMEDIASIZE to get the size.
6300 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
6301 support for FreeBSD.
6302 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
6303 is a character device instead of a block device. Add support for
6304 FreeBSD device names.
6305
6306 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
6307 a character device instead of a block device.
6308 (grub_util_check_char_device): New function.
6309
6310 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
6311 a character device instead of a block device.
6312
6313 * include/grub/util/getroot.h (grub_util_check_char_device): New
6314 prototype.
6315
a3f7515a 63162009-04-11 David S. Miller <davem@davemloft.net>
6317
6318 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
6319 static libgcc.
6320 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
6321 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
6322 function, if present.
6323 (__bswapdi2): Likewise.
6324
0d44993d 6325 * include/grub/sparc64/ieee1275/boot.h: New file.
6326 * boot/sparc64/ieee1275/boot.S: Likewise.
6327 * boot/sparc64/ieee1275/diskboot.S: Likewise.
6328
ed3d2bc2 6329 * kern/misc.c (grub_ltoa): New function.
6330 (grub_vsprintf): Use it to format 'long' integers.
6331
d3bfb59c 63322009-04-10 David S. Miller <davem@davemloft.net>
6333
6334 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
6335 slots are of type grub_ieee1275_cell_t.
6336 (grub_nand_read): Likewise.
6337 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
6338 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
6339 macros are used to compare values in arg/ret block of the call.
6340 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
6341 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
6342 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
6343 grub_ieee1275_instance_to_path, grub_ieee1275_write,
6344 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
6345 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
6346 grub_ieee1275_close, grub_ieee1275_set_property,
6347 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
6348 grub_ieee1275_cell_t.
6349 * kern/ieee1275/openfw.c (grub_map): Likewise.
6350 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
6351 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
6352
450e2238 6353 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
6354 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6355 (grub_devalias_iterate): Likewise.
6356
7dd4a573 63572009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 6358
6359 UFS improvements
6360
6361 * fs/ufs.c (INODE_NBLOCKS): new definition
6362 (struct grub_ufs_dirent): added fields for non-BSD dirents
6363 (grub_ufs_get_file_block): fixed double indirect handling
6364 (grub_ufs_lookup_symlink): use more robust way to determine whether
6365 symlink is inline
6366 (grub_ufs_find_file): support for non-BSD dirents
6367 (grub_ufs_dir): support for non-BSD dirents
6368
e7e6862a 63692009-04-10 Bean <bean123ch@gnail.com>
6370
6371 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
6372 attribute, otherwise the size would be wrong for i386 platform.
6373
6374 * include/grub/pci.h (grub_pci_read_word): New inline function.
6375 (grub_pci_read_byte): Likewise.
6376 (grub_pci_write): Likewise.
6377 (grub_pci_write_word): Likewise.
6378 (grub_pci_write_byte): Likewise.
6379
6380 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
6381
6382 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
6383 (find_framebuf): Scan pci to locate the frame buffer address.
6384
6385 * commands/efi/fixvideo.c: New file.
6386
6387 * commands/efi/loadbios.c: Likewise.
6388
6389 * commands/memrw.c: Likewise.
6390
6391 * util/grub-dumpbios.in: Likewise.
6392
6393 * conf/common.rmk (grub-dumpbios): New utility.
6394 (pkglib_MODULES): New module memrw.mod.
6395 (memrw_mod_SOURCE): New macro.
6396 (memrw_mod_CFLAGS): Likewise.
6397 (memrw_mod_LDFLAGS): Likewise.
6398
7dd4a573 6399 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6400 fixvideo.mod.
6401 (loadbios_mod_SOURCE): New macro.
6402 (loadbios_mod_CFLAGS): Likewise.
6403 (loadbios_mod_LDFLAGS): Likewise.
6404 (fixvideo_mod_SOURCE): Likewise.
6405 (fixvideo_mod_CFLAGS): Likewise.
6406 (fixvideo_mod_LDFLAGS): Likewise.
6407
7dd4a573 6408 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 6409 fixvideo.mod.
6410 (loadbios_mod_SOURCE): New macro.
6411 (loadbios_mod_CFLAGS): Likewise.
6412 (loadbios_mod_LDFLAGS): Likewise.
6413 (fixvideo_mod_SOURCE): Likewise.
6414 (fixvideo_mod_CFLAGS): Likewise.
6415 (fixvideo_mod_LDFLAGS): Likewise.
6416
af63ada2 64172009-04-08 Felix Zielcke <fzielcke@z-51.de>
6418
6419 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
6420
c2cdde70 64212009-04-07 David S. Miller <davem@davemloft.net>
6422
6423 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
6424 support for R_SPARC_OLO10 relocations. Fix compile warning for
6425 R_SPARC_WDISP30 case.
ea3f72cf 6426 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 6427
761319cf 64282009-04-06 Pavel Roskin <proski@gnu.org>
6429
1007d1f5 6430 * include/grub/misc.h (ARRAY_SIZE): New macro.
6431 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
6432 New macro.
6433 * loader/i386/linux.c (allocate_pages): Use free_pages().
6434 (grub_linux_unload): Don't use free_pages().
6435 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
6436 wrong index. Treat all other modes as text modes.
6437 (grub_cmd_linux): Initialize vid_mode unconditionally to
6438 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
6439
761319cf 6440 * commands/help.c (print_command_help): Use cmd->prio, not
6441 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
6442
ea761d40 64432009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 6444
ea761d40 6445 Parttool
6446
6447 * parttool/pcpart.c: new file
6448 * commands/parttool.c: likewise
6449 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
6450 (parttool_mod_SOURCES): new variable
6451 (parttool_mod_CFLAGS): likewise
6452 (parttool_mod_LDFLAGS): likewise
6453 (pcpart_mod_SOURCES): likewise
6454 (pcpart_mod_CFLAGS): likewise
6455 (pcpart_mod_LDFLAGS): likewise
7dd4a573 6456 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 6457 and parttool/pcpart.c
6458 * conf/i386-efi.rmk: likewise
6459 * conf/i386-ieee1275.rmk: likewise
6460 * conf/i386-pc.rmk: likewise
6461 * conf/powerpc-ieee1275.rmk: likewise
6462 * conf/sparc64-ieee1275.rmk: likewise
6463 * conf/x86_64-ieee1275.rmk: likewise
6464
05aaebfb 64652009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 Support for mtime and further expandability of dir command
6468
6469 * include/grub/lib/datetime.h: moved to ...
7dd4a573 6470 * include/grub/datetime.h: ... moved here and added
05aaebfb 6471 declaration of grub_unixtime2datetime. All users updated
7dd4a573 6472 * include/grub/fs.h: new syntax for dir and mtime functions in
6473 struct grub_fs
05aaebfb 6474 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
6475 and GRUB_FSHELP_FLAGS_MASK
6476 * commands/ls.c (grub_ls_list_files): Write mtime in long format
6477 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
6478 (grub_ext2_mtime): new function
6479 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
6480 (grub_hfsplus_mtime): new function
6481 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
6482 (GRUB_UFS_ATTR_FILE): likewise
6483 (GRUB_UFS_ATTR_LNK): likewise
6484 (struct grub_ufs_sblock): new fields mtime
6485 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
6486 all users updated
6487 (grub_ufs_dir): mtime support
6488 (grub_ufs_mtime): new function
6489 * fs/affs.c (grub_affs_dir): use new dir syntax
6490 * fs/afs.c (grub_afs_dir): likewise
6491 * fs/cpio.c (grub_cpio_dir): likewise
6492 * fs/fat.c (grub_fat_find_dir): likewise
6493 * fs/hfs.c (grub_hfs_dir): likewise
6494 * fs/iso9660.c (grub_iso9660_dir): likewise
6495 * fs/jfs.c (grub_jfs_dir): likewise
6496 * fs/minix.c (grub_minix_dir): likewise
6497 * fs/ntfs.c (grub_ntfs_dir): likewise
6498 * fs/reiserfs.c (grub_reiserfs_dir): likewise
6499 * fs/sfs.c (grub_sfs_dir): likewise
6500 * fs/xfs.c (grub_xfs_dir): likewise
6501 * util/hostfs.c (grub_hostfs_dir): likewise
6502 * lib/datetime.c: moved to ...
6503 * normal/datetime.c: ... moved here
6504 (grub_unixtime2datetime): new function
6505 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 6506 * normal/completion.c (iterate_dir): use new dir syntax
6507 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 6508 last modification time of a volume
7dd4a573 6509 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 6510 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 6511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 6512 (normal_mod_SOURCES): likewise
6513 (datetime_mod_SOURCES): Removed lib/datetime.c
6514 * conf/i386-efi.rmk: likewise
7dd4a573 6515 * conf/i386-ieee1275.rmk: likewise
05aaebfb 6516 * conf/i386-pc.rmk: likewise
6517 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6518 * conf/sparc64-ieee1275.rmk: likewise
6519 * conf/x86_64-efi.rmk: likewise
05aaebfb 6520
8a7e1a14 65212009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 6524
6525 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 6526 on grub_fat_find_dir
6527 (grub_fat_find_dir): use grub_fat_iterate_dir
6528 (grub_fat_label): likewise
6529
04186a9c 65302009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6531
7dd4a573 6532 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 6533 and command.h
6534 remove extraneous kernel_elf_HEADERS
6535
da4c0bb6 65362009-04-04 Bean <bean123ch@gnail.com>
6537
6538 * include/grub/util/misc.h: Add dummy function fsync for mingw.
6539
6540 * util/misc.c: Likewise.
6541
54ad9555 65422009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
6543
6544 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
6545 instead of grub_printf.
6546
7a6bf9f2 65472009-04-03 Robert Millan <rmh@aybabtu.com>
6548
6549 * loader/i386/linux.c (grub_linux_setup_video): Fill
6550 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
6551 values from `mode info' structure instead of hardcoded
6552 values.
6553
3fcc2083 65542009-04-01 Pavel Roskin <proski@gnu.org>
6555
6556 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
6557 unused now.
6558 * genmk.rb: Likewise.
6559 * configure.ac: Likewise.
6560
5ec9740b 65612009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
6562
6563 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
6564 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
6565
5270cec8 65662009-04-01 David S. Miller <davem@davemloft.net>
6567
6568 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 6569 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 6570 (grub_setjmp): Mark with 'returns_twice' attribute.
6571 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
6572 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
6573 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
6574
9c3dd854 65752009-04-01 Robert Millan <rmh@aybabtu.com>
6576
6577 Reapply fix from 2008-07-28 which was accidentally reverted; also
6578 perform the same fix to a similar check in same function.
6579
6580 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
6581 with the same number are found, just use issue a warning with
6582 grub_dprintf(), as this error has been reported to be non-fatal.
6583
0d818b7e 65842009-03-31 Pavel Roskin <proski@gnu.org>
6585
6586 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
6587 for cross-compilation.
6588
95646d92 65892009-03-30 Robert Millan <rmh@aybabtu.com>
6590
6591 Fix i386-ieee1275 build.
6592
6593 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
6594 Remove declaration.
6595
6a003ed1 65962009-03-30 Pavel Roskin <proski@gnu.org>
6597
6598 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
6599 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
6600 zero-terminated, rely only on the strlen value. Fix comparison
6601 of strings differing in length.
6602
92f33540 66032009-03-30 Robert Millan <rmh@aybabtu.com>
6604
6605 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
6606 checking for abi version. Improve error messages on BIOS to notify
6607 user about `linux16' command.
6608
a8c48fd5 66092009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6610
f968172e 6611 Leak fixes
a8c48fd5 6612
f968172e 6613 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
6614 in case of collision
6615 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 6616
9c323f09 66172009-03-29 Robert Millan <rmh@aybabtu.com>
6618
6619 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
6620 set `vid_mode' accordingly.
6621 (grub_linux_boot): Process `vid_mode' and set video mode.
6622
ae68f423 66232009-03-29 Robert Millan <rmh@aybabtu.com>
6624
6625 * util/grub.d/10_linux.in (linux_entry): New function.
6626 Factorize generation of Linux boot entries.
6627
5709cfc4 66282009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
6629
6630 Make the format of Environment Block plain text. The boot loader
6631 part is not tested well yet.
7dd4a573 6632
5709cfc4 6633 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
6634 (buffer): Removed.
6635 (envblk): Likewise.
6636 (usage): Remove "info" and "clear". Add "unset". Update the
6637 description of "set", as this does not delete variables any
6638 longer.
6639 (create_envblk_file): Complete rewrite.
6640 (open_envblk_file): Likewise.
6641 (cmd_info): Removed.
6642 (cmd_list): Likewise.
6643 (cmd_set): Likewise.
6644 (cmd_clear): Likewise.
6645 (list_variables): New function.
6646 (write_envblk): Likewise.
6647 (set_variables): Likewise.
6648 (unset_variables): Likewise.
6649 (main): Complete rewrite.
6650
6651 * commands/loadenv.c (buffer): Removed.
6652 (envblk): Likewise.
6653 (open_envblk_file): New function.
6654 (read_envblk_file): Complete rewrite.
6655 (grub_cmd_load_env): Likewise.
6656 (grub_cmd_list_env): Likewise.
6657 (struct blocklist): New struct.
6658 (free_blocklists): New function.
6659 (check_blocklists): Likewise.
6660 (write_blocklists): Likewise.
6661 (grub_cmd_save_env): Complete rewrite.
6662
6663 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
6664 a plain text signature.
6665 (GRUB_ENVBLK_MAXLEN): Removed.
6666 (struct grub_envblk): Complete rewrite.
6667 (grub_envblk_find): Removed.
6668 (grub_envblk_insert): Likewise.
6669 (grub_envblk_open): New prototype.
6670 (grub_envblk_set): Likewise.
6671 (grub_envblk_delete): Put const to VALUE.
6672 (grub_envblk_iterate): Put const to NAME and VALUE.
6673 (grub_envblk_close): New prototype.
6674 (grub_envblk_buffer): New inline function.
6675 (grub_envblk_size): Likewise.
6676
6677 * lib/envblk.c: Include grub/mm.h.
6678 (grub_env_find): Removed.
6679 (grub_envblk_open): New function.
6680 (grub_envblk_close): Likewise.
6681 (escaped_value_len): Likewise.
6682 (find_next_line): Likewise.
6683 (grub_envblk_insert): Removed.
6684 (grub_envblk_set): New function.
6685 (grub_envblk_delete): Complete rewrite.
6686 (grub_envblk_iterate): Likewise.
6687
a9368fd3 66882009-03-28 Robert Millan <rmh@aybabtu.com>
6689
6690 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
6691 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
6692 variables. Use 16-bit loader.
6693 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
6694 loader.
6695 * kern/i386/loader.S (grub_linux_boot): Rename to ...
6696 (grub_linux16_boot): ... this. Update all users.
6697 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
6698 (grub_linux_boot): ... this. Update all users.
6699
6700 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
6701 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
6702 commands to `linux16' and `initrd16'.
6703 (GRUB_MOD_FINI(linux)): Rename to ...
6704 (GRUB_MOD_FINI(linux16)): ... this.
6705
e4dd5a7e 67062009-03-24 Pavel Roskin <proski@gnu.org>
6707
6708 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
6709 not just for compilation.
6710
c04d6e05 67112009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 Move multiboot helper out of kernel
6714
6715 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
6716 `loader/i386/multiboot_helper.S'.
6717 * conf/i386-coreboot.rmk: Likewise
6718 * conf/i386-ieee1275.rmk: Likewise
6719
6720 * kern/i386/loader.S: Move multiboot helpers from here...
6721 * loader/i386/multiboot_helper.S: ...moved here
6722 * include/grub/i386/loader.h: Move declarations of multiboot
6723 helpers from here...
6724 * include/grub/i386/multiboot.h: ...moved here
6725 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
6726
42a5b3fc 67272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6728
6729 * kern/env.c (grub_env_context_open): Added an argument to specify
6730 whether a new context inherits exported variables from current
6731 one. This is useful when making a sandbox to interpret a config
6732 file.
6733 All callers updated.
6734
6735 * include/grub/env.h (grub_env_context_open): Updated the prototype.
6736
b28bbc4e 67372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6738
6739 * kern/env.c (grub_env_context_close): Fix memory leaks.
6740
f04f02e4 67412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6742
6743 * normal/main.c (grub_normal_execute): Added an argument
6744 BATCH to specify if an interactive interface should be provided
6745 after reading a config file.
6746 All callers updated.
6747 (read_command_list): Prevent being executed twice.
6748 (read_fs_list): Likewise.
6749
42a5b3fc 6750 * include/grub/normal.h (grub_normal_execute): Updated the
6751 prototype.
f04f02e4 6752
41473ac2 67532009-03-22 Pavel Roskin <proski@gno.org>
6754
fbc00b0c 6755 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
6756 _start.
6757 * kern/i386/pc/startup.S: Likewise.
6758 * kern/i386/efi/startup.S: Likewise.
6759 * kern/i386/ieee1275/startup.S: Likewise.
6760 * kern/i386/coreboot/startup.S: Likewise.
6761 * kern/x86_64/efi/startup.S: Likewise.
6762
41473ac2 6763 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
6764 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
6765 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
6766
2274cc8f 67672009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 Bugfixes in multiboot for bugs uncovered by solaris kernel.
6770
6771 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
6772 limit detection.
6773 Use vaddr of correct segment for entry_point.
6774
b1b797cb 67752009-03-21 Bean <bean123ch@gmail.com>
6776
6777 * commands/blocklist.c: Add include file <grub/command.h>, remove
6778 <grub/normal.h> and <grub/arg.h>.
6779 (grub_cmd_blocklist): Use the new command interface.
6780 (GRUB_MOD_INIT): Likewise.
6781 (GRUB_MOD_FINI): Likewise.
6782 * commands/boot.c: Likewise.
6783 * commands/cat.c: Likewise.
6784 * commands/cmp.c: Likewise.
6785 * commands/configfile.c: Likewise.
6786 * commands/crc.c: Likewise.
6787 * commands/echo.c: Likewise.
6788 * commands/halt.c: Likewise.
6789 * commands/handler.c: Likewise.
6790 * commands/hdparm.c: Likewise.
6791 * commands/help.c: Likewise.
6792 * commands/hexdump.c: Likewise.
6793 * commands/loadenv.c: Likewise.
6794 * commands/ls.c: Likewise.
6795 * commands/lsmmap.c: Likewise.
6796 * commands/lspci.c: Likewise.
6797 * commands/loadenv.c: Likewise.
6798 * commands/read.c: Likewise.
6799 * commands/reboot.c: Likewise.
6800 * commands/search.c: Likewise.
6801 * commands/sleep.c: Likewise.
6802 * commands/test.c: Likewise.
6803 * commands/usbtest.c: Likewise.
6804 * commands/videotest.c: Likewise.
6805 * commands/i386/cpuid.c: Likewise.
6806 * commands/i386/pc/halt.c: Likewise.
6807 * commands/i386/pc/play.c: Likewise.
6808 * commands/i386/pc/pxecmd.c: Likewise.
6809 * commands/i386/pc/vbeinfo.c: Likewise.
6810 * commands/i386/pc/vbetest.c: Likewise.
6811 * commands/ieee1275/suspend.c: Likewise.
6812 * disk/loopback.c: Likewise.
6813 * font/font_cmd.c: Likewise.
6814 * hello/hello.c: Likewise.
6815 * loader/efi/appleloader.c: Likewise.
6816 * loader/efi/chainloader.c: Likewise.
6817 * loader/i386/bsd.c: Likewise.
6818 * loader/i386/efi/linux.c: Likewise.
6819 * loader/i386/ieee1275/linux.c: Likewise.
6820 * loader/i386/linux.c: Likewise.
6821 * loader/i386/pc/chainloader.c: Likewise.
6822 * loader/i386/pc/linux.c: Likewise.
6823 * loader/powerpc/ieee1275/linux.c: Likewise.
6824 * loader/multiboot_loader.c: Likewise.
6825 * term/gfxterm.c: Likewise.
6826 * term/i386/pc/serial.c: Likewise.
6827 * term/terminfo.c: Likewise.
6828
6829 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
6830 * term/i386/pc/vga.c: Likewise.
6831 * video/readers/jpeg.c: Likewise.
6832 * video/readers/png.c: Likewise.
6833 * video/readers/tga.c: Likewise.
6834
6835 * util/grub-fstest (cmd_loopback): Removed.
6836 (cmd_blocklist): Likewise.
6837 (cmd_ls): Likewise.
6838 (grub_register_command): Likewise.
6839 (grub_unregister_command): Likewise.
6840 (execute_command): Use grub_command_find to locate command and execute
6841 it.
6842
6843 * include/grub/efi/chainloader.h: Removed.
6844 * loader/efi/chainloader_normal.c: Likewise.
6845 * loader/i386/bsd_normal.c: Likewise.
6846 * loader/i386/pc/chainloader_normal.c: Likewise.
6847 * loader/i386/pc/multiboot_normal.c: Likewise.
6848 * loader/linux_normal.c: Likewise.
6849 * loader/multiboot_loader_normal.c: Likewise.
6850 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
6851
6852 * gencmdlist.sh: Scan new registration command grub_register_extcmd
6853 and grub_register_command_p1.
6854
6855 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
6856 kern/command.c, lib/arg.c and commands/extcmd.c.
6857 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
6858 (minicmd_mod_SOURCES): New variable.
6859 (minicmd_mod_CFLAGS): Likewise.
6860 (minicmd_mod_LDFLAGS): Likewise.
6861 (extcmd_mod_SOURCES): Likewise.
6862 (extcmd_mod_CFLAGS): Likewise.
6863 (extcmd_mod_LDFLAGS): Likewise.
6864 (boot_mod_SOURCES): Removed.
6865 (boot_mod_CFLAGS): Likewise.
6866 (boot_mod_LDFLAGS): Likewise.
6867
6868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
6869 kern/corecmd.c.
6870 (kernel_img_HEADERS): Add command.h.
6871 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
6872 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
6873 and lib/arg.c.
6874 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
6875 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
6876 remove the corresponding normal mode command.
6877 (normal_mod_SOURCES): Remove normal/arg.c.
6878 * conf/i386-coreboot.rmk: Likewise.
6879 * conf/i386-efi.rmk: Likewise.
6880 * conf/i386-ieee1275.rmk: Likewise.
6881 * conf/powerpc-ieee1275.rmk: Likewise.
6882 * conf/x86_64-efi.rmk: Likewise.
6883
6884 * include/grub/arg.h: Move from here ...
6885 * include/grub/lib/arg.h: ... to here.
6886
6887 * normal/arg.c: Move from here ...
6888 * lib/arg.c: ... to here.
6889
6890 * commands/extcmd.c: New file.
6891 * commands/minicmd.c: Likewise.
6892 * include/grub/command.h: Likewise.
6893 * include/grub/extcmd.h: Likewise.
6894 * kern/command.c: Likewise.
6895 * kern/corecmd.c: Likewise.
6896
6897 * kern/list.c (grub_list_iterate): Return int instead of void.
6898 (grub_list_insert): New function.
6899 (grub_prio_list_insert): Likewise.
6900
6901 * kern/rescue.c (grub_rescue_command): Removed.
6902 (grub_rescue_command_list): Likewise.
6903 (grub_rescue_register_command): Likewise.
6904 (grub_rescue_unregister_command): Likewise.
6905 (grub_rescue_cmd_boot): Move to minicmd.c
6906 (grub_rescue_cmd_help): Likewise.
6907 (grub_rescue_cmd_info): Likewise.
6908 (grub_rescue_cmd_boot): Likewise.
6909 (grub_rescue_cmd_testload): Likewise.
6910 (grub_rescue_cmd_dump): Likewise.
6911 (grub_rescue_cmd_rmmod): Likewise.
6912 (grub_rescue_cmd_lsmod): Likewise.
6913 (grub_rescue_cmd_exit): Likewise.
6914 (grub_rescue_print_devices): Moved to corecmd.c.
6915 (grub_rescue_print_files): Likewise.
6916 (grub_rescue_cmd_ls): Likewise.
6917 (grub_rescue_cmd_insmod): Likewise.
6918 (grub_rescue_cmd_set): Likewise.
6919 (grub_rescue_cmd_unset): Likewise.
7d074e3c 6920 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 6921 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 6922 commands, remove grub_rescue_register_command calls.
b1b797cb 6923
7d074e3c 6924 * normal/command.c (grub_register_command): Removed.
b1b797cb 6925 (grub_unregister_command): Likewise.
6926 (grub_command_find): Likewise.
6927 (grub_iterate_commands): Likewise.
6928 (rescue_command): Likewise.
6929 (export_command): Moved to corecmd.c.
6930 (set_command): Removed.
6931 (unset_command): Likewise.
6932 (insmod_command): Likewise.
6933 (rmmod_command): Likewise.
6934 (lsmod_command): Likewise.
6935 (grub_command_init): Likewise.
6936
6937 * normal/completion.c (iterate_command): Use cmd->prio to check for
6938 active command.
6939 (complete_arguments): Use grub_extcmd_t structure to find options.
6940 (grub_normal_do_completion): Change function grub_iterate_commands to
6941 grub_command_iterate.
6942
6943 * normal/execute.c (grub_script_execute_cmd): No need to parse
6944 argument here.
6945
6946 * normal/main.c (grub_dyncmd_dispatcher): New function.
6947 (read_command_list): Register unload commands as dyncmd.
6948 (grub_cmd_normal): Use new command interface, register rescue,
6949 unregister normal at entry, register normal, unregister rescue at exit.
6950
6951 * include/grub/list.h (grub_list_test_t): New type.
6952 (grub_list_iterate): Return int instead of void.
6953 (grub_list_insert): New function.
6954 (GRUB_AS_NAMED_LIST_P): New macro.
6955 (GRUB_AS_PRIO_LIST): Likewise.
6956 (GRUB_AS_PRIO_LIST_P): Likewise.
6957 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
6958 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
6959 (grub_prio_list): New structure.
6960 (grub_prio_list_insert): New function.
6961 (grub_prio_list_remove): New inline function.
6962
6963 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
6964 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
6965 (GRUB_COMMAND_FLAG_MENU): Likewise.
6966 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6967 (GRUB_COMMAND_FLAG_TITLE): Likewise.
6968 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6969 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
6970 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
6971 (grub_command): Likewise.
6972 (grub_register_command): Likewise.
6973 (grub_command_find): Likewise.
6974 (grub_iterate_commands): Likewise.
6975 (grub_command_init): Likewise.
6976 (grub_arg_parse): Likewise.
6977 (grub_arg_show_help): Likewise.
6978
6979 * include/grub/rescue.h (grub_rescue_register_command): Removed.
6980 (grub_rescue_unregister_command): Likewise.
6981
6982 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
6983 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
6984 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
6985
6986 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
6987 grub_rescue_cmd_initrd.
6988 * include/grub/i386/loader.h: Likewise.
6989 * include/grub/x86_64/loader.h: Likewise.
6990
6991 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
6992
1f4147aa 69932009-03-21 Bean <bean123ch@gmail.com>
6994
6995 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
6996 instead of stat in mingw environment.
6997
6998 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
6999
7000 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
7001
7002 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
7003 AC_CONFIG_LINKS.
7004
2156d5ba 70052009-03-21 Bean <bean123ch@gmail.com>
7006
7007 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
7008 out of range error.
7009
177b82ca 70102009-03-18 Michel Dänzer <michel@daenzer.net>
7011
7012 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
7013 checking inode flags for EXT4_EXTENTS_FLAG.
7014
14aad807 70152009-03-18 Robert Millan <rmh@aybabtu.com>
7016
7017 * loader/i386/linux.c: Include `<grub/video.h>' and
7018 `<grub/i386/pc/vbe.h>'..
7019 (grub_linux_setup_video): New function. Loosely based on the EFI one.
7020 (grub_linux32_boot): Attempt to configure video settings with
7021 grub_linux_setup_video().
7022 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
7023 to avoid grub_console_fini() which would step out of graphical mode
7024 unconditionally.
7025
8cf83a27 70262009-03-14 Robert Millan <rmh@aybabtu.com>
7027
7028 Fix build on powerpc.
7029 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
7030
40164e75 70312009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
7034 background image command.
7035
c58bc32a 70362009-03-12 Colin D Bennett <colin@gibibit.com>
7037
7038 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
7039 (grub_gfxterm_putchar): Extract pairs of identical calls to
7040 draw_cursor out of conditional blocks.
7041
5415144a 70422009-03-11 Pavel Roskin <proski@gnu.org>
7043
7044 * fs/hfs.c (grub_hfs_strncasecmp): New function.
7045 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
7046
6394042e 70472009-03-11 Robert Millan <rmh@aybabtu.com>
7048
7049 * loader/i386/multiboot_elfxx.c
7050 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
7051
b7b50e5f 70522009-03-11 Felix Zielcke <fzielcke@z-51.de>
7053
7054 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
7055 `kern/handler.c'.
7056
1ca7fc96 70572009-03-11 Robert Millan <rmh@aybabtu.com>
7058
7059 * loader/i386/multiboot.c (code_size): New variable.
7060 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 7061 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 7062 4-byte alignment to MBI and others by increasing
7d074e3c 7063 `boot_loader_name_length' appropriately.
1ca7fc96 7064
7065 * loader/i386/multiboot_elfxx.c
7066 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
7067
a83ea1d2 70682009-03-09 Felix Zielcke <fzielcke@z-51.de>
7069
7070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
7071 `fs/ext2.c'.
7072
aa9f3bff 70732009-03-08 Robert Millan <rmh@aybabtu.com>
7074
7075 Make loader/i386/linux.c usable on i386-pc again.
7076
7077 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
7078 memory to heap.
7079 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
7080 `#error' stanza.
7081
d8b3b60e 70822009-03-07 Bean <bean123ch@gmail.com>
7083
7084 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
7085 allocation.
7086
b362c9e9 70872009-03-06 Robert Millan <rmh@aybabtu.com>
7088
7089 Fix display issue on terminals with screen size other than 80x25
7090 (e.g. gfxterm with resolution higher than 640x480).
7091
7092 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 7093 position relative to the center of the terminal instead of relying
b362c9e9 7094 on a hardcoded offset.
7095
9304eef1 70962009-03-04 Robert Millan <rmh@aybabtu.com>
7097
7098 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
7099 installed.
7100
7101 * Makefile.in (host_kernel): New variable.
7102 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
7103 scripts instead of just the windows one.
7104 * configure.ac: Initialize and AC_SUBST `host_kernel'.
7105
eabc95fb 71062009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 7107
7108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
7109 `kern/handler.c'.
7110 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7111 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7112 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7114 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7116
ceb1223c 71172009-03-04 Felix Zielcke <fzielcke@z-51.de>
7118
7119 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
7120 or if there's no space for the disk label and print the partition number on a
7121 invalid magic.
7122
4910684a 71232009-03-04 Felix Zielcke <fzielcke@z-51.de>
7124
7125 * util/misc.c: Include <time.h>.
7126 (grub_millisleep): New function.
7127
7e9ca17a 71282009-03-04 Bean <bean123ch@gmail.com>
7129
7130 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
7131 another option -mno-red-zone.
7132
7133 * commands/handler.c: Change module description.
7134
7135 * kern/handler.c: Add missing space at the end of description line.
7136
7137 * kern/list.c: Likewise.
7138
f501677c 71392009-03-03 Robert Millan <rmh@aybabtu.com>
7140
7141 Move more components to the relocation area, and fix mbi pointer
7142 handling to use the destination rather than the origin (thanks to
7143 Vladimir Serbinenko for spotting).
7144
7145 * loader/i386/multiboot.c (mbi_dest): New variable.
7146 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
7147 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
7148 relocation area.
7149
9902d047 71502009-03-01 Bean <bean123ch@gmail.com>
7151
50fb7002 7152 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 7153 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
7154 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
7155 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
7156
7157 * loader/i386/efi/linux.c (acpi_guid): New variable.
7158 (acpi_guid): Likewise.
7159 (EBDA_SEG_ADDR): New constant.
7160 (LOW_MEM_ADDR): Likewise.
7161 (FAKE_EBDA_SEG): Likewise.
7162 (fake_bios_data): New function.
7163 (grub_linux_boot): Call fake_bios_data.
7164
71b9f361 71652009-03-01 Bean <bean123ch@gmail.com>
7166
7167 * commands/terminal.c: Removed.
7168
7169 * commands/handler.c: New file.
7170
7171 * include/grub/list.h: Likewise.
7172
7173 * include/grub/handler.h: Likewise.
7174
7175 * kern/list.c: Likewise.
7176
7177 * kern/handler.c: Likewise.
7178
7179 * kern/term.h: Include header file <grub/handler.h>.
7180 (grub_term_input): Move next field to the beginning.
7181 (grub_term_output): Likewise.
7182 (grub_term_input_class): New variable.
7183 (grub_term_output_class): Likewise.
7184 (grub_term_register_input): Changed to inline function.
7185 (grub_term_register_output): Likewise.
7186 (grub_term_unregister_input): Likewise.
7187 (grub_term_unregister_output): Likewise.
7188 (grub_term_set_current_input): Likewise.
7189 (grub_term_set_current_output): Likewise.
7190 (grub_term_get_current_input): Likewise.
7191 (grub_term_get_current_output): Likewise.
7192 (grub_term_iterate_input): Removed.
7193 (grub_term_iterate_output): Likewise.
7194
7195 * kern/term.c (grub_term_list_input): Removed.
7196 (grub_term_list_output): Likewise.
7197 (grub_term_input_class): New variable.
7198 (grub_term_output_class): Likewise.
50fb7002 7199 (grub_cur_term_input): Change variable as macro.
71b9f361 7200 (grub_cur_term_output): Likewise.
7201 (grub_term_register_input): Removed.
7202 (grub_term_register_output): Likewise.
7203 (grub_term_unregister_input): Likewise.
7204 (grub_term_unregister_output): Likewise.
7205 (grub_term_set_current_input): Likewise.
7206 (grub_term_set_current_output): Likewise.
7207 (grub_term_iterate_input): Likewise.
7208 (grub_term_iterate_output): Likewise.
7209 (grub_term_get_current_input): Likewise.
7210 (grub_term_get_current_output): Likewise.
7211
7212 * util/grub-editenv.c: Include header file <grub/handler.h>.
7213 (grub_term_get_current_input): Removed.
7214 (grub_term_get_current_output): Likewise.
7215 (grub_term_input_class): New variable.
50fb7002 7216 (grub_term_output_class): Likewise.
71b9f361 7217
7218 * util/grub-fstest.c (grub_term_get_current_input): Removed.
7219 (grub_term_get_current_output): Likewise.
7220 (grub_term_input_class): New variable.
50fb7002 7221 (grub_term_output_class): Likewise.
71b9f361 7222
7223 * util/grub-probe.c (grub_term_get_current_input): Removed.
7224 (grub_term_get_current_output): Likewise.
7225 (grub_term_input_class): New variable.
50fb7002 7226 (grub_term_output_class): Likewise.
71b9f361 7227
7228 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
7229 (grub_term_get_current_output): Likewise.
7230 (grub_term_input_class): New variable.
50fb7002 7231 (grub_term_output_class): Likewise.
71b9f361 7232
7233 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
7234 (terminal_mod_SOURCES): Likewise.
7235 (terminal_mod_CFLAGS): Likewise.
7236 (terminal_mod_LDFLAGS): Likewise.
7237
7238 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
7239 handler.c.
7240 (kernel_img_SOURCES): Add list.c and handler.c.
7241 (kernel_img_HEADERS): Add list.h and handler.h.
7242
7243 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7244 handler.c.
7245 (kernel_mod_SOURCES): Add list.c and handler.c.
7246 (kernel_mod_HEADERS): Add list.h and handler.h.
7247
7248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
7249 handler.c.
7250 (kernel_elf_SOURCES): Add list.c and handler.c.
7251 (kernel_elf_HEADERS): Add list.h and handler.h.
7252
7253 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7254 handler.c.
7255 (kernel_elf_SOURCES): Add list.c and handler.c.
7256 (kernel_elf_HEADERS): Add list.h and handler.h.
7257
7258 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
7259 handler.c.
7260 (kernel_mod_SOURCES): Add list.c and handler.c.
7261 (kernel_mod_HEADERS): Add list.h and handler.h.
7262
7263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
7264 handler.c.
7265 (kernel_elf_SOURCES): Add list.c and handler.c.
7266 (kernel_elf_HEADERS): Add list.h and handler.h.
7267
8a31787f 72682009-02-27 Robert Millan <rmh@aybabtu.com>
7269
7270 Factorize elf32 / elf64 code in Multiboot loader. This will
7271 prevent it from getting out of sync again.
7272
7273 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
7274 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
7275 grub_multiboot_load_elf64): Move from here ...
7276 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
7277 grub_multiboot_load_elf): ... to here (new file).
7278
51cd3dfc 72792009-02-27 Robert Millan <rmh@aybabtu.com>
7280
7281 * util/grub.d/10_linux.in: Rename "single-user mode" to
7282 "recovery mode".
7283
6e8c9c3a 72842009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Don't leak in SCSI code.
7287 * disk/scsi.c (grub_scsi_close): free `scsi'.
7288
4b6bf4f9 72892009-02-27 Robert Millan <rmh@aybabtu.com>
7290
7291 * loader/i386/pc/multiboot.c: Move from here ...
7292 * loader/i386/multiboot.c: ... to here. Update all users.
7293
b9413424 72942009-02-27 Robert Millan <rmh@aybabtu.com>
7295
7296 Patch from Alexandre Bique <bique.alexandre@gmail.com>
7297 * util/i386/pc/grub-setup.c (setup): Fix directory path.
7298
50fb7002 72992009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 7300
7301 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
7302 b-tree.
7303
8cc50345 73042009-02-27 Robert Millan <rmh@aybabtu.com>
7305
7306 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
7307 `0x' qualifier as 0 when base is specified as parameter).
7308
6e09b8b7 73092009-02-24 Bean <bean123ch@gmail.com>
7310
7311 * configure.ac: Check for -mcmodel=large in x86_64 target.
7312
7313 * include/grub/efi/api.h (efi_call_10): New macro.
7314 (efi_wrap_10): New function.
7315
7316 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
7317 (GRUB_PE32_REL_BASED_HIGH): Likewise.
7318 (GRUB_PE32_REL_BASED_LOW): Likewise.
7319 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
7320 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
7321 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
7322 (GRUB_PE32_REL_BASED_SECTION): Likewise.
7323 (GRUB_PE32_REL_BASED_REL): Likewise.
7324 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
7325 (GRUB_PE32_REL_BASED_DIR64): Likewise.
7326 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
7327
7328 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
7329 issue.
7330
7331 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
7332 (efi_wrap_10): New function.
7333
7334 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
7335
7336 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
7337 MB/MBP model (NV chipset).
7338 (devdata_devs): Add devpath_5 to the list.
7339
7340 * load/i386/efi/linux.c (video_base): Remove variable.
7341 (RGB_MASK): New macro.
7342 (RGB_MAGIC): Likewise.
7343 (LINE_MIN): Likewise.
7344 (LINE_MAX): Likewise.
7345 (FBTEST_STEP): Likewise.
7346 (FBTEST_COUNT): Likewise.
7347 (fb_list): New variable.
7348 (grub_find_video_card): Remove function.
7349 (find_framebuf): New function.
7350 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
7351 line length.
7352
7353 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
7354 problem for x86_64.
7355
74b21bee 73562009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
7357
7358 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
7359
7360 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
7361 coding tool name.
7362
a455f472 73632009-02-22 Robert Millan <rmh@aybabtu.com>
7364
7365 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
7366 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
7367 in our relocation, instead of using it directly from heap. Also
7368 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
7369
6374daf3 73702009-02-21 Robert Millan <rmh@aybabtu.com>
7371
7372 Implement USB keyboard support (based on patch by Marco Gerards)
7373
7374 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
7375 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
7376 (usb_keyboard_mod_LDFLAGS): New variables.
7377
7378 * term/usb_keyboard.c: New file.
7379
8fa4ea70 73802009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 Corrected wrong declaration
7383
7384 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
7385
353976ac 73862009-02-14 Christian Franke <franke@computer.org>
7387
7388 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
7389 (grub_lspci_iter): Print class code and programming interface byte.
7390
6aa1169b 73912009-02-14 Christian Franke <franke@computer.org>
7392
7393 * gendistlist.sh: Ignore `.svn' directories.
7394
265372ca 73952009-02-14 Felix Zielcke <fzielcke@z-51.de>
7396
7397 * fs/fat.c: Add 2009 to Copyright line.
7398
9ff516f3 73992009-02-14 Christian Franke <franke@computer.org>
7400
7401 * commands/hdparm.c: New file. Provides `hdparm' command
7402 which sends ATA commands via grub_disk_ata_pass_through ().
7403
7404 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
7405
7406 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
7407 and <grub/cpu/io.h> to include/grub/ata.h.
7408 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
7409 (GRUB_CDROM_SECTOR_SIZE): Remove.
7410 (GRUB_ATA_*): Move to include/grub/ata.h.
7411 (GRUB_ATAPI_*): Likewise.
7412 (enum grub_ata_commands): Likewise.
7413 (enum grub_ata_timeout_milliseconds): Likewise.
7414 (struct grub_ata_device): Likewise.
7415 (grub_ata_regset): Likewise.
7416 (grub_ata_regget): Likewise.
7417 (grub_ata_regset2): Likewise.
7418 (grub_ata_regget2): Likewise.
7419 (grub_ata_check_ready): Likewise.
7420 (grub_ata_wait_not_busy): Remove static, exported in
7421 include/grub/ata.h.
7422 (grub_ata_wait_drq): Likewise.
7423 (grub_ata_pio_read): Likewise.
7424
7425 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
7426 function for hdparm.mod.
7427
7428 * include/grub/ata.h: New file, contains declarations from
7429 disk/ata.c.
7430 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
7431
7432 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
7433 (grub_disk_ata_pass_through): New exported variable.
7434
7435 * kern/disk.c (grub_disk_ata_pass_through): New variable.
7436
772e23da 74372009-02-13 Colin D Bennett <colin@gibibit.com>
7438
7439 Support multiple fallback entries, and provide an API to support
7440 executing default+fallback menu entries. Renamed the `terminal' menu
7441 viewer to `text'.
7442
7443 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
7444 variable declaration.
7445 (grub_menu_execute_callback): New structure declaration.
7446 (grub_menu_execute_callback_t): New typedef.
7447 (grub_menu_execute_with_fallback): New function declaration.
7448 (grub_menu_get_entry): Likewise.
7449 (grub_menu_get_timeout): Likewise.
7450 (grub_menu_set_timeout): Likewise.
7451
7452 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
7453
7454 * normal/menu.c (grub_wait_after_message): Moved to
7455 `normal/menu_text.c'.
7456 (draw_border): Likewise.
7457 (print_message): Likewise.
7458 (print_entry): Likewise.
7459 (print_entries): Likewise.
7460 (grub_menu_init_page): Likewise.
7461 (get_entry_number): Likewise.
7462 (print_timeout): Likewise.
7463 (run_menu): Likewise.
7464 (grub_menu_execute_entry): Likewise.
7465 (show_text_menu): Likewise.
7466 (get_and_remove_first_entry_number): New function.
7467 (grub_menu_execute_with_fallback): Likewise.
7468 (get_entry): Renamed to ...
7469 (grub_menu_get_entry): .. this and made it global.
7470 (get_timeout): Renamed to ...
7471 (grub_menu_get_timeout): ... this and made it global.
7472 (set_timeout): Renamed to ...
7473 (grub_menu_set_timeout): ... this and made it global.
7474 (grub_normal_terminal_menu_viewer): Renamed to ...
7475 (grub_normal_text_menu_viewer): ... this.
7476
7477 * normal/menu_text.c: New file. Extracted text-menu-specific code
7478 from normal/menu.c.
7479
7480 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
7481 (normal_mod_SOURCES): Likewise.
7482
7483 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7484 (normal_mod_SOURCES): Likewise.
7485
7486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7487 (normal_mod_SOURCES): Likewise.
7488
7489 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
7490 (normal_mod_SOURCES): Likewise.
7491
7492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7493 (normal_mod_SOURCES): Likewise.
7494
7495 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7496 (normal_mod_SOURCES): Likewise.
7497
7498 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7499 (normal_mod_SOURCES): Likewise.
7500
16ac430e 75012009-02-11 Robert Millan <rmh@aybabtu.com>
7502
7503 * util/grub.d/00_header.in: Update old reference to `font' command.
7504
06ff20fc 75052009-02-10 Felix Zielcke <fzielcke@z-51.de>
7506
7507 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
7508
7509 Based on patch from Javier Martín.
7510
96da9407 75112009-02-09 Felix Zielcke <fzielcke@z-51.de>
7512
7513 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 7514 to avoid false positives with FAT.
96da9407 7515 (grub_fstest_SOURCES): Likewise.
7516 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7517 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7519 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7520 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7521 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7522
6dca6fe4 75232009-02-09 Felix Zielcke <fzielcke@z-51.de>
7524
06ff20fc 7525 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 7526 bpb.version_specific.fat12_or_fat16.fstype and
7527 bpb.version_specific.fat32.fstype.
7528
2550c62f 75292009-02-08 Robert Millan <rmh@aybabtu.com>
7530
be110b30 7531 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 7532
56978920 75332009-02-08 Robert Millan <rmh@aybabtu.com>
7534
7535 * Makefile.in (host_os, host_cpu): New variables.
7536 (target_os): Remove. Update all users.
7537
d64399b5 75382009-02-08 Marco Gerards <marco@gnu.org>
7539
7540 * Makefile.in (enable_grub_emu_usb): New variable.
7541 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
7542 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
7543 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
7544 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
7545 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
7546 `usbtest.mod' and `usbms.mod'.
7547 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
7548 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
7549 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
7550 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
7551 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
7552 variables.
7553
7554 * disk/usbms.c: New file.
7555
7556 * include/grub/usb.h: Likewise.
7557
7558 * include/grub/usbtrans.h: Likewise.
7559
7560 * include/grub/usbdesc.h: Likewise.
7561
7562 * bus/usb/usbtrans.c: Likewise.
7563
7564 * bus/usb/ohci.c: Likewise.
7565
7566 * bus/usb/uhci.c: Likewise.
7567
7568 * bus/usb/usbhub.c: Likewise.
7569
7570 * bus/usb/usb.c: Likewise.
7571
7572 * commands/usbtest.c: Likewise.
7573
7574 * util/usb.c: Likewise.
50fb7002 7575
d64399b5 7576 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
7577
7578 * configure.ac: Test for libusb presence.
50fb7002 7579
d64399b5 7580 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
7581
2b40d6bb 75822009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
7583
7584 * kern/mm.c: Add more comments.
7585
73a4ce81 75862009-02-08 Robert Millan <rmh@aybabtu.com>
7587
7588 Patch from Javier Martín.
7589 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
7590 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
7591
f821ce59 75922009-02-08 Robert Millan <rmh@aybabtu.com>
7593
7594 * fs/cpio.c: Split tar functionality to ...
7595 * fs/tar.c: ... here (new file). Update all users.
7596
aebfc4b0 75972009-02-07 Robert Millan <rmh@aybabtu.com>
7598
7599 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
7600 backward-incompatible features.
7601
7602 Based on patch from Javier Martín, with some adjustments.
7603
50fb7002 76042009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 7605
7606 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
7607
0bb5115e 76082009-02-07 Robert Millan <rmh@aybabtu.com>
7609
7610 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
7611 position of `disk/lvm.c' to ensure grub_init_all() always picks it
7612 after the RAID stuff.
7613
38a0f8e7 76142009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
7615
50fb7002 7616 Fixes problem when running vbetest command as reported by
38a0f8e7 7617 Vladimir Serbinenko <phcoder@gmail.com>.
7618
7619 * (grub_vbe_set_video_mode): Fixed problem with text modes.
7620
3143cc1c 76212009-02-04 Felix Zielcke <fzielcke@z-51.de>
7622
7623 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
7624 /dev/md/NpN style mdraid devices.
7625
9cba6fce 76262009-02-03 Felix Zielcke <fzielcke@z-51.de>
7627
7628 * util/unifont2pff.rb: Remove.
7629
e507a2c1 76302009-02-03 Felix Zielcke <fzielcke@z-51.de>
7631
7632 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
7633 `#'.
7634
d2c2b4cd 76352009-02-03 Felix Zielcke <fzielcke@z-51.de>
7636
7637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
7638 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7639 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7644
b4315fb0 76452009-02-02 Christian Franke <franke@computer.org>
7646
7647 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
7648
de3aa260 76492009-02-01 Felix Zielcke <fzielcke@z-51.de>
7650
7c3ff286 7651 * INSTALL: Note that we now require at least autoconf 2.59 and
7652 that LZO is optional.
de3aa260 7653
825a182b 76542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7655
7656 Base on patch on bug #24154 created by Tomas Tintera
7657 <trosos@seznam.cz>.
7658
7659 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
7660
a69ef770 76612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7662
7c3ff286 7663 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 7664 <bero@arklinux.org>.
7665
7666 * normal/parser.y (script_init): Add missing semicolon.
7667
6fa42fa6 76682009-01-31 Colin D Bennett <colin@gibibit.com>
7669
7c3ff286 7670 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 7671 (free_menu_entry_classes): Added.
7672 (grub_normal_menu_addentry): Added class property handling.
7673 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
7674 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
7675
7676 * normal/menu_viewer.c: New file.
7677
7678 * normal/menu.c (run_menu_entry): Renamed to ...
7679 (grub_menu_execute_entry): ... this and made it as global.
7680 (grub_menu_run): Renamed to ...
7681 (show_text_menu): ... this and made it local.
7682 (show_text_menu): Adapt to new function names.
7683 (grub_normal_terminal_menu_viewer): New global variable.
7684
7685 * include/grub/menu.h: New file.
7686
7687 * include/grub/menu_viewer.h: New file.
7688
7689 * include/grub/normal.h: Added include to grub/menu.h.
7690 (grub_menu_entry): Moved to include/grub/menu.h.
7691 (grub_menu_entry_t): Likewise.
7692 (grub_menu): Likewise.
7693 (grub_menu_t): Likewise.
7694 (grub_normal_terminal_menu_viewer): Added.
7695 (grub_menu_execute_entry): Likewise.
7696 (grub_menu_run): Removed.
7697
7698 * DISTLIST: Added include/grub/menu.h.
7699 Added include/grub/menu_viewer.h.
7700 Added normal/menu_viewer.c.
7701
77022009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
7703
7704 * normal/execute.c (grub_script_execute_menuentry): Changed to use
7705 arglist for menutitle arguments.
7706
7707 * normal/main.c (grub_normal_menu_addentry): Likewise.
7708
7709 * normal/parser.y (menuentry): Likewise.
7710
7711 * normal/script.c (grub_script_create_cmdmenu): Likewise.
7712
7713 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
7714 (grub_script_create_cmdmenu): Likewise.
7715
7716 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
7717
7718 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
7719 changes.
7720
7721 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
7722
7723 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
7724
7725 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
7726
7727 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7728
7729 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7730
7731 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7732
56192c23 77332009-01-30 Christian Franke <franke@computer.org>
7734
7735 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
7736 in option help text.
7737
d72521b3 77382009-01-27 Pavel Roskin <proski@gnu.org>
7739
7740 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
7741
994b5e84 77422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7743
7744 * commands/lsmmap.c: Add include to grub/machine/memory.h.
7745
7746 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
7747
7748 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
7749 unregister function.
7750
6a7eab2c 77512009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7752
7753 * disk/scsi.c (grub_scsi_read): Fix sign problem.
7754
7755 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
7756
7757 * util/grub-mkfont.c (usage): Fix typo.
7758
7759 * util/elf/grub-mkimage.c (load_modules): Fix warning.
7760
1806b56e 77612009-01-26 Daniel Mierswa <impulze@impulze.org>
7762
3fb18f09 7763 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
7764
336e1fb9 7765 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
7766
1806b56e 7767 * kern/misc.c (grub_strcasecmp): New function.
7768 (grub_strcasecmp): Use grub_size_t instead of int for length.
7769 Fix return value.
7770 * include/grub/misc.h: Update function prototypes.
7771
580b2a0f 77722009-01-26 Robert Millan <rmh@aybabtu.com>
7773
7774 * configure.ac: Fix cross-compilation check.
ef257b36 7775
d31c24f1 77762009-01-22 Christian Franke <franke@computer.org>
7777
7778 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
7779 (precision) digit string. Allow `.format2' without `format1' (width).
7780 Limit input chars for `%s' output to `format2' if specified. This is
7781 compatible with standard printf ().
7782
3138b44c 77832009-01-22 Christian Franke <franke@computer.org>
7784
7785 * disk/ata.c (grub_ata_wait_status): Replace by ...
7786 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
7787 other status bits may be invalid while BSY is asserted.
7788 (grub_ata_check_ready): New function.
7789 (grub_ata_cmd): Removed.
7790 (grub_ata_wait_drq): New function.
7791 (grub_ata_strncpy): Remove inline.
7792 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
7793 and error check now done by grub_ata_wait_drq ().
7794 (grub_ata_pio_write): Likewise.
7795 (grub_atapi_identify): Set DEV before check for !BSY. Use
7796 grub_ata_wait_drq () to wait for data.
7797 (grub_ata_device_initialize): Add status register check to
7798 detect missing SATA slave devices. Add debug messages.
7799 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
7800 (grub_atapi_packet): Set DEV before check for !BSY. Replace
7801 transfer loop by grub_ata_pio_write ().
7802 (grub_ata_identify): Set DEV before check for !BSY. Use
7803 grub_ata_wait_drq () to wait for data.
ef257b36 7804 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 7805 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
7806 read/write in one loop. Fix invalid command on write. Fix incomplete
7807 command on (size % batch) == 0. Add missing error check after write of
7808 last block. Add debug messages.
7809 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
7810
59a64ef6 78112009-01-19 Christian Franke <franke@computer.org>
7812
7813 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
7814 (GRUB_ATAPI_IREASON_*): Likewise.
7815 (grub_ata_pio_write): Fix timeout error return.
7816 (grub_atapi_identify): Add grub_ata_wait () after cmd.
7817 (grub_atapi_wait_drq): New function.
7818 (grub_atapi_packet): New parameter `size'.
7819 Use grub_atapi_wait_drq () and direct write instead of
7820 grub_ata_pio_write ().
7821 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
7822 reads the number of bytes requested by the device for each DRQ
7823 assertion.
7824 (grub_atapi_write): Remove old implementation, return not
7825 implemented instead.
7826
1cfe20b3 78272009-01-19 Christian Franke <franke@computer.org>
7828
7829 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
7830 of 512 to calculate data size.
7831 (grub_scsi_read12): Likewise.
7832 (grub_scsi_write10): Likewise.
7833 (grub_scsi_write12): Likewise.
7834 (grub_scsi_read): Adjust size according to blocksize.
7835 Add checks for invalid blocksize and unaligned transfer.
7836
bee5fe5d 78372009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
7838
7839 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
7840
ef257b36 7841 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 7842 width glyphs.
7843
3e643f8c 78442009-01-19 Robert Millan <rmh@aybabtu.com>
7845
7846 * config.guess: Update to latest version from config git.
7847 * config.sub: Likewise.
7848
4fa80998 78492009-01-17 Felix Zielcke <fzielcke@z-51.de>
7850
7851 * Makefile.in: Change font compilation to use new grub-mkfont instead
7852 of java version.
7853
7854 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
7855 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
7856 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7857 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7858 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
7859 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
7860 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
7861 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
7862 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7863
7086085b 78642009-01-16 Christian Franke <franke@computer.org>
7865
7866 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
7867 (enum grub_ata_timeout_milliseconds): New enum.
7868 (grub_ata_wait_status): Add parameter milliseconds.
7869 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
7870 recovery from timed-out commands.
7871 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
7872 return grub_errno instead of REG_ERROR.
7873 (grub_ata_pio_write): Add parameter milliseconds.
7874 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
7875 Pass milliseconds to grub_ata_wait_status () and
7876 grub_ata_pio_read ().
7877 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
7878 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
7879 grub_ata_wait_status (). Fix IDENTIFY timeout check.
7880 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
7881 It is not suitable for device detection, because DEV bit is ignored,
7882 the command may run too long, and not all devices set the signature
7883 properly.
7884 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
7885 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
7886 Fix device selection, DEV bit must be set first to address the registers
7887 of the correct device.
7888 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
7889 grub_ata_pio_read/write ().
7890 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
7891 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
7892
4a412913 78932009-01-13 Carles Pina i Estany <carles@pina.cat>
7894
7895 * util/grub-editenv.c (main): Use fseeko(), not fseek().
7896
7795c55e 78972009-01-13 Bean <bean123ch@gmail.com>
d913988c 7898
7899 * util/grub-mkfont.c (write_font): forget to remove some debug code.
7900
7795c55e 79012009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 7902
7903 * Makefile.in: (enable_grub_mkfont): New variable.
7904 (freetype_cflags): Likewise.
7905 (freetype_libs): Likewise.
7906
7907 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
7908 (grub_mkfont_SOURCES): New variable.
7909 (grub_mkfont_CFLAGS): Likewise.
7910 (grub_mkfont_LDFLAGS): Likewise.
7911
7912 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
7913 library if `--enable-grub-mkfont' is requested.
7914 (enable_grub_mkfont): New variable.
7915 (freetype_cflags): Likewise.
7916 (freetype_libs): Likewise.
7917
7918 * util/grub-mkfont.c: New file.
7919
093af1fe 79202009-01-12 Christian Franke <franke@computer.org>
7921
7922 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
7923 mode check. Fix setting of compat_use[].
7924
f36cc108 79252009-01-10 Robert Millan <rmh@aybabtu.com>
7926
7927 Update a few copyright years which we forgot to do in 2008 (only for
7928 files whose changes made in 2008 were copyright-significant)
7929
7930 * Makefile.in: Add 2008 to Copyright line.
7931 * disk/ieee1275/ofdisk.c: Likewise.
7932 * disk/efi/efidisk.c: Likewise.
7933 * kern/dl.c: Likewise.
7934 * kern/sparc64/ieee1275/init.c: Likewise.
7935 * kern/mm.c: Likewise.
7936 * kern/efi/mm.c: Likewise.
7937 * boot/i386/pc/boot.S: Likewise.
7938 * genfslist.sh: Likewise.
7939 * fs/iso9660.c: Likewise.
7940 * fs/hfs.c: Likewise.
7941 * fs/jfs.c: Likewise.
7942 * fs/minix.c: Likewise.
7943 * fs/ufs.c: Likewise.
7944 * gensymlist.sh.in: Likewise.
7945 * genkernsyms.sh.in: Likewise.
7946 * include/grub/misc.h: Likewise.
7947 * include/grub/types.h: Likewise.
7948 * include/grub/symbol.h: Likewise.
7949 * include/grub/elf.h: Likewise.
7950 * include/grub/kernel.h: Likewise.
7951 * include/grub/disk.h: Likewise.
7952 * include/grub/dl.h: Likewise.
7953 * include/grub/i386/linux.h: Likewise.
7954 * include/grub/i386/pc/biosdisk.h: Likewise.
7955 * include/grub/efi/api.h: Likewise.
7956 * include/grub/efi/pe32.h: Likewise.
7957 * include/grub/util/misc.h: Likewise.
7958 * normal/execute.c: Likewise.
7959 * normal/arg.c: Likewise.
7960 * normal/completion.c: Likewise.
7961 * normal/lexer.c: Likewise.
7962 * normal/parser.y: Likewise.
7963 * normal/misc.c: Likewise.
7964 * commands/i386/pc/vbeinfo.c: Likewise.
7965 * commands/hexdump.c: Likewise.
7966 * commands/terminal.c: Likewise.
7967 * commands/ls.c: Likewise.
7968 * commands/help.c: Likewise.
7969 * partmap/pc.c: Likewise.
7970 * loader/efi/chainloader.c: Likewise.
7971 * loader/multiboot_loader.c: Likewise.
7972 * loader/i386/pc/multiboot2.c: Likewise.
7973 * term/efi/console.c: Likewise.
7974 * term/i386/pc/serial.c: Likewise.
7975 * util/lvm.c: Likewise.
7976 * util/console.c: Likewise.
7977 * util/i386/efi/grub-mkimage.c: Likewise.
7978 * util/raid.c: Likewise.
7979
7f02114b 79802009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
7981
7982 * commands/videotest.c: Removed include to grub/machine/memory.h.
7983
7984 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
7985 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
7986 (video_mod_SOURCES): Removed.
7987 (video_mod_CFLAGS): Likewise.
7988 (video_mod_LDFLAGS): Likewise.
7989 (gfxterm_mod_SOURCES): Likewise.
7990 (gfxterm_mod_CFLAGS): Likewise.
7991 (gfxterm_mod_LDFLAGS): Likewise.
7992 (videotest_mod_SOURCES): Likewise.
7993 (videotest_mod_CFLAGS): Likewise.
7994 (videotest_mod_LDFLAGS): Likewise.
7995 (bitmap_mod_SOURCES): Likewise.
7996 (bitmap_mod_CFLAGS): Likewise.
7997 (bitmap_mod_LDFLAGS): Likewise.
7998 (tga_mod_SOURCES): Likewise.
7999 (tga_mod_CFLAGS): Likewise.
8000 (tga_mod_LDFLAGS): Likewise.
8001 (jpeg_mod_SOURCES): Likewise.
8002 (jpeg_mod_CFLAGS): Likewise.
8003 (jpeg_mod_LDFLAGS): Likewise.
8004 (png_mod_SOURCES): Likewise.
8005 (png_mod_CFLAGS): Likewise.
8006 (png_mod_LDFLAGS): Likewise.
8007
8008 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
8009 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
8010 (video_mod_SOURCES): Added.
8011 (video_mod_CFLAGS): Likewise.
8012 (video_mod_LDFLAGS): Likewise.
8013 (videotest_mod_SOURCES): Likewise.
8014 (videotest_mod_CFLAGS): Likewise.
8015 (videotest_mod_LDFLAGS): Likewise.
8016 (bitmap_mod_SOURCES): Likewise.
8017 (bitmap_mod_CFLAGS): Likewise.
8018 (bitmap_mod_LDFLAGS): Likewise.
8019 (tga_mod_SOURCES): Likewise.
8020 (tga_mod_CFLAGS): Likewise.
8021 (tga_mod_LDFLAGS): Likewise.
8022 (jpeg_mod_SOURCES): Likewise.
8023 (jpeg_mod_CFLAGS): Likewise.
8024 (jpeg_mod_LDFLAGS): Likewise.
8025 (png_mod_SOURCES): Likewise.
8026 (png_mod_CFLAGS): Likewise.
8027 (png_mod_LDFLAGS): Likewise.
8028 (gfxterm_mod_SOURCES): Likewise.
8029 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 8030 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 8031
8032 * term/gfxterm.c: Removed include to grub/machine/memory.h,
8033 grub/machine/console.h.
8034
644fff97 80352009-01-04 Jerone Young <jerone@gmail.com>
8036
8037 Make on screen instructions clearer
8038
8039 Based on patch created by Jidanni <jidanni@jidanni.org>
8040
8041 * normal/menu.c: print clearer instructions on the screen
8042
1e901a75 80432009-01-02 Colin D Bennett <colin@gibibit.com>
8044
8045 New font engine.
34c44600 8046
1e901a75 8047 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
8048 build system and fixed gfxterm.c to work with different sized fonts.
8049
8050 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 8051
1e901a75 8052 * configure: Re-generated.
34c44600 8053
1e901a75 8054 * DISTLIST: Removed font/manager.c.
8055 Added font/font.c.
8056 Added font/font_cmd.c.
34c44600 8057
1e901a75 8058 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
8059 compilation.
34c44600 8060
1e901a75 8061 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 8062
8063 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 8064
8065 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 8066
1e901a75 8067 * normal/menu.c: Likewise.
34c44600 8068
1e901a75 8069 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
8070 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 8071
1e901a75 8072 * include/grub/font.h: Replaced with new file.
34c44600 8073
1e901a75 8074 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
8075 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
8076 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
8077 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
8078 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 8079 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 8080 fg_red, fg_green, fg_blue, fg_alpha.
8081 (grub_video_adapter): Removed blit_glyph.
34c44600 8082 (grub_video_blit_glyph): Removed.
8083
1e901a75 8084 * font/manager.c: Removed file.
34c44600 8085
8086 * font/font.c: New file.
8087
1e901a75 8088 * font/font_cmd.c: Likewise.
34c44600 8089
1e901a75 8090 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 8091
1e901a75 8092 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
8093 (grub_video_vbe_map_rgba): Likewise.
8094 (grub_video_vbe_unmap_color_int): Likewise.
8095 (grub_video_vbe_blit_glyph): Removed.
8096 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 8097
1e901a75 8098 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
8099 (get_pixel): Likewise.
34c44600 8100 (set_pixel): Likewise.
8101
1e901a75 8102 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 8103
1e901a75 8104 * term/gfxterm.c: Adapted to new font engine.
34c44600 8105
1e901a75 8106 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 8107
1e901a75 8108 * term/i386/pc/vga.c: Likewise.
34c44600 8109
1e901a75 8110 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 8111
1e901a75 8112 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 8113
1e901a75 8114 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8115
1e901a75 8116 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 8117
1e901a75 8118 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 8119
1e901a75 8120 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 8121
1e901a75 8122 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 8123
1e901a75 8124 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 8125
1e901a75 8126 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
8127
8128 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 8129
1e901a75 8130 * util/grub-mkconfig_lib.in: Changed font extension.
8131
278922e8 81322008-12-28 Felix Zielcke <fzielcke@z-51.de>
8133
8134 * util/getroot.c (grub_util_get_grub_dev): Add support for
8135 /dev/md/dNNpNN style partitionable mdraid devices.
8136
3ced05cf 81372008-12-12 Alex Smith <alex@alex-smith.me.uk>
8138
8139 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
8140 at a time limit of the PXE TFTP API correctly.
8141 (grub_pxefs_close): Likewise.
8142
7fd0ee30 81432008-11-29 Robert Millan <rmh@aybabtu.com>
8144
34c44600 8145 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 8146 grub_ata_device_initialize() calls.
8147
34c44600 81482008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 8149
8150 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
8151 iteration failed.
8152 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
8153
89313780 81542008-11-28 Robert Millan <rmh@aybabtu.com>
8155
8156 Fix build on powerpc-ieee1275. Based on patch created by
8157 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
8158 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8159 `kern/ieee1275/mmap.c'.
8160 * include/grub/powerpc/ieee1275/memory.h: New file.
8161
15257703 8162 Provide grub-install on coreboot.
8163 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
8164 (grub_install_SOURCES): New variable.
8165 * util/i386/pc/grub-install.in: Add a few condition checks to make it
8166 usable on coreboot.
8167
9fc5388a 81682008-11-25 Felix Zielcke <fzielcke@z-51.de>
8169
8170 * util/grub-fstest.c (grub_term_get_current_input): Change return type
8171 to `grub_term_input_t'.
8172 (grub_term_get_current_output): Change return type to
8173 `grub_term_output_t'.
8174
bc3a2f31 81752008-11-22 Robert Millan <rmh@aybabtu.com>
8176
34c44600 8177 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 8178 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
8179 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
8180 grub_vga_text_cls().
8181
80fc88f2 8182 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 8183 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 8184
cbf36fd3 8185 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
8186 to 0x200000 (avoids trouble with some OFW implementations, and matches
8187 with the one in Yaboot).
8188 Reported by Manoel Abranches
8189
73e8e268 81902008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 8191
8192 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
8193 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
8194
73e8e268 8195 * util/grub-mkconfig_lib.in (grub_warn): New function.
8196 (convert_system_path_to_grub_path): Use grub_warn() when issuing
8197 warnings, to obtain consistent formatting.
8198 * util/grub.d/00_header.in: Likewise.
8199 * util/update-grub_lib.in: Likewise.
8200
e94045a1 8201 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 8202 Move comment text to `#error' stanza.
e94045a1 8203
79d29fd7 8204 Harmonize ieee1275's grub_available_iterate() with the generic
8205 grub_machine_mmap_iterate() interface (fixes a recently-introduced
8206 build problem on i386-ieee1275):
8207 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
8208 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
8209 parameter `type'. Update all users of this function.
8210 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
8211 `kern/ieee1275/mmap.c'.
8212 * kern/ieee1275/init.c
8213 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
8214 with ...
8215 (grub_machine_mmap_iterate): ... this.
8216 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
8217 return type to `grub_err_t'. Update all implementations of this
8218 function prototype.
8219 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
8220 Likewise.
8221
60d6b16e 8222 Add `lsmmap' command (lists firmware-provided memory map):
8223 * commands/lsmmap.c: New file.
8224 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
8225 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
8226 variables.
8227 * conf/powerpc-ieee1275.rmk: Likewise.
8228 * conf/i386-coreboot.rmk: Likewise.
8229 * conf/i386-ieee1275.rmk: Likewise.
8230
ebaaf49b 82312008-11-19 Robert Millan <rmh@aybabtu.com>
8232
8233 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 8234 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
8235 constraints to initrd allocation (based on code from
8236 loader/i386/pc/linux.c). Without them, initrd was allocated too high
8237 for Linux to find it.
ebaaf49b 8238
dfab719f 82392008-11-14 Robert Millan <rmh@aybabtu.com>
8240
8241 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
8242 order to cope with duplicate slashes.
8243
10fc3eb9 82442008-11-14 Robert Millan <rmh@aybabtu.com>
8245
8246 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
8247 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
8248 don't want to mess with lower memory, because it is used in the Linux
8249 loader.
8250
8251 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 8252 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 8253 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
8254 is in our heap (probably as a result of it being corrupted during
2f2a3442 8255 decompression). Add #error instance with comment to explain why this
8256 loader isn't currently usable on PC/BIOS.
10fc3eb9 8257
e2e07847 82582008-11-14 Robert Millan <rmh@aybabtu.com>
8259
8260 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 8261 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 8262
fe8e8d69 82632008-11-12 Robert Millan <rmh@aybabtu.com>
8264
8265 Make loader/i386/linux.c buildable on i386-pc (although disabled).
8266
8267 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
8268 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
8269 from here ...
8270 * include/grub/i386/pc/memory.h: ... to here.
8271
976b07d0 82722008-11-12 Robert Millan <rmh@aybabtu.com>
8273
8274 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
8275 split).
8276
8277 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
8278 (grub_console_cur_color, grub_console_real_putchar)
8279 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8280 (grub_console_setcolorstate, grub_console_setcolor)
8281 (grub_console_getcolor): Move from here ...
8282 * include/grub/i386/vga_common.h: ... to here (new file).
8283
8284 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
8285 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
8286 `<grub/i386/io.h>'.
8287 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
8288 `<grub/i386/vga_common.h>'.
8289
76679cd3 82902008-11-12 Robert Millan <rmh@aybabtu.com>
8291
8292 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
8293 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
8294 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
8295 variables.
8296 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8297 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
8298
8299 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
8300 grub_console_init() with call to grub_vga_text_init().
8301 (grub_machine_fini): Replace call to
8302 grub_console_fini() with call to grub_vga_text_fini() and
8303 grub_at_keyboard_fini().
8304
8305 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
8306 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
8307 (grub_console_setcolorstate, grub_console_setcolor)
8308 (grub_console_getcolor): New function prototypes.
8309
8310 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
8311 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
8312 (grub_vga_text_setcursor): Static-ize.
8313 (grub_vga_text_term): New structure.
8314 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
8315
8316 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
8317 (grub_console_cur_color, grub_console_standard_color)
8318 (grub_console_normal_color, grub_console_highlight_color)
8319 (map_char, grub_console_putchar, grub_console_getcharwidth)
8320 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
8321 (grub_console_getcolor): Move from here ...
8322 * term/i386/vga_common.c: ... to here (same function names).
8323
95b841d3 83242008-11-12 Robert Millan <rmh@aybabtu.com>
8325
8326 Use newly-added Multiboot support in coreboot.
8327
8328 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
8329 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
8330
8331 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
8332 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
8333 (codestart): Store the MBI in `startup_multiboot_info' when we're
8334 being loaded using Multiboot.
8335
8336 * kern/i386/coreboot/init.c (grub_machine_init): Move
8337 grub_at_keyboard_init() call to beginning of function (useful for
8338 debugging). Call grub_machine_mmap_init() before attempting to use
8339 grub_machine_mmap_iterate().
8340 (grub_lower_mem, grub_upper_mem): Move from here ...
8341 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
8342 here (new file).
8343
8344 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
8345 function prototype.
8346
761ca975 83472008-11-12 Robert Millan <rmh@aybabtu.com>
8348
8349 Fix a regression introduced by the at_keyboard.mod split. Because
8350 some terminals are default on some platforms and non-default on
8351 others, the first terminal being registered determines which is
8352 going to be default.
8353
8354 * kern/term.c (grub_term_register_input): If this is the first
8355 terminal being registered, set it as the current one.
8356 (grub_term_register_output): Likewise.
8357
8358 * term/efi/console.c (grub_console_init): Do not call
8359 grub_term_set_current_output() or grub_term_set_current_input().
8360 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
8361 * term/i386/pc/console.c (grub_console_init): Likewise.
8362 (grub_console_fini): Do not call grub_term_set_current_input()
8363 (but leave grub_term_set_current_output() to restore text mode).
8364
6c529df7 83652008-11-10 Robert Millan <rmh@aybabtu.com>
8366
8367 * util/grub.d/00_header.in: Add backward compatibility check for
8368 versions of terminal.mod that don't understand `terminal_input' or
8369 `terminal_output'.
8370
132e4113 83712008-11-09 Robert Millan <rmh@aybabtu.com>
8372
8373 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
8374 `terminal_input' / `terminal_output', not `terminal'.
8375
ac293d50 83762008-11-08 Robert Millan <rmh@aybabtu.com>
8377
8378 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 8379 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 8380
0025933a 83812008-11-08 Robert Millan <rmh@aybabtu.com>
8382
8383 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 8384 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 8385 members. Update all users.
8386 * util/console.c (grub_ncurses_term): Split in ...
8387 (grub_ncurses_term_input): ... this, and ...
8388 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 8389 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 8390
37c86336 83912008-11-08 Robert Millan <rmh@aybabtu.com>
8392
8393 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
8394 (PKGDATA): Add $(pkgdata_SRCDIR).
8395 (pkglib_BUILDDIR): New variable.
8396 (pkgdata_SRCDIR): New variable.
8397 (build_env.mk): New target.
8398 (include_DATA): New variable.
8399 (install-local): Install $(include_DATA) files in $(includedir).
8400
b6c15a2d 84012008-11-07 Pavel Roskin <proski@gnu.org>
8402
d99d46f1 8403 * gendistlist.sh: Use C locale for sorting to ensure consistent
8404 output on all systems.
8405
b6c15a2d 8406 * util/grub.d/00_header.in: Remove incorrect space before
8407 "serial".
8408
c32ee8c9 84092008-11-07 Robert Millan <rmh@aybabtu.com>
8410
8411 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
8412 per specification.
8413 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
8414 * loader/multiboot_loader.c (find_multi_boot2_header): New function
8415 (based on find_multi_boot1_header).
8416 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
8417 using find_multi_boot2_header(), and abort if neither Multiboot or
8418 Multiboot headers were found.
8419
651c29b7 84202008-11-07 Robert Millan <rmh@aybabtu.com>
8421
8422 Modularize at_keyboard.mod:
8423
8424 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
8425 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
8426 (at_keyboard_mod_LDFLAGS): New variables.
8427
8428 Actual terminal split:
8429
8430 * include/grub/term.h (struct grub_term): Split in ...
8431 (struct grub_term_input): ... this, and ...
8432 (struct grub_term_output): ... this. Update all users.
8433 (grub_term_set_current): Split in ...
8434 (grub_term_set_current_input): ... this, and ...
8435 (grub_term_set_current_output): ... this.
8436 (grub_term_get_current): Split in ...
8437 (grub_term_get_current_input): ... this, and ...
8438 (grub_term_get_current_output): ... this.
8439 (grub_term_register): Split in ...
8440 (grub_term_register_input): ... this, and ...
8441 (grub_term_register_output): ... this.
8442 (grub_term_unregister): Split in ...
8443 (grub_term_unregister_input): ... this, and ...
8444 (grub_term_unregister_output): ... this.
8445 (grub_term_iterate): Split in ...
8446 (grub_term_iterate_input): ... this, and ...
8447 (grub_term_iterate_output): ... this.
8448
8449 * kern/term.c (grub_term_list): Split in ...
8450 (grub_term_list_input): ... this, and ...
8451 (grub_term_list_output): ... this. Update all users.
8452 (grub_cur_term): Split in ...
8453 (grub_cur_term_input): ... this, and ...
8454 (grub_cur_term_output): ... this. Update all users.
8455 (grub_term_set_current): Split in ...
8456 (grub_term_set_current_input): ... this, and ...
8457 (grub_term_set_current_output): ... this.
8458 (grub_term_get_current): Split in ...
8459 (grub_term_get_current_input): ... this, and ...
8460 (grub_term_get_current_output): ... this.
8461 (grub_term_register): Split in ...
8462 (grub_term_register_input): ... this, and ...
8463 (grub_term_register_output): ... this.
8464 (grub_term_unregister): Split in ...
8465 (grub_term_unregister_input): ... this, and ...
8466 (grub_term_unregister_output): ... this.
8467 (grub_term_iterate): Split in ...
8468 (grub_term_iterate_input): ... this, and ...
8469 (grub_term_iterate_output): ... this.
8470
8471 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
8472 a check for input and one for output (and only attempt to get keys
8473 from user when input works).
8474
8475 * util/grub-probe.c (grub_term_get_current): Split in ...
8476 (grub_term_get_current_input): ... this, and ...
8477 (grub_term_get_current_output): ... this.
8478 * util/grub-fstest.c: Likewise.
8479 * util/i386/pc/grub-setup.c: Likewise.
8480 * util/grub-editenv.c: Likewise.
8481
8482 Portability adjustments:
8483
8484 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
8485 `term/i386/pc/at_keyboard.c'.
8486 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
8487 grub_keyboard_controller_init() (now handled by terminal .init).
8488 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
8489 grub_at_keyboard_init().
8490 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
8491 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
8492 at_keyboard.mod via input terminal interface).
8493 * include/grub/i386/coreboot/console.h: Convert into a stub for
8494 `<grub/i386/pc/console.h>'.
8495
8496 Migrate full terminals to new API:
8497
8498 * term/efi/console.c (grub_console_term): Split into ...
8499 (grub_console_term_input): ... this, and ...
8500 (grub_console_term_output): ... this. Update all users.
8501 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
8502 (grub_ofconsole_init): Split into ...
8503 (grub_ofconsole_init_input): ... this, and ...
8504 (grub_ofconsole_init_output): ... this.
8505 (grub_ofconsole_term): Split into ...
8506 (grub_ofconsole_term_input): ... this, and ...
8507 (grub_ofconsole_term_output): ... this. Update all users.
8508 * term/i386/pc/serial.c (grub_serial_term): Split into ...
8509 (grub_serial_term_input): ... this, and ...
8510 (grub_serial_term_output): ... this. Update all users.
8511 * term/i386/pc/console.c (grub_console_term): Split into ...
8512 (grub_console_term_input): ... this, and ...
8513 (grub_console_term_output): ... this. Update all users.
8514 (grub_console_term_input): Only enable it on PC/BIOS platform.
8515 (grub_console_init): Remove grub_keyboard_controller_init() call.
8516
8517 Migrate input terminals to new API:
8518
8519 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
8520 `i386' and `i386/pc' to enable build on x86_64 (this driver is
8521 i386-specific anyway).
8522 (grub_console_checkkey): Rename to ...
8523 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
8524 users.
8525 (grub_keyboard_controller_orig): New variable.
8526 (grub_console_getkey): Rename to ...
8527 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
8528 users.
8529 (grub_keyboard_controller_init): Static-ize. Save original
8530 controller value so that it can be restored ...
8531 (grub_keyboard_controller_fini): ... here (new function).
8532 (grub_at_keyboard_term): New structure.
8533 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
8534 functions.
8535
8536 Migrate output terminals to new API:
8537
8538 * term/i386/pc/vga.c (grub_vga_term): Change type to
8539 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8540 members. Update all users.
8541 * term/gfxterm.c (grub_video_term): Change type to
8542 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8543 members. Update all users.
8544 * include/grub/i386/pc/console.h (grub_console_checkkey)
8545 (grub_console_getkey): Do not export (no longer needed by gfxterm,
8546 etc).
8547
8548 Migrate `terminal' command and userland tools to new API:
8549
8550 * commands/terminal.c (grub_cmd_terminal): Split into ...
8551 (grub_cmd_terminal_input): ... this, and ...
8552 (grub_cmd_terminal_output): ... this.
8553 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
8554 `terminal_input' and `terminal_output'.
8555 * util/grub.d/00_header.in: Adjust `terminal' calls to new
8556 `terminal_input' / `terminal_output' API.
8557 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
8558 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
8559 provided ${GRUB_TERMINAL}, convert it).
8560
96e5d876 85612008-11-04 Robert Millan <rmh@aybabtu.com>
8562
8563 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
8564 for FreeBSD.
8565 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
8566
556f3775 85672008-11-03 Bean <bean123ch@gmail.com>
8568
8569 * kern/elf.c (grub_elf32_load): Revert to previous code.
8570 (grub_elf64_load): Likewise.
8571
8572 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
8573
926b9823 85742008-11-01 Robert Millan <rmh@aybabtu.com>
8575
8576 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
8577 (TARGET_CPPFLAGS): Likewise.
8578 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
8579
1432e958 85802008-11-01 Carles Pina i Estany <carles@pina.cat>
8581
8582 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
8583
dba3f844 85842008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 8585
8586 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
8587 addition of objects until the code is not going to be able to fail.
8588
dba3f844 85892008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 8590
8591 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
8592 (add a missing NULL check, and correct them by moving the pointer
8593 operations after the actual check).
8594
7ab28c21 85952008-10-29 Robert Millan <rmh@aybabtu.com>
8596
8597 * util/i386/pc/grub-install.in: Handle empty string as output from
8598 make_system_path_relative_to_its_root().
8599
1b7748eb 86002008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
8601
8602 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
8603 circular metadata worst case scenario. If the metadata is circular
8604 then copy the wrap in place.
8605 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
8606 project lib/format_text/layout.h
8607 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
8608
c9618ab2 86092008-10-03 Felix Zielcke <fzielcke@z-51.de>
8610
7a36edca 8611 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 8612
bf981c62 86132008-10-03 Felix Zielcke <fzielcke@z-51.de>
8614
8615 * util/update-grub_lib.in: Mention filename in warning message.
8616
6d994591 86172008-09-29 Felix Zielcke <fzielcke@z-51.de>
8618
8619 * NEWS: Update for rename of update-grub to grub-mkconfig.
8620
18ade780 86212008-09-29 Felix Zielcke <fzielcke@z-51.de>
8622
8623 * util/update-grub_lib.in: Copy to ...
8624 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 8625 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 8626 * util/update-grub.in: Rename to ...
8627 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
8628 option. Add `--output' option to allow users to specify the generated
8629 configuration file. Default to stdout.
8630 (update_grub_dir): Rename to ...
8631 (grub_mkconfig_dir): ... this.
8632 (grub_cfg): Default to an empty string.
8633 * conf/common.rmk (update-grub): Rename to ...
8634 (grub-mkconfig): ... this.
8635 (update-grub_lib): Copy to ...
8636 (grub-mkconfig_lib): ... this.
8637 (update-grub_SCRIPTS): Copy to ...
8638 (grub-mkconfig_SCRIPTS): ... this. Update all users.
8639 (update-grub_DATA): Rename to ...
8640 (grub-mkconfig_DATA): ... this.
8641
556ce6ac 86422008-09-28 Robert Millan <rmh@aybabtu.com>
8643
8644 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
8645 to `modified'. Add the real `created' field.
8646 (grub_iso9660_uuid): Use `modified' rather than `created' for
8647 constructing the UUID.
8648
86492008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 8650
8651 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
8652 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
8653
92274e85 86542008-09-28 Bean <bean123ch@gmail.com>
8655
8656 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
8657 Thanks to Christian Franke for finding this bug.
8658
add6f17a 86592008-09-25 Robert Millan <rmh@aybabtu.com>
8660
8661 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
8662 instances of grub_util_get_disk_name() (see previous commit).
8663
d2a367b8 86642008-09-25 Robert Millan <rmh@aybabtu.com>
8665
8666 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
8667 `util/i386/get_disk_name.c'.
8668 * conf/i386-efi.rmk: Likewise.
8669 * conf/x86_64-efi.rmk: Likewise.
8670 * conf/i386-coreboot.rmk: Likewise.
8671 * conf/i386-ieee1275.rmk: Likewise.
8672 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
8673 `util/ieee1275/get_disk_name.c'.
8674 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
8675 * util/ieee1275/get_disk_name.c: Remove file.
8676 * util/i386/get_disk_name.c: Remove file.
8677 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
8678 "hd%d" for device.map entries, rather than using
8679 grub_util_get_disk_name().
8680
81a06771 86812008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 8682
8683 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
8684 warning.
8685 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
8686
5a004279 86872008-09-24 Carles Pina i Estany <carles@pina.cat>
8688
8689 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
8690 Changed to 0x5100.
8691 (GRUB_TERM_PPAGE): Changed to 0x4900.
8692
397093d3 86932008-09-24 Robert Millan <rmh@aybabtu.com>
8694
8695 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
8696 macros (they were i386-pc specific).
8697 * include/grub/sparc64/ieee1275/console.h: Likewise.
8698 * include/grub/efi/console.h: Likewise.
8699
a91b6c7c 87002008-09-22 Bean <bean123ch@gmail.com>
8701
8702 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
8703 resident and in attribute list.
8704
8705 * include/grub/ntfs.h (BMP_LEN): Removed.
8706
c40fd116 87072008-09-22 Bean <bean123ch@gmail.com>
8708
81a06771 8709 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 8710 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
8711
8712 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
8713 error occurs, as grub_disk_open will call grub_disk_close, which will
8714 call p->close (scsi).
8715
81a06771 87162008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 8717
8718 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
8719 (AC_PREREQ): Bumped to 2.59.
8720 (AC_TRY_COMPILE): Replace obsolete macro with ...
8721 (AC_COMPILE_IFELSE): ... this.
8722 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
8723 (AC_LINK_IFELSE): ... this.
8724
5dc43410 87252008-09-21 Felix Zielcke <fzielcke@z-51.de>
8726
8727 * autogen.sh: Add a call to `gendistlist.sh'.
8728
9035dce4 87292008-09-19 Christian Franke <franke@computer.org>
8730
8731 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
8732 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
8733 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
8734 Export __enable_execute_stack() to modules.
8735 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
8736 New function.
8737
7fd75377 87382008-09-09 Felix Zielcke <fzielcke@z-51.de>
8739
040030b3 8740 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
8741 Sort the list.
8742
87432008-09-09 Felix Zielcke <fzielcke@z-51.de>
8744
8745 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 8746 #include <grub/util/hostdisk.h>.
8747
89d5ffcf 87482008-09-08 Robert Millan <rmh@aybabtu.com>
8749
8750 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
8751 segments when their filesz is zero (grub_file_read() interprets
81a06771 8752 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 8753 Use `lowest_segment' rather than 0 for calculating the current
8754 segment load address.
8755
40da438f 87562008-09-08 Robert Millan <rmh@aybabtu.com>
8757
8758 * util/hostdisk.c (open_device): Replace a grub_util_info() call
8759 with grub_dprintf("hostdisk", ...), as it was so verbose that it
8760 clobbered useful information.
8761
ddbf5556 87622008-09-08 Robert Millan <rmh@aybabtu.com>
8763
8764 * include/grub/util/biosdisk.h: Move to ...
8765 * include/grub/util/hostdisk.h: ... here. Update all users.
8766 * util/biosdisk.c: Move to ...
8767 * util/hostdisk.c: ... here. Update all users.
8768
783d0f48 87692008-09-07 Robert Millan <rmh@aybabtu.com>
8770
8771 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
8772 variables.
8773 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
8774 and length can be stored directly in the `mbi->mmap_addr' and
8775 `mbi->mmap_length' struct fields.
8776
548e2ea5 87772008-09-07 Robert Millan <rmh@aybabtu.com>
8778
8779 * conf/i386.rmk: New file. Provides declaration for building
8780 `cpuid.mod'.
8781 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
8782 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
8783 variables.
8784 Include `conf/i386.mk'.
8785 * conf/i386-efi.rmk: Likewise.
8786 * conf/x86_64-efi.rmk: Likewise.
8787 * conf/i386-coreboot.rmk: Likewise.
8788 * conf/i386-ieee1275.rmk: Likewise.
8789
0ea85a37 87902008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
8791
8792 Based on patch created by Colin D Bennett <colin@gibibit.com>.
8793 Adds optimization support for BGR based modes.
8794
8795 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
8796 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8797 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8798 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8799 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8800 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8801 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8802 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8803 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8804 (grub_video_i386_vbeblit_index_index): Likewise.
8805 (grub_video_i386_vbeblit_replace_directN): Added.
8806 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8807 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8808 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8809 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8810 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8811 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 8812 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 8813 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8814 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8815 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8816 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8817 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8818 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
8819
8820 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
8821 (grub_video_i386_vbefill_R8G8B8): Likewise.
8822 (grub_video_i386_vbefill_index): Likewise.
8823 (grub_video_i386_vbefill_direct32): Added.
8824 (grub_video_i386_vbefill_direct24): Likewise.
8825 (grub_video_i386_vbefill_direct16): Likewise.
8826 (grub_video_i386_vbefill_direct8): Likewise.
8827
81a06771 8828 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 8829 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
8830 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
8831 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
8832 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
8833 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 8834
0ea85a37 8835 * video/video.c (grub_video_get_blit_format): Updated to use new
8836 blit formats. Added handling for 16 bit color modes.
81a06771 8837
8838 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 8839 fillers.
8840 (common_blitter): Updated to use new blitters.
8841
8842 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
8843 Removed.
8844 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8845 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8846 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8847 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8848 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8849 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8850 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8851 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8852 (grub_video_i386_vbeblit_index_index): Likewise.
8853 (grub_video_i386_vbeblit_replace_directN): Added.
8854 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8855 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8856 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8857 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8858 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8859 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
8860 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
8861 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8862 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8863 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8864 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8865 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8866 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 8867
0ea85a37 8868 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
8869 (grub_video_i386_vbefill_R8G8B8): Likewise.
8870 (grub_video_i386_vbefill_index): Likewise.
8871 (grub_video_i386_vbefill_direct32): Added.
8872 (grub_video_i386_vbefill_direct24): Likewise.
8873 (grub_video_i386_vbefill_direct16): Likewise.
8874 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 8875
0ea85a37 8876 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
8877 types.
81a06771 8878
0ea85a37 8879 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
8880 types.
81a06771 8881
0ea85a37 8882 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
8883 blitter types.
81a06771 8884
0ea85a37 8885 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
8886 types.
8887
e8a83df6 88882008-09-06 Felix Zielcke <fzielcke@z-51.de>
8889
8890 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
8891 RAID level 1.
8892
6bcd8ee5 88932008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 8894
6bcd8ee5 8895 * fs/iso9660.c (grub_iso9660_date): New structure.
8896 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
8897 (grub_iso9660_uuid): New function.
c375ae58 8898
59261157 88992008-09-05 Bean <bean123ch@gmail.com>
8900
8901 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
8902
8903 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
8904 insensitive bit for names in Win32 and Win32 & DOS namespace.
8905
8906 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
8907
8908 * include/grub/types.h (LONG_MAX): Likewise.
8909
58b6645a 89102008-09-04 Felix Zielcke <fzielcke@z-51.de>
8911
4ee55921 8912 * util/getroot.c: Include <config.h>.
8913 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
8914 add support for /dev/md/N devices and handle LVM double dash escaping.
8915
89162008-09-04 Felix Zielcke <fzielcke@z-51.de>
8917
8918 * config.guess: Update to latest version from config git.
8919 * config.sub: Likewise.
58b6645a 8920
9124f65d 89212008-09-03 Robert Millan <rmh@aybabtu.com>
8922
8923 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
8924 `disk->total_sectors'.
8925
81a06771 89262008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 8927
8928 * include/grub/normal.h: Fixed incorrect comment for
8929 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
8930
81a06771 89312008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 8932
8933 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
8934 values with defines.
8935
8936 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
8937 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
8938 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
8939 (GRUB_VBE_MODEATTR_COLOR): Likewise.
8940 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
8941 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
8942 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
8943 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
8944 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
8945 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
8946 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
8947 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
8948 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
8949 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
8950 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
8951 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
8952 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
8953 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
8954 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
8955
93d5cbf8 89562008-08-31 Robert Millan <rmh@aybabtu.com>
8957
8958 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
8959 declaration.
8960 (grub_multiboot): Fix a few warnings.
8961
21751d50 89622008-08-31 Robert Millan <rmh@aybabtu.com>
8963
8964 * loader/i386/pc/multiboot.c: Update comment not to say that
8965 boot_device support is unimplemented.
8966
e27a75c5 89672008-08-31 Robert Millan <rmh@aybabtu.com>
8968
8969 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
8970 or memory map support are unimplemented.
8971
81a06771 89722008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 8973
8974 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
8975
81a06771 89762008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 8977
8978 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
8979 total video memory in 'vbeinfo' output; show color format details for
8980 each video mode.
8981
7c5d8d95 89822008-08-30 Pavel Roskin <proski@gnu.org>
8983
8984 * util/genmoddep.c: Remove for real this time.
8985 * DISTLIST: Remove util/genmoddep.c.
8986
4cebd25a 89872008-08-30 Robert Millan <rmh@aybabtu.com>
8988
8989 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
8990 as required by Multiboot spec (it was already 4-byte aligned, but
8991 only by chance).
8992
b497a269 89932008-08-29 Pavel Roskin <proski@gnu.org>
8994
e3925185 8995 * kern/powerpc/ieee1275/crt0.S: Rename to ...
8996 * kern/powerpc/ieee1275/startup.S: ... this.
8997 * conf/powerpc-ieee1275.rmk: Adjust for the above.
8998 * DISTLIST: Likewise.
8999
b497a269 9000 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
9001 grub/cpu/kernel.h. Add start label for consistency with other
9002 platforms. Add grub_prefix immediately after start. Add jump
9003 to the code after grub_prefix.
9004 * include/grub/powerpc/kernel.h: Provide valid values for
9005 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
9006
6e5a42fe 90072008-08-29 Bean <bean123ch@gmail.com>
9008
9009 * configure.ac: Change host_os to cygwin for mingw.
9010 (asprintf): New check for function.
9011
9012 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
9013 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
9014
9015 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 9016 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 9017 sync, sleep and grub_util_get_disk_size for mingw.
9018
9019 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
9020 to get size in mingw.
9021 (open_device): Use flag O_BINARY if it's defined.
9022 (find_root_device): Add dummy code for mingw.
9023
9024 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
9025 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
9026 (get_scsi_disk_name): Return 0 for mingw.
9027
9028 * util/hostfs.c: #include <grub/util/misc.h>.
9029 (grub_hostfs_open): Use "rb" flag to open file, use
9030 grub_util_get_disk_size to get disk size for mingw.
9031
9032 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
9033 (asprintf): New function if HAVE_ASPRINTF is not set.
9034 (sync): New function for mingw.
9035 (sleep): Likewise.
9036 (grub_util_get_disk_size): Likewise.
9037
ab3f2673 90382008-08-28 Pavel Roskin <proski@gnu.org>
9039
9040 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9041 kern/time.c.
9042
1c282483 90432008-08-28 Robert Millan <rmh@aybabtu.com>
9044
9045 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
9046
678e849c 90472008-08-28 Robert Millan <rmh@aybabtu.com>
9048
9049 Change find_grub_drive() syntax so it doesn't prevent it from
9050 detecting NULL names as errors.
9051
9052 * util/biosdisk.c (find_grub_drive): Move free slot search code
9053 from here ...
9054 (find_free_slot): ... to here.
9055 (read_device_map): Use find_free_slot() to search for free slots.
9056
965c75ca 90572008-08-27 Marco Gerards <marco@gnu.org>
9058
9059 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
9060 (scsi_mod_SOURCES): New variable.
9061 (scsi_mod_CFLAGS): Likewise
9062 (scsi_mod_LDFLAGS): Likewise.
9063
9064 * disk/scsi.c: New file.
9065
9066 * include/grub/scsi.h: Likewise.
9067
9068 * include/grub/scsicmd.h: Likewise.
9069
9070 * disk/ata.c: Include <grub/scsi.h>.
9071 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
9072 instead.
9073 (grub_ata_iterate): Skip ATAPI devices.
9074 (grub_ata_open): Only handle ATAPI devices.
9075 (struct grub_atapi_read): Removed.
9076 (grub_atapi_readsector): Likewise.
9077 (grub_ata_read): No longer handle ATAPI devices.
9078 (grub_ata_write): Likewise.
9079 (grub_atapi_iterate): New function.
9080 (grub_atapi_read): Likewise.
9081 (grub_atapi_write): Likewise.
9082 (grub_atapi_open): Likewise.
9083 (grub_atapi_close): Likewise.
9084 (grub_atapi_dev): New variable.
9085 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
9086 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
9087
9088 * include/grub/disk.h (enum grub_disk_dev_id): Add
9089 `GRUB_DISK_DEVICE_SCSI_ID'.
9090
c07ae501 90912008-08-26 Robert Millan <rmh@aybabtu.com>
9092
9093 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
9094 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
9095 descriptive.
9096
5ed20adc 90972008-08-23 Bean <bean123ch@gmail.com>
9098
9099 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
9100 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9101 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
9102 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
9103 dm_nv.mod.
9104 (raid5rec_mod_SOURCES): New macro.
9105 (raid5rec_mod_CFLAGS): Likewise.
9106 (raid5rec_mod_LDFLAGS): Likewise.
9107 (raid6rec_mod_SOURCES): Likewise.
9108 (raid6rec_mod_CFLAGS): Likewise.
9109 (raid6rec_mod_LDFLAGS): Likewise.
9110 (mdraid_mod_SOURCES): Likewise.
9111 (mdraid_mod_CFLAGS): Likewise.
9112 (mdraid_mod_LDFLAGS): Likewise.
9113 (dm_nv_mod_SOURCES): Likewise.
9114 (dm_nv_mod_CFLAGS): Likewise.
9115 (dm_nv_mod_LDFLAGS): Likewise.
9116
9117 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
9118 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
9119 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9120
9121 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
9122 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
9123
9124 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9125
9126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9127
9128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9129
9130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9131
9132 * disk/raid5_recover.c: New file.
9133
9134 * disk/raid6_recover.c: Likewise.
9135
9136 * disk/mdraid_linux.c: Likewise.
9137
9138 * disk/dmraid_nvidia.c: Likewise.
9139
9140 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
9141 ULONG_MAX.
9142
9143 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
9144 calculate the size of raid device.
9145 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
9146 different layout of raid5.
9147 (grub_raid_scan_device): Remove code specific to mdraid.
9148 (grub_raid_list): New variable.
9149 (free_array): New function.
9150 (grub_raid_register): Likewise.
9151 (grub_raid_unregister): Likewise.
9152 (grub_raid_rescan): Likewise.
9153 (GRUB_MOD_INIT): Don't iterate device here.
9154 (GRUB_MOD_FINI): Use free_array to release resource.
9155
9156 * include/grub/raid.h: Remove macro and structure specific to mdraid.
9157 (grub_raid5_recover_func_t): New function variable type.
9158 (grub_raid6_recover_func_t): Likewise.
9159 (grub_raid5_recover_func): New variable.
9160 (grub_raid6_recover_func): Likewise.
9161 (grub_raid_register): New function.
9162 (grub_raid_unregister): Likewise.
9163 (grub_raid_rescan): Likewise.
9164 (grub_raid_block_xor): Likewise.
9165
9166 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
9167 (CMD_CRC): New macro.
9168 (part): Removed.
9169 (read_file): Handle device as well as file.
9170 (cmd_crc): New function.
9171 (fstest): Handle multiple disks.
9172 (options): Remove part, raw and long, add root and diskcount.
9173 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 9174 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 9175 add handling for the new options, support multiple disks.
9176
9177 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
9178
29c18915 91792008-08-23 Bean <bean123ch@gmail.com>
9180
9181 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
9182
9183 * genfslist.sh: Ignore kernel.mod.
9184
9185 * genpartmaplist.sh: Likewise.
9186
8415f261 91872008-08-23 Robert Millan <rmh@aybabtu.com>
9188
9189 * util/getroot.c (find_root_device): Skip anything that starts with
9190 a dot, not just directories. This avoids things like /dev/.tmp.md0.
9191
d5a7dc5b 91922008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 9193
d5a7dc5b 9194 * util/update-grub.in (GRUB_GFXMODE): Export variable.
9195 * util/grub.d/00_header.in: Allow the administrator to change default
9196 gfxmode via ${GRUB_GFXMODE}.
9197
380cfbb4 91982008-08-21 Felix Zielcke <fzielcke@z-51.de>
9199
9200 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
9201
c9baafe7 92022008-08-21 Robert Millan <rmh@aybabtu.com>
9203
9204 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
9205 loader.
9206 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
9207 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
9208
e290bef2 92092008-08-20 Carles Pina i Estany <carles@pina.cat>
9210
9211 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
9212 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
9213
f9dbfc96 92142008-08-19 Robert Millan <rmh@aybabtu.com>
9215
9216 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
9217 (struct grub_virtual_screen): Remove `cursor_color'.
9218 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
9219 initialization.
9220 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
9221
dd6bd6ab 92222008-08-18 Robert Millan <rmh@aybabtu.com>
9223
9224 Unify (identical) linux_normal.c files.
9225 * loader/i386/efi/linux_normal.c: Move from here ...
9226 * loader/linux_normal.c: ... to here. Update all users.
9227 * loader/i386/pc/linux_normal.c: Delete. Update all users.
9228 * loader/i386/ieee1275/linux_normal.c: Likewise.
9229
7f42f83e 92302008-08-18 Robert Millan <rmh@aybabtu.com>
9231
9232 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
9233 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
9234 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
9235 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
9236 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
9237 New macros.
9238 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
9239 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
9240 (GRUB_LINUX_CL_END_OFFSET): ... to here.
9241 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
9242 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
9243 (GRUB_EFI_CL_END_OFFSET): Rename to ...
9244 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
9245 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
9246 Initialize `params->video_cursor_x' and `params->video_cursor_y'
9247 portably using grub_getxy().
9248 Replace `-EFI' with `-bzImage' in boot message.
9249
38487ddb 92502008-08-17 Robert Millan <rmh@aybabtu.com>
9251
9252 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
9253
deceb3ec 92542008-08-17 Robert Millan <rmh@aybabtu.com>
9255
9256 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
9257
9258 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
9259 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
9260 (grub_machine_mmap_iterate): New function declaration.
9261 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
9262 structure.
9263 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
9264 macros.
9265
9266 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
9267 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
9268 Move e820 parsing from here ...
9269 * kern/i386/pc/mmap.c: New file.
9270 (grub_machine_mmap_iterate): ... to here.
9271
9272 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
9273 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
9274 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
9275 (grub_available_iterate): Redeclare to return `void', and redeclare
9276 its hook to use grub_uint64_t as addr and size parameters, and rename
9277 to ...
9278 (grub_machine_mmap_iterate): ... this. Update all users.
9279
9280 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
9281 to make it more readable. Rename to ...
9282 (grub_machine_mmap_iterate): ... this.
9283
9284 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
9285 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
9286 (grub_multiboot): Allocate an extra region after the payload, and fill
9287 it with a Multiboot memory map. Adjust a.out loader to calculate size
9288 with the extra space.
9289 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
9290 with the extra space.
9291
f8aa0f43 92922008-08-17 Carles Pina i Estany <carles@pina.cat>
9293
9807deb9 9294 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 9295
605f5bb6 92962008-08-17 Felix Zielcke <fzielcke@z-51.de>
9297
9298 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
9299 mdate-sh to the list `find' searches for.
9300 * DISTLIST: Regenerated.
9301
210db6c6 93022008-08-16 Felix Zielcke <fzielcke@z-51.de>
9303
9304 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
9305 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 9306 genmoddep.awk, gensymlist.sh.in.
9307 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 9308 * DISTLIST: Regenerated.
48cdbfd4 9309 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 9310
1082b929 93112008-08-16 Robert Millan <rmh@aybabtu.com>
9312
9313 * disk/raid.c (grub_raid_init): Handle/report errors set by
9314 grub_device_iterate().
9315 * disk/lvm.c (grub_lvm_init): Likewise.
9316
42ce5170 93172008-08-15 Bean <bean123ch@gmail.com>
9318
9319 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9320 and datehook.mod.
9321 (datetime_mod_SOURCES): New macro.
9322 (datetime_mod_CFLAGS): Likewise.
9323 (datetime_mod_LDFLAGS): Likewise.
9324 (date_mod_SOURCES): Likewise.
9325 (date_mod_CFLAGS): Likewise.
9326 (date_mod_LDFLAGS): Likewise.
9327 (datehook_mod_SOURCES): Likewise.
9328 (datehook_mod_CFLAGS): Likewise.
9329 (datehook_mod_LDFLAGS): Likewise.
9330
9331 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9332 and datehook.mod.
9333 (datetime_mod_SOURCES): New macro.
9334 (datetime_mod_CFLAGS): Likewise.
9335 (datetime_mod_LDFLAGS): Likewise.
9336 (date_mod_SOURCES): Likewise.
9337 (date_mod_CFLAGS): Likewise.
9338 (date_mod_LDFLAGS): Likewise.
9339 (datehook_mod_SOURCES): Likewise.
9340 (datehook_mod_CFLAGS): Likewise.
9341 (datehook_mod_LDFLAGS): Likewise.
9342
9343 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9344 and datehook.mod.
9345 (datetime_mod_SOURCES): New macro.
9346 (datetime_mod_CFLAGS): Likewise.
9347 (datetime_mod_LDFLAGS): Likewise.
9348 (date_mod_SOURCES): Likewise.
9349 (date_mod_CFLAGS): Likewise.
9350 (date_mod_LDFLAGS): Likewise.
9351 (datehook_mod_SOURCES): Likewise.
9352 (datehook_mod_CFLAGS): Likewise.
9353 (datehook_mod_LDFLAGS): Likewise.
9354
9355 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9356 and datehook.mod.
9357 (datetime_mod_SOURCES): New macro.
9358 (datetime_mod_CFLAGS): Likewise.
9359 (datetime_mod_LDFLAGS): Likewise.
9360 (date_mod_SOURCES): Likewise.
9361 (date_mod_CFLAGS): Likewise.
9362 (date_mod_LDFLAGS): Likewise.
9363 (datehook_mod_SOURCES): Likewise.
9364 (datehook_mod_CFLAGS): Likewise.
9365 (datehook_mod_LDFLAGS): Likewise.
9366
9367 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
9368 and datehook.mod.
9369 (datetime_mod_SOURCES): New macro.
9370 (datetime_mod_CFLAGS): Likewise.
9371 (datetime_mod_LDFLAGS): Likewise.
9372 (date_mod_SOURCES): Likewise.
9373 (date_mod_CFLAGS): Likewise.
9374 (date_mod_LDFLAGS): Likewise.
9375 (datehook_mod_SOURCES): Likewise.
9376 (datehook_mod_CFLAGS): Likewise.
9377 (datehook_mod_LDFLAGS): Likewise.
9378
9379 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
9380
9381 * commands/date.c: New file.
9382
9383 * hook/datehook.c: Likewise.
9384
9385 * include/grub/lib/datetime.h: Likewise.
9386
9387 * include/grub/i386/cmos.h: Likewise.
9388
9389 * lib/datetime.c: Likewise.
9390
9391 * lib/i386/datetime.c: Likewise.
9392
9393 * lib/efi/datetime.c: Likewise.
9394
0e9242da 93952008-08-14 Robert Millan <rmh@aybabtu.com>
9396
9397 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
9398 (grub_mkelfimage_SOURCES): New variable.
9399 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
9400
9401 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
9402 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
9403 * conf/powerpc-ieee1275.rmk: Likewise.
9404 * conf/i386-ieee1275.rmk: Likewise.
9405
9406 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
9407 * kern/i386/coreboot/init.c: Likewise.
9408
9409 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
9410 with `<grub/cpu/kernel.h>'.
9411 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
9412 to ...
9413 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
9414 * kern/i386/coreboot/startup.S: Likewise.
9415
9416 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
9417 (GRUB_MOD_GAP): Remove.
9418 * include/grub/powerpc/kernel.h: New file.
9419 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
9420 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9421 * include/grub/i386/kernel.h: New file.
9422 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
9423 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
9424 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
9425
9426 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
9427 `grub-mkelfimage'.
9428 Use --directory when invoking grub_mkimage.
9429
9430 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
9431 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
9432 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
9433 and GRUB_KERNEL_CPU_PREFIX.
9434
b86408f8 94352008-08-14 Felix Zielcke <fzielcke@z-51.de>
9436
d5e619ca 9437 * include/grub/err.h (grub_err_printf): New function prototype.
9438 * util/misc.c (grub_err_printf): New function.
9439 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
9440 grub_printf.
9441 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 9442
7161f0e0 94432008-08-13 Robert Millan <rmh@aybabtu.com>
9444
9445 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
9446
a1967522 94472008-08-13 Robert Millan <rmh@aybabtu.com>
9448
9449 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
9450 boot entry.
9451
371458b5 94522008-08-12 Robert Millan <rmh@aybabtu.com>
9453
9454 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
9455 of the relocation code from here ...
9456 (grub_multiboot): ... to here.
9457 (forward_relocator, backward_relocator): Move from here ...
9458 * kern/i386/loader.S (grub_multiboot_forward_relocator)
9459 (grub_multiboot_backward_relocator): ... to here.
9460 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
9461 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
9462 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
9463 (grub_multiboot_forward_relocator_end)
9464 (grub_multiboot_backward_relocator)
9465 (grub_multiboot_backward_relocator_end): New variables.
9466
05f9452b 94672008-08-12 Bean <bean123ch@gmail.com>
9468
9469 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
9470
20024ab0 94712008-08-11 Robert Millan <rmh@aybabtu.com>
9472
9473 * kern/i386/linuxbios/startup.S: Move from here ...
9474 * kern/i386/coreboot/startup.S: ... to here.
9475
9476 * kern/i386/linuxbios/init.c: Move from here ...
9477 * kern/i386/coreboot/init.c: ... to here.
9478
9479 * kern/i386/linuxbios/table.c: Move from here ...
9480 * kern/i386/coreboot/mmap.c: ... to here.
9481
9482 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
9483
e352e9cd 94842008-08-11 Robert Millan <rmh@aybabtu.com>
9485
9486 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
9487 errors. Leave it to the upper layer to handle them.
9488
2d05bc6a 94892008-08-09 Christian Franke <franke@computer.org>
9490
9491 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
9492 * conf/common.rmk: Install `grub-pe2elf' only if requested.
9493 Install `grub.d/10_windows' only on Cygwin.
9494 * configure.ac: Add subst of `target_os'.
9495 Check `target_os' also before setting TARGET_OBJ2ELF.
9496 Add `--enable-grub-pe2elf'.
9497
042bd419 94982008-08-08 Robert Millan <rmh@aybabtu.com>
9499
9500 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9501 (grub_last_time): Change type to grub_uint64_t.
9502 (grub_disk_open): Migrate code from to using grub_get_time_ms().
9503 (grub_disk_close): Likewise.
9504
9505 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9506 (run_menu): Migrate code from to using grub_get_time_ms().
9507
9508 * util/misc.c (grub_get_time_ms): New function.
9509
7f280db5 95102008-08-08 Marco Gerards <marco@gnu.org>
9511
9512 * disk/ata.c (grub_ata_regget): Change return type to
9513 `grub_uint8_t'.
9514 (grub_ata_regget2): Likewise.
9515 (grub_ata_wait_status): New function.
9516 (grub_ata_wait_busy): Removed function, updated all users to use
9517 `grub_ata_wait_status'.
9518 (grub_ata_wait_drq): Likewise.
9519 (grub_ata_cmd): New function.
9520 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
9521 error handling.
9522 (grub_ata_pio_write): Add error handling.
9523 (grub_atapi_identify): Likewise.
9524 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
9525 handling.
9526 (grub_ata_identify): Use `grub_ata_cmd' and improve error
9527 handling. Actually use the detected registers. Reorder the
9528 detection logic such that it is easier to read.
9529 (grub_ata_pciinit): Do not assign the same ID to each controller.
9530 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
9531 handling.
9532 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
9533
9534 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
9535
1fbc5e66 95362008-08-08 Marco Gerards <marco@gnu.org>
9537
9538 * NEWS: Update.
9539
819ce6c0 95402008-08-07 Bean <bean123ch@gmail.com>
9541
9542 * include/grub/x86_64/pci.h: New file.
9543
5c41d44d 95442008-08-07 Christian Franke <franke@computer.org>
9545
9546 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
9547 (TIMER2_GATE): Likewise.
9548 (grub_pit_wait): Add enable/disable of the timer2 gate
9549 bit of port 0x61. This fixes a possible infinite loop.
9550
5ebc275d 95512008-08-07 Bean <bean123ch@gmail.com>
9552
9553 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
9554 kern/i386/tsc.c and kern/i386/pit.c.
9555
9556 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
9557 x86_64 platform.
9558
9559 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
9560 <grub/i386/tsc.h>.
9561
9562 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
9563
e383b3d0 95642008-08-07 Bean <bean123ch@gmail.com>
9565
9566 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
9567
9568 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
9569
9570 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
9571 multiple inclusion. Add #include <grub/types.h>.
9572
1cbb58ac 95732008-08-06 Christian Franke <franke@computer.org>
9574
9575 * conf/common.rmk: Build and install `10_windows'.
9576 * util/grub.d/10_windows.in: New script.
9577
337f5a1e 95782008-08-06 Pavel Roskin <proski@gnu.org>
9579
9580 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
9581
057bc4ac 95822008-08-06 Robert Millan <rmh@aybabtu.com>
9583
9584 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
9585 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
9586
2b99f123 95872008-08-06 Bean <bean123ch@gmail.com>
9588
9589 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
9590 (grub_pxefs_fs_int): Remove dummy definition.
9591 (grub_pxefs_open): Use data->block_size to store the current block
9592 size setting.
9593 (grub_pxefs_read): Use block size stored in data->block_size. As the
9594 value of grub_pxe_blksize can be changed after the file is opened.
9595
9f0234cb 95962008-08-06 Bean <bean123ch@gmail.com>
9597
9598 * fs/i386/pc/pxe.c (curr_file): new variable.
9599 (grub_pxefs_open): Simply the handling of pxe file system. Don't
9600 require the dummy internal file system anymore.
9601 (grub_pxefs_read): Removed.
9602 (grub_pxefs_close): Likewise.
9603 (grub_pxefs_fs_int): Likewise.
9604 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
9605 connection when we switch file.
9606 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
9607
a55d42e0 96082008-08-06 Robert Millan <rmh@aybabtu.com>
9609
9610 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
9611 `halt.mod'.
9612 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
9613 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
9614
9615 * kern/i386/halt.c: New file.
9616 * kern/i386/reboot.c: Likewise.
9617 * include/grub/i386/reboot.h: Likewise.
9618 * include/grub/i386/halt.h: Likewise.
9619
9620 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
9621 Include `<grub/cpu/halt.h>'.
9622 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
9623 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
9624
9625 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
9626 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
9627 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
9628 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
9629 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
9630 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
9631 from here ...
9632 * include/grub/i386/at_keyboard.h: ... to here.
9633
24371d26 96342008-08-05 Robert Millan <rmh@aybabtu.com>
9635
9636 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
9637 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
9638 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
9639 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9640 `kern/generic/millisleep.c'.
9641
9642 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
9643 instead of grub_get_rtc().
9644 (grub_tsc_init): Initialize `tsc_boot_time'.
9645
9646 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
9647 (grub_machine_init): Use grub_tsc_init() rather than
9648 installing an RTC-based handler via grub_install_get_time_ms().
9649
9650 * kern/i386/pit.c: New file.
9651 * include/grub/i386/pit.h: Likewise.
9652
9e7007b3 96532008-08-05 Bean <bean123ch@gmail.com>
9654
9655 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
9656
9657 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
9658 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
9659 (pxe_mod_SOURCES): New macro.
9660 (pxe_mod_CFLAGS): Likewise.
9661 (pxe_mod_LDFLAGS): Likewise.
9662 (pxecmd_mod_SOURCES): Likewise.
9663 (pxecmd_mod_CFLAGS): Likewise.
9664 (pxecmd_mod_LDFLAGS): Likewise.
9665
9666 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
9667 (grub_pxe_call): Likewise.
9668
9669 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
9670
9671 * commands/i386/pc/pxecmd.c: New file.
9672
9f0234cb 9673 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 9674
9675 * include/grub/i386/pc/pxe.h: Likewise.
9676
6977d49f 96772008-08-05 Bean <bean123ch@gmail.com>
9678
9679 * util/console.c (grub_console_cur_color): New variable.
9680 (grub_console_standard_color): Likewise.
9681 (grub_console_normal_color): Likewise.
9682 (grub_console_highlight_color): Likewise.
9683 (color_map): Likewise.
9684 (use_color): Likewise.
9685 (NUM_COLORS): New macro.
9686 (grub_ncurses_setcolorstate): Handle color properly.
9687 (grub_ncurses_setcolor): Don't change color here, just remember the
9688 settings, color will be set in grub_ncurses_setcolorstate.
9689 (grub_ncurses_getcolor): New function.
9690 (grub_ncurses_init): Initialize color pairs.
9691 (grub_ncurses_term): New member grub_ncurses_getcolor.
9692
9c2ff3ee 96932008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 9694
9c2ff3ee 9695 High resolution timer support. Implemented for x86 CPUs using TSC.
9696 Extracted generic grub_millisleep() so it's linked in only as needed.
9697 This requires a Pentium compatible CPU; if the RDTSC instruction is
9698 not supported, then it falls back on the generic grub_get_time_ms()
9699 implementation that uses the machine's RTC.
9700
9701 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
9702 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9703 `kern/generic/millisleep.c'.
9704
9705 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
9706 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
9707
9708 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
9709 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
9710
9711 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9712
9713 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9714 `kern/generic/millisleep.c'.
9715
9716 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9717
9718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
9719
9720 * kern/generic/rtc_get_time_ms.c: New file.
9721
9722 * kern/generic/millisleep.c: New file.
337f5a1e 9723
9c2ff3ee 9724 * kern/misc.c: Don't include
9725 <kern/time.h> anymore.
9726 (grub_millisleep_generic): Removed.
9727
9728 * commands/sleep.c (grub_interruptible_millisleep): Uses
9729 grub_get_time_ms() instead of grub_get_rtc().
9730
9731 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
9732 function.
9733 (grub_cpu_is_cpuid_supported): New inline function.
9734 (grub_cpu_is_tsc_supported): New inline function.
9735 (grub_tsc_init): New function prototype.
9736 (grub_tsc_get_time_ms): New function prototype.
9737
9738 * kern/i386/tsc.c (grub_get_time_ms): New file.
9739
9740 * include/grub/time.h: Include <grub/types.h.
9741 (grub_millisleep_generic): Removed.
9742 (grub_get_time_ms): New prototype.
9743 (grub_install_get_time_ms): New prototype.
9744 (grub_rtc_get_time_ms): New prototype.
9745
9746 * kern/time.c (grub_get_time_ms): New function.
9747 (grub_install_get_time_ms): New function.
9748
9749 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
9750 <grub/time.h> anymore.
9751 (grub_millisleep): Removed.
9752 (grub_machine_init): Call grub_tsc_init.
9753
9754 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
9755 get_time_ms() implementation.
9756
9757 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
9758 (ieee1275_get_time_ms): New function.
9759 (grub_machine_init): Install get_time_ms() implementation.
9760
9761 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
9762 (grub_machine_init): Call grub_tsc_init().
9763 (grub_millisleep): Removed.
bf06a93f 9764
9c2ff3ee 9765 * kern/ieee1275/init.c (grub_millisleep): Removed.
9766 (grub_machine_init): Install ieee1275_get_time_ms()
9767 implementation.
9768 (ieee1275_get_time_ms): New function.
9769 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
9770 real work.
9771
9ec92aaf 97722008-08-05 Marco Gerards <marco@gnu.org>
9773
9774 * disk/ata.c: Include <grub/pci.h>.
9775 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
9776 (grub_ata_initialize): Rewritten.
9777 (grub_ata_device_initialize): New function.
9778
8d23f507 97792008-08-04 Pavel Roskin <proski@gnu.org>
9780
9781 * kern/main.c: Include grub/mm.h.
9782
5e15ee3d 97832008-08-04 Robert Millan <rmh@aybabtu.com>
9784
9785 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
9786 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
9787 corruption problem).
9788
a9053f8f 97892008-08-04 Robert Millan <rmh@aybabtu.com>
9790
9791 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
9792 warnings introduced in my last commit.
9793
dd19c7d7 97942008-08-03 Robert Millan <rmh@aybabtu.com>
9795
9796 Make PCI available on all i386 architectures.
9797
9798 * include/grub/i386/pc/pci.h: Move from here ...
9799 * include/grub/i386/pci.h: ... to here.
9800
9801 * include/grub/i386/pc/pci.h: Remove.
9802 * include/grub/i386/efi/pci.h: Remove.
9803 * include/grub/x86_64/efi/pci.h: Remove.
9804
9805 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
9806 `<grub/cpu/pci.h>'.
9807
9808 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
9809 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
9810 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
9811
9812 * conf/i386-ieee1275.rmk: Likewise.
9813
e14a6184 98142008-08-03 Robert Millan <rmh@aybabtu.com>
9815
9816 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
9817 (grub_console_setcursor): Make it possible to set cursor off.
9818
52768e37 98192008-08-03 Robert Millan <rmh@aybabtu.com>
9820
9821 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
9822 of modules instead of assuming which platform provides what.
9823 * util/update-grub.in: Likewise.
9824
2d52f57f 98252008-08-03 Robert Millan <rmh@aybabtu.com>
9826
9827 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
9828 instead of `grub_install_dos_part' to determine whether a drive needs
9829 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 9830 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 9831
2a5cd121 98322008-08-02 Robert Millan <rmh@aybabtu.com>
9833
9834 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
9835
93808428 98362008-08-02 Robert Millan <rmh@aybabtu.com>
9837
9838 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
9839 of informational grub_dprintf() calls.
9840
3bd0a12a 98412008-08-02 Robert Millan <rmh@aybabtu.com>
9842
9843 * disk/memdisk.c (memdisk_size): Don't initialize.
9844 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
9845
9846 * include/grub/i386/pc/kernel.h
9847 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
9848 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
9849 (grub_memdisk_image_size, grub_arch_memdisk_addr)
9850 (grub_arch_memdisk_size): Remove.
9851
9852 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
9853 field (was only used to transfer a constant). Add `type' field to
9854 support multiple module types.
9855 (grub_module_iterate): New function.
9856
9857 * kern/device.c (grub_device_open): Do not hide error messages
9858 when grub_disk_open() fails. Use grub_print_error() instead.
9859
9860 * kern/i386/pc/init.c (grub_arch_modules_addr)
9861 (grub_arch_memdisk_size): Remove functions.
9862 (grub_arch_modules_addr): Return the module address in high memory
9863 (now that it isn't copied anymore).
9864
9865 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
9866 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
9867 decompression routine (grub_total_module_size already includes that
9868 now). Don't copy modules back to low memory.
9869
9870 * kern/main.c: Include `<grub/mm.h>'.
9871 (grub_load_modules): Split out (and use) ...
9872 (grub_module_iterate): ... this function, which iterates through
9873 module objects and runs a hook.
9874 Comment out grub_mm_init_region() call, as it would cause non-ELF
9875 modules to be overwritten.
9876
9877 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
9878 the memdisk image in its own region, make it part of the module list.
9879 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
9880 (main): Parse --memdisk|-m option, and pass user-provided path as
9881 parameter to generate_image().
9882 (add_segments): Pass `memdisk_path' down to load_modules().
9883 (load_modules): Embed memdisk image in module section when requested.
9884 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
9885 `header.type' instead of `header.offset'.
9886
9887 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
9888 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
9889 (memdisk_mod_LDFLAGS): New variables.
9890 * conf/i386-coreboot.rmk: Likewise.
9891 * conf/i386-ieee1275.rmk: Likewise.
9892
a927cc73 98932008-08-02 Robert Millan <rmh@aybabtu.com>
9894
9895 * loader/i386/pc/multiboot.c (playground, forward_relocator)
9896 (backward_relocator): New variables. Used to allocate and relocate
9897 the payload, respectively.
9898 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 9899 address, install the appropriate relocator code in each bound of
a927cc73 9900 the payload, and set the entry point such that
9901 grub_multiboot_real_boot() will jump to one of them.
9902
9903 * kern/i386/loader.S (grub_multiboot_payload_size)
9904 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9905 (grub_multiboot_payload_entry_offset): New variables.
9906 (grub_multiboot_real_boot): Set cpu context to what the relocator
9907 expects, and jump to the relocator instead of the payload.
9908
9909 * include/grub/i386/loader.h (grub_multiboot_payload_size)
9910 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9911 (grub_multiboot_payload_entry_offset): Export.
9912
b15d8a0c 99132008-08-01 Bean <bean123ch@gmail.com>
9914
9915 * normal/menu_entry.c (editor_getline): Don't return the original
9916 string as result, as it will be released by lexer once it has done
9917 using it.
9918
cdfb3d22 99192008-08-01 Robert Millan <rmh@aybabtu.com>
9920
9921 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
9922 within menuentries, not before them.
9923 util/grub.d/10_hurd.in: Likewise.
9924
9175e93d 99252008-08-01 Bean <bean123ch@gmail.com>
9926
9927 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
9928 (bufio_mod_SOURCES): New macro.
9929 (bufio_mod_CFLAGS): Likewise.
9930 (bufio_mod_LDFLAGS): Likewise.
9931
9932 * include/grub/bufio.h: New file.
9933
9934 * io/bufio.c: Likewise.
9935
9936 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
9937 (grub_video_reader_png): Use grub_buffile_open to open file.
9938
9939 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
9940 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
9941
9942 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
9943 (grub_video_reader_tga): Use grub_buffile_open to open file.
9944
9945 * font/manager.c: Include <grub/bufio.h>.
9946 (add_font): Use grub_buffile_open to open file.
9947
3d8383e7 99482008-07-31 Robert Millan <rmh@aybabtu.com>
9949
9950 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
9951 ELF segments, use a macro for arbitrarily accessing any of them instead
9952 of preparing a pointer that allows access to one at a time.
9953 (grub_multiboot_load_elf64): Likewise.
9954
16e641b6 99552008-07-31 Bean <bean123ch@gmail.com>
9956
9957 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
9958 GRUB_KERNEL_MACHINE_DATA_END.
9959
59198b72 99602008-07-30 Robert Millan <rmh@aybabtu.com>
9961
9962 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
9963 Increase from 0x50 to 0x60.
9964 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
9965 use UUIDs to identify the root drive for them. If that's not
9966 possible, abort.
9967 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
9968 check, for cross-disk installs.
9969
ae88bca3 99702008-07-30 Robert Millan <rmh@aybabtu.com>
9971
9972 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
9973 is non-empty, use it to set the `prefix' environment variable instead
9974 of the usual approach.
9975 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
9976 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
9977 environment variable instead of dummy make_install_device().
9978
9979 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
9980 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 9981 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 9982
9983 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
9984 New variable reference.
9985 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
9986 New macro. Defines offset of `grub_prefix' within startup.S (relative
9987 to `start').
9988 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
9989 section within startup.S (relative to `start').
9990 * include/grub/i386/coreboot/kernel.h: Likewise.
9991
9992 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
9993 Overwrite grub_prefix with its contents, at the beginning of the
9994 first segment.
9995 (main): Understand -p|--prefix.
9996
14f41dd1 99972008-07-30 Robert Millan <rmh@aybabtu.com>
9998
9999 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
10000
4ca049a3 100012008-07-30 Robert Millan <rmh@aybabtu.com>
10002
10003 * term/i386/pc/vga_text.c (grub_console_cls): Use
10004 grub_console_gotoxy() to go back to beginning of the screen.
10005 Found by Patrick Georgi <patrick.georgi@coresystems.de>
10006
2921d337 100072008-07-29 Christian Franke <franke@computer.org>
10008
10009 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10010 Add conversion of emulated mount points on Cygwin.
10011
b609876d 100122008-07-29 Christian Franke <franke@computer.org>
10013
10014 * util/update-grub.in: Add a check for admin
10015 group on Cygwin.
10016 Remove old `grub.cfg.new' before creation.
10017 Add `-f' to `mv' to handle the different filesystem
10018 semantics of Windows.
10019
e93e4679 100202008-07-29 Bean <bean123ch@gmail.com>
10021
10022 * normal/main.c (get_line): Fix buffer overflow bug.
10023
41694fd0 100242008-07-28 Robert Millan <rmh@aybabtu.com>
10025
10026 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
10027 (struct grub_apple_header): New struct. Describes the layout of
10028 the partmap header.
10029 (apple_partition_map_iterate): Check the header magic as well as the
10030 partition magic (which was already being checked).
10031
cfd0b4e6 100322008-07-28 Pavel Roskin <proski@gnu.org>
10033
10034 * genmk.rb: Add a warning to the beginning of the output that
10035 it's a generated file and should not be edited.
10036
93cce016 100372008-07-28 Robert Millan <rmh@aybabtu.com>
10038
10039 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10040 with the same number are found, just use issue a warning with
10041 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 10042
cd1df915 100432008-07-27 Robert Millan <rmh@aybabtu.com>
10044
10045 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
10046 information.
10047
b70a8427 100482008-07-27 Bean <bean123ch@gmail.com>
10049
10050 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
10051 (grub_fat_find_dir): Ignore case when comparing filename.
10052
8f5e379f 100532008-07-27 Bean <bean123ch@gmail.com>
10054
10055 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
10056 smallino, as it's more descriptive, and i8count can be confused with
10057 the other field count.
10058 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
10059 inode type.
10060
a85cd5a0 100612008-07-27 Bean <bean123ch@gmail.com>
10062
10063 * commands/crc.c: New file.
10064
10065 * lib/crc.c: Likewise.
10066
10067 * include/grub/lib/crc.h: Likewise.
10068
10069 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
10070
10071 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
10072 (hexdump): Move this function to ...
10073
10074 * lib/hexdump.c: ... here.
10075
10076 * include/grub/hexdump.h: Renamed to ...
10077
10078 * include/grub/lib/hexdump.h: ... this.
10079
10080 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
10081
10082 * util/grub-editenv.c: Likewise.
10083
10084 * include/envblk.h: Renamed to ...
10085
10086 * include/lib/envblk.h: ... this.
10087
10088 * util/envblk.c: Renamed to ...
10089
10090 * lib/envblk.c: ... this.
10091
10092 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
10093 lib/hexdump.c.
10094 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
10095 (pkglib_MODULES): Add crc.mod.
10096 (hexdump_mod_SOURCES): Add lib/hexdump.c.
10097 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
10098 (crc_mod_SOURCES): New macro.
10099 (crc_mod_CFLAGS): Likewise.
10100 (crc_mod_LDFLAGS): Likewise.
10101
10102 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
10103
10104 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10105
10106 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10107
10108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10109
10110 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10111
c298def0 101122008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 10113
10114 * commands/help.c: Include <grub/term.h>.
10115 (TERM_WIDTH): Removed. Updated all users.
10116
cc349fb3 101172008-07-27 Pavel Roskin <proski@gnu.org>
10118
10119 * util/getroot.c (find_root_device): Rephrase a comment to avoid
10120 spurious warnings about a comment within a comment.
10121
9051607e 101222008-07-25 Robert Millan <rmh@aybabtu.com>
10123
10124 * util/getroot.c (find_root_device): Skip devices that match
10125 /dev/dm-[0-9]. This lets the real device be found for any type of
10126 abstraction (LVM, EVMS, RAID..).
10127 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
10128 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
10129 device is found first, find_root_device() will now skip it.
10130
01453bfc 101312008-07-24 Pavel Roskin <proski@gnu.org>
10132
10133 * include/grub/types.h: Use __builtin_bswap32() and
10134 __builtin_bswap64() with gcc 4.3 and newer.
10135
6af9849f 101362008-07-24 Christian Franke <franke@computer.org>
10137
3a0fa256 10138 * util/i386/pc/grub-install.in: If `--debug' is specified,
10139 pass `--verbose' to grub-setup.
10140 Abort script if make_system_path_relative_to_its_root() fails.
10141
7810e747 101422008-07-24 Bean <bean123ch@gmail.com>
10143
10144 * configure.ac: Fixed a bug caused by the previous cygwin patch,
10145 variable `target_platform' should be `platform'.
10146
42290e17 101472008-07-24 Bean <bean123ch@gmail.com>
10148
51cc5193 10149 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 10150 (grub_png_init_fixed_block): New function.
10151 (grub_png_decode_image_data): Handle fixed huffman code compression.
10152
2a8a80e4 101532008-07-24 Bean <bean123ch@gmail.com>
10154
10155 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
10156 (grub_pe2elf_SOURCES): New macro.
10157 (CLEANFILES): Add grub-pe2elf.
10158
10159 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
10160 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
10161 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
10162 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
10163 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
10164 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
10165 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
10166 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
10167 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
10168 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
10169 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
10170 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
10171 (GRUB_PE32_DT_FUNCTION): Likewise.
10172 (GRUB_PE32_REL_I386_DIR32): Likewise.
10173 (GRUB_PE32_REL_I386_REL32): Likewise.
10174 (grub_pe32_symbol): New structure.
10175 (grub_pe32_reloc): Likewise.
10176
10177 * util/grub-pe2elf.c: New file.
10178
10179 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
10180 start symbol in non pc platform.
10181
10182 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
10183
10184 The following patches are from Christian Franke.
10185
10186 * include/grub/dl.h: Remove .previous, gas supports this only
10187 for ELF format.
10188
10189 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
10190 Remove .type, gas supports this only for ELF format.
10191
10192 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
10193 nullbytes in symbol table. This fixes an infinite loop if table is
10194 zero filled.
10195
10196 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
10197 TARGET_IMG_LDFLAGS and EXEEXT.
10198
10199 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
10200 TARGET_IMG_LDFLAGS_AC.
10201 (grub_CHECK_STACK_ARG_PROBE): New function.
10202
10203 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
10204
10205 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
10206
10207 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
10208 to set TARGET_IMG_LD* accordingly.
10209 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
10210 Add call to grub_CHECK_STACK_ARG_PROBE.
10211 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
10212
10213 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
10214
10215 * genmk.rb: Add EXEEXT to CLEANFILES.
10216
12ccdb75 102172008-07-23 Robert Millan <rmh@aybabtu.com>
10218
10219 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
10220 define the codes for arrows and lines used for the menu).
10221 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
10222 as well.
10223
10224 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
10225 fonts, because the latter are too slow.
10226
18eeaf04 102272008-07-21 Bean <bean123ch@gmail.com>
10228
10229 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
10230 a20. Run keyboard test last, as it will cause macbook to halt.
10231
b095e2ad 102322008-07-18 Pavel Roskin <proski@gnu.org>
10233
10234 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
10235 load foreign architecture modules correctly anyway. Keep
10236 support for loading host architecture modules, whether we
10237 compile them or not.
10238
737feb35 102392008-07-17 Pavel Roskin <proski@gnu.org>
10240
3f4ce737 10241 * configure.ac: Use -m32 or -m64 regardless of whether we had to
10242 change target_cpu. The compiler default can mismatch target_cpu
10243 in any case.
10244
4ad2d049 10245 * disk/efi/efidisk.c: Fix format warnings on x86_64.
10246 * kern/efi/efi.c: Likewise.
10247
f6130a12 10248 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
10249 target compiler is functional.
10250 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
10251 are set up.
10252
58393a2d 10253 * configure.ac: Default to efi platform for x86_64-apple. Allow
10254 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
10255 adjustments from the rest, only do them if target is not
10256 explicitly given. Merge other adjustments with the final sanity
10257 check. Remove an extraneous check for supported CPU. Be
10258 specific which CPU and which platform is not supported.
10259
737feb35 10260 * configure.ac: Default to pc platform for x86_64.
10261
546f966a 102622008-07-17 Robert Millan <rmh@aybabtu.com>
10263
10264 Partial LinuxBIOS -> Coreboot rename.
10265
10266 * conf/i386-linuxbios.rmk: Renamed to ...
10267 * conf/i386-coreboot.rmk: ... this.
10268 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
10269 * configure.ac: Accept "coreboot" as input platform (but maintain
10270 compatibility with "linuxbios").
10271 * include/grub/i386/linuxbios: Renamed to ...
10272 * include/grub/i386/coreboot: ... this.
10273
20011694 102742008-07-17 Bean <bean123ch@gmail.com>
10275
10276 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 10277 (appleldr_mod_SOURCE): New variable.
20011694 10278 (appleldr_mod_CFLAGS): Likewise.
10279 (appleldr_mod_LDFLAGS): Likewise.
10280 (pci_mod_SOURCES): Likewise.
10281 (pci_mod_CFLAGS): Likewise.
10282 (pci_mod_LDFLAGS): Likewise.
10283 (lspci_mod_SOURCES): Likewise.
10284 (lspci_mod_CFLAGS): Likewise.
10285 (lspci_mod_LDFLAGS): Likewise.
10286
10287 * conf/x86_64-efi.rmk: New file.
10288
10289 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
10290 macro.
10291 (grub_efidisk_write): Likewise.
10292
10293 * include/efi/api.h (efi_call_0): New macro.
10294 (efi_call_1): Likewise.
10295 (efi_call_2): Likewise.
10296 (efi_call_3): Likewise.
10297 (efi_call_4): Likewise.
10298 (efi_call_5): Likewise.
10299 (efi_call_6): Likewise.
10300
10301 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
10302 grub_rescue_cmd_chainloader.
10303
10304 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
10305 (grub_pe32_optional_header): Change some fields based on i386 or
10306 x86_64 platform.
10307 (GRUB_PE32_PE32_MAGIC): Likewise.
10308
10309 * include/grub/efi/uga_draw.h: New file.
10310
10311 * include/grub/elf.h (STN_ABS): New constant.
10312 (R_X86_64_NONE): Relocation constant for x86_64.
10313 (R_X86_64_64): Likewise.
10314 (R_X86_64_PC32): Likewise.
10315 (R_X86_64_GOT32): Likewise.
10316 (R_X86_64_PLT32): Likewise.
10317 (R_X86_64_COPY): Likewise.
10318 (R_X86_64_GLOB_DAT): Likewise.
10319 (R_X86_64_JUMP_SLOT): Likewise.
10320 (R_X86_64_RELATIVE): Likewise.
10321 (R_X86_64_GOTPCREL): Likewise.
10322 (R_X86_64_32): Likewise.
10323 (R_X86_64_32S): Likewise.
10324 (R_X86_64_16): Likewise.
10325 (R_X86_64_PC16): Likewise.
10326 (R_X86_64_8): Likewise.
10327 (R_X86_64_PC8): Likewise.
10328
10329 * include/grub/i386/efi/pci.h: New file.
10330
10331 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
10332 Change it value based on platform.
10333 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
10334 (GRUB_E820_RAM): Likewise.
10335 (GRUB_E820_RESERVED): Likewise.
10336 (GRUB_E820_ACPI): Likewise.
10337 (GRUB_E820_NVS): Likewise.
10338 (GRUB_E820_EXEC_CODE): Likewise.
10339 (GRUB_E820_MAX_ENTRY): Likewise.
10340 (grub_e820_mmap): New structure.
10341 (linux_kernel_header): Change the efi field according to different
10342 kernel version, also field from linux_kernel_header.
10343
10344 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
10345
10346 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
10347 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
10348 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
10349 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
10350 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
10351 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
10352 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
10353 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
10354 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
10355 (GRUB_PCI_ADDR_IO_MASK): Likewise.
10356
10357 * include/grub/x86_64/efi/kernel.h: New file.
10358
10359 * include/grub/x86_64/efi/loader.h: Likewise.
10360
10361 * include/grub/x86_64/efi/machine.h: Likewise.
10362
10363 * include/grub/x86_64/efi/pci.h: Likewise.
10364
10365 * include/grub/x86_64/efi/time.h: Likewise.
10366
10367 * include/grub/x86_64/linux.h: Likewise.
10368
10369 * include/grub/x86_64/setjmp.h: Likewise.
10370
10371 * include/grub/x86_64/time.h: Likewise.
10372
10373 * include/grub/x86_64/types.h: Likewise.
10374
10375 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
10376 GRUB_TARGET_SIZEOF_VOID_P.
10377
10378 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
10379 (grub_efi_locate_handle): Likewise.
10380 (grub_efi_open_protocol): Likewise.
10381 (grub_efi_set_text_mode): Likewise.
10382 (grub_efi_stall): Likewise.
10383 (grub_exit): Likewise.
10384 (grub_reboot): Likewise.
10385 (grub_halt): Likewise.
10386 (grub_efi_exit_boot_services): Likewise.
10387 (grub_get_rtc): Likewise.
10388
10389 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
10390 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
10391 (grub_efi_allocate_pages): Wrap efi calls.
10392 (grub_efi_free_pages): Wrap efi calls.
10393 (grub_efi_get_memory_map): Wrap efi calls.
10394
10395 * kern/x86_64/dl.c: New file.
10396
10397 * kern/x86_64/efi/callwrap.S: Likewise.
10398
10399 * kern/x86_64/efi/startup.S: Likewise.
10400
10401 * loader/efi/appleloader.c: Likewise.
10402
10403 * loader/efi/chainloader.c (cmdline): New variable.
10404 (grub_chainloader_unload): Wrap efi calls.
10405 (grub_chainloader_boot): Likewise.
10406 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
10407 command line.
10408
10409 * loader/efi/chainloader_normal.c (chainloader_command):
10410 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
10411 command line.
10412
10413 * loader/i386/efi/linux.c (allocate_pages): Change allocation
10414 method.
10415 (grub_e820_add_region): New function.
10416 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
10417 booting.
10418 (grub_find_video_card): New function.
10419 (grub_linux_setup_video): New function.
10420 (grub_rescue_cmd_linux): Probe for video information.
10421
10422 * normal/x86_64/setjmp.S: New file.
10423
10424 * term/efi/console.c (map_char): New function.
10425 (grub_console_putchar): Map unicode char.
10426 (grub_console_checkkey): Wrap efi calls.
10427 (grub_console_getkey): Likewise.
10428 (grub_console_getwh): Likewise.
10429 (grub_console_gotoxy): Likewise.
10430 (grub_console_cls): Likewise.
10431 (grub_console_setcolorstate): Likewise.
10432 (grub_console_setcursor): Likewise.
10433
10434 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
10435
59652a20 104362008-07-16 Pavel Roskin <proski@gnu.org>
10437
ef294055 10438 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
10439 format strings.
10440
59652a20 10441 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
10442 pointer, not an integer. This fixes a warning and prevents
10443 precision loss on 64-bit systems.
10444 (relocate_addresses): Remove unneeded cast.
10445
afc3b5d7 104462008-07-15 Pavel Roskin <proski@gnu.org>
10447
506b2b3e 10448 * kern/i386/ieee1275/init.c: Include grub/cache.h.
10449
62ead89c 10450 * term/ieee1275/ofconsole.c: Disable code unused on i386.
10451
c4cd51d7 10452 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
10453 Fix comparison between signed and unsigned.
10454
0d3d8f28 10455 * include/grub/i386/ieee1275/console.h: Declare
10456 grub_console_init() and grub_console_fini().
10457
8804b286 10458 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
10459 It's empty and unused.
10460
ee01cf35 10461 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
10462 beginning to avoid warnings with some compilers.
10463
afc3b5d7 10464 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
10465 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
10466
e4e8eaa5 104672008-07-14 Pavel Roskin <proski@gnu.org>
10468
407aceb4 10469 * kern/env.c (grub_register_variable_hook): Don't copy empty
10470 string, it leaks memory. Pass "" to grub_env_set(), it should
10471 handle constant strings.
10472
e4e8eaa5 10473 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
10474 * commands/cmp.c (grub_cmd_cmp): Likewise.
10475 * kern/dl.c (grub_dl_flush_cache): Likewise.
10476 (grub_dl_load_core): Likewise.
10477 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
10478 (grub_elf64_load_phdrs): Likewise.
10479
d4e2dad3 104802008-07-13 Pavel Roskin <proski@gnu.org>
10481
10482 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
10483 between signed and unsigned.
10484 (LzmaEnc_Finish): Fix warning about an unused parameter.
10485
aa24b516 104862008-07-13 Bean <bean123ch@gmail.com>
10487
10488 * Makefile.in (enable_lzo): New rule.
10489
10490 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
10491
10492 * configure.ac (ENABLE_LZO): New option --enable-lzo.
10493
10494 * boot/i386/pc/lnxboot.S: #include <config.h>.
10495
10496 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 10497 its value according to the compression algorithm used, lzo or lzma.
aa24b516 10498
10499 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
10500 compression algorithm according to configure macro.
10501
10502 * kern/i386/pc/startup.S (codestart): Likewise.
10503
10504 * kern/i386/pc/lzma_decode.S: New file.
10505
10506 * include/grub/lib/LzFind.h: Likewise.
10507
10508 * include/grub/lib/LzHash.h: Likewise.
10509
10510 * include/grub/lib/LzmaDec.h: Likewise.
10511
10512 * include/grub/lib/LzmaEnc.h: Likewise.
10513
10514 * include/grub/lib/LzmaTypes.h: Likewise.
10515
10516 * lib/LzFind.c: Likewise.
10517
10518 * lib/LzmaDec.c: Likewise.
10519
10520 * lib/LzmaEnc.c: Likewise.
10521
4ae821ac 105222008-07-13 Bean <bean123ch@gmail.com>
10523
10524 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
10525 (grub_ext4_extent_header): New structure.
10526 (grub_ext4_extent): Likewise.
10527 (grub_ext4_extent_idx): Likewise.
10528 (grub_ext4_find_leaf): New function.
10529 (grub_ext2_read_block): Handle extents.
10530
9a745147 105312008-07-12 Robert Millan <rmh@aybabtu.com>
10532
10533 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
10534
d49a4cf6 105352008-07-11 Robert Millan <rmh@aybabtu.com>
10536
10537 * util/grub.d/40_custom.in: New file. Example on how to add custom
10538 entries to /etc/grub.d.
10539 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
10540 40_custom (implicitly, by merging all the grub.d rules).
10541
947414b4 105422008-07-11 Pavel Roskin <proski@gnu.org>
10543
0059cf6f 10544 * commands/read.c (grub_getline): Fix invalid memory access.
10545 Don't add newline to the variable value.
10546
947414b4 10547 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
10548 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
10549 (serial_hw_get_port): Check validity of the port number.
10550 (grub_cmd_serial): Check return value of serial_hw_get_port().
10551
62a02d00 105522008-07-07 Pavel Roskin <proski@gnu.org>
10553
10554 * boot/i386/pc/diskboot.S (notification_string): Replace
10555 "Loading kernel" with just "loading". This is shorter, less
10556 confusing and saves a few bytes for possible future changes.
10557
3e5581b0 105582008-07-05 Pavel Roskin <proski@gnu.org>
10559
ea387a48 10560 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
10561 size for ATAPI devices, they are undefined. Output sector
10562 number in decimal form.
10563
3e5581b0 10564 * disk/ata.c: Use named constants for status bits.
10565
fdecb8fd 105662008-07-04 Pavel Roskin <proski@gnu.org>
10567
bcd35b90 10568 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
10569 grub_addr_t before casting it to the void pointer to fix a
10570 warning. Non-addressable regions are discarded earlier.
10571 (grub_arch_modules_addr): Cast _end to grub_addr_t.
10572 * kern/i386/linuxbios/table.c: Include grub/misc.h.
10573 (check_signature): Don't shadow table_header.
10574 (grub_linuxbios_table_iterate): Cast numeric constants to
10575 grub_linuxbios_table_header_t.
10576 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
10577 grub_stop().
10578
af58ab3d 10579 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
10580 prevent warnings.
10581
1759aa57 10582 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
10583 pointer, which can cause warnings. Support 64-bit addresses.
10584
fdecb8fd 10585 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
10586 of sizeof(long). This fixes PowerPC image generation on x86_64.
10587
8516d2a8 105882008-07-04 Robert Millan <rmh@aybabtu.com>
10589
10590 This fixes a performance issue when pc & gpt partmap iterators
10591 didn't abort iteration even after our hook found what it was
fe987087 10592 looking for (often causing expensive probes of non-existent drives).
8516d2a8 10593
10594 Some callers relied on previous buggy behaviour, since they would
34c44600 10595 raise an error when their own hooks caused early abortion of its
8516d2a8 10596 iteration.
10597
10598 * kern/device.c (grub_device_open): Improve error message.
10599 * disk/lvm.c (grub_lvm_open): Likewise.
10600 * disk/raid.c (grub_raid_open): Likewise.
10601
10602 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
10603 when hook requests it, independently of grub_errno.
10604 (pc_partition_map_probe): Do not fail when find_func() caused
10605 early abortion of pc_partition_map_iterate().
10606
10607 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
10608 when hook requests it, independently of grub_errno.
10609 (gpt_partition_map_probe): Do not fail when find_func() caused
10610 early abortion of gpt_partition_map_iterate().
10611
10612 * kern/partition.c (grub_partition_iterate): Abort parent iteration
10613 when hook requests it, independently of grub_errno. Do not fail when
10614 part_map_iterate_hook() caused early abortion of p->iterate().
10615
10616 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
10617 when grub_partition_iterate() returned with non-zero.
10618
277d0de9 106192008-07-03 Pavel Roskin <proski@gnu.org>
10620
10621 * disk/ata.c (grub_ata_pio_write): Check status before writing,
10622 like we do in grub_ata_pio_read().
10623 (grub_ata_readwrite): Always write individual sectors. Fix the
10624 sector count for the remainder.
10625 (grub_ata_write): Enable writing to ATA devices. Correctly
10626 report error for ATAPI devices.
10627
d4c9b428 106282008-07-02 Pavel Roskin <proski@gnu.org>
10629
e43fc690 10630 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
10631 warning.
10632
f707af42 10633 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
10634 for every read sector, we already increment it for the whole
10635 batch. This fixes reading more than 256 sectors at once.
10636
11e16b15 10637 * util/grub-editenv.c (cmd_info): Cast argument to long
10638 explicitly. ptrdiff_t reduces to int on i386.
10639
cbabfdd4 10640 * util/grub-editenv.c (main): Be specific which parameter is
10641 missing.
10642
b8fbce0a 10643 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
10644 (memdisk): Make memdisk_orig_addr a pointer.
10645
c9c8e606 10646 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
10647 for file offsets, use grub_off_t instead. Fix printf format
10648 warnings.
10649
ca62e598 10650 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
10651 there. Real unexpected warnings should not drown in the noise
10652 about known problems.
10653
ce8d1766 10654 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
10655 grub_disk_addr_t for memory addresses.
10656
00c7a56a 10657 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
10658 explicitly to fix a warning.
10659
08d3ef09 10660 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
10661
cb71ba20 10662 * Makefile.in (MODULE_LDFLAGS): New variable.
10663 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
10664 the linker accepts --build-id=none.
10665 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
10666 MODULE_LDFLAGS.
10667 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
10668
d4c9b428 10669 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
10670 those in Linux XFS code. Provide a way to access 64-bit parent
10671 inode.
10672 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
10673 the end of struct grub_xfs_dir_header.
10674
d4156eee 106752008-07-02 Bean <bean123ch@gmail.com>
10676
10677 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
10678 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10679 and GRUB_IEEE1275_FLAG_NO_ANSI.
10680
10681 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
10682 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10683 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
10684
10685 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
10686 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
10687
10688 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
10689 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
10690
10691 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
10692 esc sequence on non ANSI terminal.
10693 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
10694
10695 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
10696 beginning of file.
10697
2270f77b 106982008-07-02 Bean <bean123ch@gmail.com>
10699
10700 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
10701 (grub_editenv_SOURCES): New variable.
10702 (pkglib_MODULES): Add loadenv.mod.
10703 (loadenv_mod_SOURCES): New variable.
10704 (loadenv_mod_CFLAGS): Likewise.
10705 (loadenv_mod_LDFLAGS): Likewise.
10706
10707 * include/grub/envblk.h: New file.
10708
10709 * util/envblk.c: New file.
10710
10711 * util/grub-editenv.c: New file.
10712
10713 * commands/loadenv.c: New file.
10714
0e9e51ec 107152008-07-01 Pavel Roskin <proski@gnu.org>
10716
d89b7634 10717 * include/multiboot2.h (struct multiboot_tag_module): Use char,
10718 not unsigned char. This fixes warnings and is consistent with
10719 other tags.
10720
bf1835b1 10721 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
10722
8222a04b 10723 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
10724
6a42d99d 10725 * term/tparm.c (analyze): Always set *popcount.
10726
10b159d1 10727 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
10728 cast to fix a warning.
10729
b8789f6c 10730 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
10731 cast to suppress a warning.
10732
29d7e38a 10733 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
10734 grub_fshelp_read_file() expects.
10735
f341f669 10736 * fs/fat.c: Fix UUID calculation on big-endian systems. We
10737 write uuid as a 32-bit value in CPU byte order, so declare and
10738 use it as such.
10739
0e9e51ec 10740 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
10741 long if the format specifier expects it.
10742 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
10743 * partmap/pc.c (pc_partition_map_iterate): Likewise.
10744 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
10745 long to fix a warning.
10746 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
10747 grub_dprintf() arguments to fix warnings.
10748
3aefa857 107492008-06-30 Pavel Roskin <proski@gnu.org>
10750
56c7668b 10751 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
10752 install_bsd_part immediately before core.img is embedded or
10753 modified on disk. This fixes core.img verification if core.img
10754 cannot be embedded.
10755
3aefa857 10756 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
10757 core_path to calculate the blocklist.
10758 Patch from Javier Martín <lordhabbit@gmail.com>
10759
5444088d 107602008-06-29 Robert Millan <rmh@aybabtu.com>
10761
10762 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
10763 block to disk block.
10764 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
10765 Patch from Niels Böhm <bitbucket@arcor.de>
10766
674835c8 107672008-06-29 Robert Millan <rmh@aybabtu.com>
10768
10769 * util/update-grub_lib.in (font_path): Search for fonts in
10770 /boot/grub first, which is more likely to be readable (we aren't
10771 deciding where fonts live, just looking for them).
10772
f527dbc8 107732008-06-26 Pavel Roskin <proski@gnu.org>
10774
6c2d8df6 10775 * util/biosdisk.c (read_device_map): Don't leave dead map
10776 entries for devices failing stat() check.
10777
f527dbc8 10778 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
10779 core_path_dev for the core.img path on the target device.
10780
aebe3d13 107812008-06-26 Robert Millan <rmh@aybabtu.com>
10782
10783 * disk/fs_uuid.c: New file.
10784 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
10785 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
10786 (fs_uuid_mod_LDFLAGS): New variables.
10787 * include/grub/disk.h (grub_disk_dev_id): Add
10788 `GRUB_DISK_DEVICE_UUID_ID'.
10789 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
10790 implement iterate().
10791
37aaf354 107922008-06-26 Robert Millan <rmh@aybabtu.com>
10793
10794 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
10795 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
10796 Linux image includes no initrd.
10797
25ff262a 107982008-06-21 Javier Martín <lordhabbit@gmail.com>
10799
10800 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
10801 call to resolve the core image location that effectively appended the
10802 name twice.
10803
76a2bd44 108042008-06-21 Robert Millan <rmh@aybabtu.com>
10805
10806 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
10807 call from here ...
10808
10809 * util/grub.d/10_hurd.in: ... to here ...
10810 * util/grub.d/10_linux.in: ... and here.
10811
650e1c79 108122008-06-19 Robert Millan <rmh@aybabtu.com>
10813
fe987087 10814 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 10815 after it has been set by grub_machine_set_prefix().
10816
6ce63911 108172008-06-19 Robert Millan <rmh@aybabtu.com>
10818
10819 * commands/search.c (search_label, search_fs_uuid, search_file): Print
10820 search result when not saving to variable, not the other way around.
10821 When saving to variable, abort iteration as soon as a match is found.
10822
73940cec 108232008-06-19 Robert Millan <rmh@aybabtu.com>
10824
10825 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
10826 check for partition that provides /boot/grub. Its logic is flawed,
10827 as it prevents prepare_grub_to_access_device() from being called
10828 multiple times.
10829
3c62a39d 108302008-06-19 Robert Millan <rmh@aybabtu.com>
10831
10832 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
10833 "insmod" command directly when abstraction modules are needed,
fe987087 10834 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 10835 since it had already been processed).
10836
47395a42 108372008-06-19 Pavel Roskin <proski@gnu.org>
10838
10839 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
10840 changed. This is needed in case GRUB_LIBDIR changes.
10841 * conf/i386-ieee1275.rmk: Likewise.
10842 * conf/i386-linuxbios.rmk: Likewise.
10843 * conf/i386-pc.rmk: Likewise.
10844 * conf/powerpc-ieee1275.rmk: Likewise.
10845
a145ac2d 108462008-06-18 Pavel Roskin <proski@gnu.org>
10847
10848 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
10849 kernel_elf_symlist.c to symlist.c for consistency with other
10850 architectures. Update all users.
10851 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10852
7847c51e 108532008-06-18 Robert Millan <rmh@aybabtu.com>
10854
10855 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
10856 it in prefix.
10857
10858 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
10859 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
10860 a RAID device, run setup() for all members independently on whether
10861 LVM abstraction is being used.
10862 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
10863 If grub-mkimage has set `*install_dos_part == -2', don't override this
10864 value.
10865 Perform *install_dos_part adjustments independently on whether
10866 we're embedding or not.
10867 Clarify error message when image is too big for embedding.
10868 Remove duplicate *install_dos_part stanza.
10869
b23e5644 108702008-06-17 Robert Millan <rmh@aybabtu.com>
10871
10872 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
10873 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
10874 variables.
10875 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
10876 values in grub_ofconsole_normal_color and
10877 grub_ofconsole_highlight_color (they're not directly related to
10878 background and foreground).
10879 (grub_ofconsole_setcolorstate): Extract background and foreground
10880 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
10881
0aac2f79 108822008-06-17 Robert Millan <rmh@aybabtu.com>
10883
10884 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
10885 /boot/grub for the check in last commit, not /boot (they could be
10886 different partitions).
10887
3cca7ef3 108882008-06-16 Robert Millan <rmh@aybabtu.com>
10889
10890 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
10891 asked to setup access for the same partition that provides /boot,
10892 don't bother using UUIDs since our root already has the value we
10893 want.
10894
347396d8 108952008-06-16 Robert Millan <rmh@aybabtu.com>
10896
10897 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
10898 I2O devices.
10899 Patch from Sven Mueller <sven@debian.org>.
10900
991477f8 109012008-06-16 Robert Millan <rmh@aybabtu.com>
10902
10903 * util/update-grub.in: Check for $EUID instead of $UID.
10904 Reported by Vincent Zweije.
10905
d31a32a1 109062008-06-16 Bean <bean123ch@gmail.com>
10907
fe987087 10908 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 10909 (grub_ext2_read_block): Likewise.
10910 (grub_ext2_read_inode): Likewise.
10911 (grub_ext2_mount): Likewise.
10912 (grub_ext2_close): Likewise.
10913 (grub_ext3_get_journal): Removed.
10914
fe987087 10915 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 10916 (grub_reiserfs_read_symlink): Likewise.
10917 (grub_reiserfs_mount): Likewise.
10918 (grub_reiserfs_open): Likewise.
10919 (grub_reiserfs_read): Likewise.
10920 (grub_reiserfs_close): Likewise.
10921 (grub_reiserfs_get_journal): Removed.
10922
10923 * fs/fshelp.c (grub_fshelp_read): Removed.
10924 (grub_fshelp_map_block): Likewise.
10925
10926 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
10927 (grub_fshelp_journal): Likewise.
10928 (grub_fshelp_read): Likewise.
10929 (grub_fshelp_map_block): Likewise.
10930
3540a760 109312008-06-16 Pavel Roskin <proski@gnu.org>
10932
10933 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
10934 floating point anymore.
10935 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
10936
95614c84 109372008-06-15 Pavel Roskin <proski@gnu.org>
10938
10939 * commands/ls.c (grub_ls_list_files): Use integer calculations
10940 for human readable format, avoid floating point use.
10941 * kern/misc.c (grub_ftoa): Remove.
10942 (grub_vsprintf): Remove floating point support.
10943
50465dd6 109442008-06-15 Robert Millan <rmh@aybabtu.com>
10945
fe6b695a 10946 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 10947 devices.
10948 Reported by Max Vozeler.
10949
a9207284 109502008-06-15 Robert Millan <rmh@aybabtu.com>
10951
10952 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
10953 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
10954 skipped later.
10955 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
10956 the beginning of the prefix.
10957
10958 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
10959 It is assumed that if we have a memdisk, grub-mkimage has set
10960 grub_prefix to include the "(memdisk)" drive in it.
10961
a7cbd45a 109622008-06-15 Robert Millan <rmh@aybabtu.com>
10963
10964 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
10965 Initialize keyboard controller after registering the terminal, so that
10966 grub_printf() can be called from grub_keyboard_controller_init().
10967
21cf716a 109682008-06-15 Robert Millan <rmh@aybabtu.com>
10969
10970 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
10971 extent-btree which is written as big endian on disk.
10972 Reported by Alain Greppin <al@chilibi.org>.
10973
23a64d8e 109742008-06-14 Robert Millan <rmh@aybabtu.com>
10975
10976 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
10977 * util/i386/pc/grub-install.in (modules): Likewise.
10978
d687651c 109792008-06-13 Pavel Roskin <proski@gnu.org>
10980
10981 * commands/ls.c (grub_ls_list_files): Fix format warnings.
10982
dfe9ddd4 109832008-06-13 Bean <bean123ch@gmail.com>
10984
10985 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
10986
10987 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
10988
10989 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
10990 to indicate sparse block.
10991
16ae7781 109922008-06-12 Pavel Roskin <proski@gnu.org>
10993
e6d1a308 10994 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
10995 number, grub_fshelp_read() does it for us.
10996
16ae7781 10997 * fs/fshelp.c (grub_fshelp_read): New function. Implement
10998 linear disk read with journal translation.
10999 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
11000 * include/grub/fshelp.h: Declare grub_fshelp_read().
11001
40fd3a2b 110022008-06-09 Pavel Roskin <proski@gnu.org>
11003
11004 * fs/minix.c (grub_minix_mount): Handle error reading
11005 superblock.
11006
f5679726 110072008-06-08 Robert Millan <rmh@aybabtu.com>
11008
11009 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
11010 don't append the RAID prefix afterwards.
11011 Reported by Clint Adams.
11012
ce525529 110132008-06-08 Robert Millan <rmh@aybabtu.com>
11014
11015 Based on description from Pavel:
11016 * kern/disk.c (grub_disk_check_range): Rename to ...
11017 (grub_disk_adjust_range): ... this. Add a comment explaining the
11018 tasks performed by this function.
11019
ad4936a0 110202008-06-08 Robert Millan <rmh@aybabtu.com>
11021
11022 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
11023 `num_serial' (for consistency with other variables).
11024 (struct grub_ntfs_data): Add `uuid' member.
11025 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
11026 (grub_ntfs_uuid): New function.
11027 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
11028
dc20b0f9 110292008-06-07 Pavel Roskin <proski@gnu.org>
11030
11031 * util/biosdisk.c (open_device): Revert last change to the
11032 function, it broke installation. The sector needs to be
11033 different dependent on which device is opened.
11034
c5e3cfba 110352008-06-06 Robert Millan <rmh@aybabtu.com>
11036
11037 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
11038 rest of GRUB, and breakage doesn't happen if its value were modified.
11039
11040 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
11041 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
11042 a constant (same value).
11043 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
11044 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
11045
26a1f8c4 110462008-06-06 Robert Millan <rmh@aybabtu.com>
11047
11048 * util/biosdisk.c (open_device): Do not modify sector offset when
11049 accessing a partition. kern/disk.c already handles this for us.
11050
25d6b327 110512008-06-06 Robert Millan <rmh@aybabtu.com>
11052
11053 * util/grub-emu.c (grub_machine_init): Move code in this function from
11054 here ...
11055 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
11056 segfault in case grub_printf() is called).
11057
11058 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
11059 grub_probe. Update all users not to explicitly add it again.
11060 (grub_device): New variable; contains corresponding device for grubdir.
11061 (fs_module, partmap_module, devabstraction_module): Pass
11062 `--device ${grub_device}' to grub_probe to avoid traversing /dev
11063 every time.
11064
9ece62fb 110652008-06-05 Robert Millan <rmh@aybabtu.com>
11066
11067 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
11068 is found, print it (same layout as with labels).
11069
1ad36d37 110702008-06-04 Robert Millan <rmh@aybabtu.com>
11071
11072 * util/biosdisk.c (get_drive): Rename to ...
11073 (find_grub_drive): ... this. Update all users.
11074
11075 (get_os_disk): Rename to ...
11076 (convert_system_partition_to_system_disk): ... this. Update all users.
11077
11078 (find_drive): Rename to ...
11079 (find_system_device): ... this. Update all users.
11080
e6a30859 110812008-06-04 Robert Millan <rmh@aybabtu.com>
11082
11083 * util/biosdisk.c (get_os_disk): Handle IDA devices.
11084 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11085 (make_device_map): Likewise.
11086
00c108a4 110872008-06-01 Robert Millan <rmh@aybabtu.com>
11088
11089 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
11090 before dereferencing it.
11091
11092 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
11093 union with fat12/fat16-specific ones. Add some new fields, including
11094 `num_serial' for both versions.
11095 (struct grub_fat_data): Add `uuid' member.
11096 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
11097 names. Initialize `data->uuid' using `num_serial'.
11098 (grub_fat_uuid): New function.
11099 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
11100
11101 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
11102 (grub_reiserfs_uuid): New function.
11103 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
11104 member.
11105
11106 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
11107 (grub_xfs_uuid): New function.
11108 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
11109
1385c5bb 111102008-06-01 Robert Millan <rmh@aybabtu.com>
11111
11112 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
11113 code that is backward compatible with pre-uuid search command.
11114
c682dfd7 111152008-05-31 Robert Millan <rmh@aybabtu.com>
11116
11117 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
11118 floppies after everything else, to ensure floppy drive isn't accessed
11119 unnecessarily (patch from Bean).
11120
b7db5d47 111212008-05-31 Robert Millan <rmh@aybabtu.com>
11122
11123 * commands/search.c (search_label, search_fs_uuid, search_file): Do
11124 not print device names when we were asked to set a variable.
11125
6e037aa9 111262008-05-31 Robert Millan <rmh@aybabtu.com>
11127
11128 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
11129 using "cursor-on" and "cursor-off" commands (understood at least by
11130 the Open Firmware flavour on OLPC).
11131
41305bc8 111322008-05-31 Michael Gorven <michael@gorven.za.net>
11133
11134 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
11135 on and off sequences.
11136
69ba137e 111372008-05-31 Robert Millan <rmh@aybabtu.com>
11138
11139 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
11140 * util/update-grub.in: Likewise.
11141
520ae21b 111422008-05-30 Pavel Roskin <proski@gnu.org>
11143
11144 * util/biosdisk.c (linux_find_partition): Simplify logic and
11145 make the code more universal. Keep special processing for
11146 devfs, but use a simple rule for all other devices. If the
11147 device ends with a number, append 'p' and the partition number.
11148 Otherwise, append only the partition number.
11149
5786569b 111502008-05-30 Robert Millan <rmh@aybabtu.com>
11151
11152 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
11153 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
11154 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
11155 the `root' parameter to Linux.
11156
51500452 111572008-05-30 Robert Millan <rmh@aybabtu.com>
11158
11159 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
11160 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
11161 --fs_uuid with --fs-uuid.
11162 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
11163 all filesystems support them).
11164
811d3878 111652008-05-30 Robert Millan <rmh@aybabtu.com>
11166
11167 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 11168 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 11169
cab63c95 111702008-05-30 Robert Millan <rmh@aybabtu.com>
11171
11172 * util/grub.d/00_header.in: Remove obsolete comment referencing
11173 convert_system_path_to_grub_path().
11174 * util/update-grub.in: Likewise.
11175 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
11176 (convert_system_path_to_grub_path): Add a warning message explaining
11177 that this function is deprecated. Rely on is_path_readable_by_grub()
11178 for the readability checks.
11179 (font_path): Use is_path_readable_by_grub() for the readability
11180 check rather than convert_system_path_to_grub_path().
11181
972e2f7a 111822008-05-30 Robert Millan <rmh@aybabtu.com>
11183
11184 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
11185 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
11186 converting it first.
11187 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
11188 grub.cfg for access to font file, and afterwards call it again to set
11189 the root device.
11190
62191274 111912008-05-30 Robert Millan <rmh@aybabtu.com>
11192
11193 * commands/search.c (options): Add --fs_uuid option.
11194 (search_fs_uuid): New function.
11195 (grub_cmd_search): Fix --set argument passing.
11196 Use search_fs_uuid() when requested via --fs_uuid.
11197 (grub_search_init): Update help message.
11198 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
11199 and redeclare it as an array of 16-bit words.
11200 (grub_ext2_uuid): New function.
11201 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
11202 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
11203 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
11204 (GRUB_DEVICE_BOOT_UUID): New variables.
11205 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
11206 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
11207 whenever possible.
11208 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
11209 just assume `root' variable has the right value.
11210 * util/grub.d/10_linux.in: Likewise.
11211 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
11212 via PRINT_FS_UUID.
11213 (main): Recognise `-t fs_uuid' argument.
11214
01b73ec8 112152008-05-30 Robert Millan <rmh@aybabtu.com>
11216
11217 * util/biosdisk.c (map): Redefine structure to hold information
11218 about GRUB drive name.
fe6b695a 11219 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 11220 drive names.
11221 (call_hook): Remove.
11222 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
11223 member. Assume drive has partitions.
11224 (grub_util_biosdisk_open): Access device names via `.device' struct
11225 member.
11226 (open_device): Likewise.
11227 (find_drive): Likewise.
11228 (read_device_map): Adjust map[] usage to match the new struct
11229 definition. Don't check for duplicates (still possible, but not cheap
11230 anymore).
11231 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
11232 (make_device_name): Remove assumption of BIOS-like drive names.
11233
22f16596 112342008-05-30 Pavel Roskin <proski@gnu.org>
11235
11236 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
11237 compiling execute.c doesn't need grub_script.tab.h anymore.
11238 (normal/command.c_DEPENDENCIES): Likewise.
11239 (normal/function.c_DEPENDENCIES): Likewise.
11240 * conf/i386-ieee1275.rmk: Likewise.
11241 * conf/i386-linuxbios.rmk: Likewise.
11242 * conf/i386-pc.rmk: Likewise.
11243 * conf/powerpc-ieee1275.rmk: Likewise.
11244 * conf/sparc64-ieee1275.rmk: Likewise.
11245
528ad8f2 112462008-05-29 Pavel Roskin <proski@gnu.org>
11247
d1dff95d 11248 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
11249 when scanning metadata for volume group name.
11250
528ad8f2 11251 * include/grub/script.h: Don't include grub_script.tab.h. It's
11252 a generated file, which may only be included from the files with
11253 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
11254 use union YYSTYPE, as the later allows forward declaration.
11255 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
11256
47248e08 112572008-05-29 Robert Millan <rmh@aybabtu.com>
11258
11259 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
11260 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
11261 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
11262 (grub_console_checkkey): Add grub_dprintf() call to report unknown
11263 scan codes.
11264
ee632529 112652008-05-29 Robert Millan <rmh@aybabtu.com>
11266
11267 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
11268 control key combinations.
11269
eee96e08 112702008-05-29 Robert Millan <rmh@aybabtu.com>
11271
11272 * util/powerpc/ieee1275/grub-install.in: Move from here ...
11273 * util/ieee1275/grub-install.in: ... to here.
11274 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
11275 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
11276 (grub_install_SOURCES): Likewise.
11277
da9a6a94 112782008-05-29 Robert Millan <rmh@aybabtu.com>
11279
11280 * fs/affs.c: Update copyright year.
11281 * fs/ext2.c: Likewise.
11282 * fs/fshelp.c: Likewise.
11283 * fs/hfsplus.c: Likewise.
11284 * fs/ntfs.c: Likewise.
11285 * fs/xfs.c: Likewise.
11286 * include/grub/fshelp.h: Likewise.
11287 * util/grub-mkdevicemap.c: Likewise.
11288
12e65f3a 112892008-05-28 Robert Millan <rmh@aybabtu.com>
11290
11291 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
11292 might need to be fatfs to support some firmware implementations
11293 (e.g. OFW or EFI).
11294
23023641 112952008-05-28 Robert Millan <rmh@aybabtu.com>
11296
11297 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
11298 devices.
11299 * util/grub-mkdevicemap.c (get_mmc_disk_name)
11300 (make_device_map): Likewise.
11301
887d2619 113022008-05-20 Bean <bean123ch@gmail.com>
11303
11304 * fs/fshelp.c (grub_fshelp_map_block): New function.
11305 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
11306 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
11307
11308 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
11309 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
11310 (grub_fshelp_journal): New structure.
11311 (grub_fshelp_map_block): New function prototype.
11312 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
11313 (grub_fshelp_map_block): Likewise.
11314
11315 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
11316 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
11317 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
11318 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
11319 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
11320 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
11321 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
11322 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
11323 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
11324 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
11325 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
11326 (grub_ext2_sblock): New members for journal support.
11327 (grub_ext3_journal_header): New structure.
11328 (grub_ext3_journal_revoke_header): Likewise.
11329 (grub_ext3_journal_block_tag): Likewise.
11330 (grub_ext3_journal_sblock): Likewise.
11331 (grub_fshelp_node): New members logfile and journal.
11332 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
11333 grub_fshelp_map_block to get real block number.
11334 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
11335 number.
11336 (grub_ext2_read_inode): Likewise.
11337 (grub_ext3_get_journal): New function.
11338 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
11339 (grub_ext2_close): Release memory used by journal.
11340
11341 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
11342 (REISERFS_MAGIC_DESC_BLOCK): New macro.
11343 (grub_reiserfs_transaction_header): Renamed to
11344 grub_reiserfs_description_block, replace field data with real_blocks.
11345 (grub_reiserfs_commit_block): New structure.
11346 (grub_reiserfs_data): New member journal.
11347 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
11348 number.
11349 (grub_reiserfs_read_symlink): Likewise.
11350 (grub_reiserfs_iterate_dir): Likewise.
11351 (grub_reiserfs_open): Likewise.
11352 (grub_reiserfs_read): Likewise.
11353 (grub_reiserfs_get_journal): New function.
11354 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
11355 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
11356 using grub_reiserfs_get_journal.
11357 (grub_reiserfs_close): Release memory used by journal.
11358
11359 * fs/affs.c (grub_affs_read_block): Change block type to
11360 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
11361
11362 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
11363
11364 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
11365
11366 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
11367
11368 * fs/udf.c (grub_udf_read_block): Change block type to
11369 grub_disk_addr_t. Use type cast to avoid warning.
11370
11371 * fs/xfs.c (grub_xfs_read_block): Likewise.
11372
b7c6bed5 113732008-05-16 Christian Franke <franke@computer.org>
11374
11375 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
11376 to ensure that break with ESC will always work.
11377 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
11378 Remove ESC from keyboard queue.
11379
eedf167f 113802008-05-16 Christian Franke <franke@computer.org>
11381
11382 * util/biosdisk.c: [__CYGWIN__] Add includes.
11383 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
11384 (get_os_disk): Move variable declarations to OS specific
11385 parts to avoid warning.
11386 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
11387 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
11388 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
11389 Cygwin.
11390 * util/getroot.c: [__CYGWIN__] Add includes.
11391 (strip_extra_slashes): Fix "/" case.
11392 [__CYGWIN__] (get_win32_path): New function.
11393 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
11394 [__CYGWIN__] (find_root_device): Disable.
11395 [__CYGWIN__] (get_bootsec_serial): New function.
11396 [__CYGWIN__] (find_cygwin_root_device): Likewise.
11397 [__linux__] (grub_guess_root_device): Add early returns to simplify
11398 structure.
11399 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
11400 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
11401 check for Linux only.
11402
a079699e 114032008-05-15 Bean <bean123ch@gmail.com>
11404
11405 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
11406 keyboard hang problem in apple's intel mac.
11407
1cf4059a 114082008-05-09 Robert Millan <rmh@aybabtu.com>
11409
11410 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
11411 devices.
11412 * util/grub-mkdevicemap.c (get_virtio_disk_name)
11413 (make_device_map): Likewise.
11414 Reported by Aurelien Jarno <aurel32@debian.org>
11415
ed759390 114162008-05-07 Ian Campbell <ijc@hellion.org.uk>
11417
11418 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
11419 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
11420 (make_device_map): Output entries for xvd type disks.
11421
b56c4eaa 114222008-05-07 Robert Millan <rmh@aybabtu.com>
11423
11424 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
11425 devices.
11426 * util/grub-mkdevicemap.c (get_cciss_disk_name)
11427 (make_device_map): Likewise.
11428 Reported by Roland Dreier <rdreier@cisco.com>
11429
7f8866ed 114302008-05-07 Robert Millan <rmh@aybabtu.com>
11431
11432 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
11433 grub_strstr() call. Correct a few mistakes in failure path handling.
11434
b0346e0f 114352008-05-06 Robert Millan <rmh@aybabtu.com>
11436
11437 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
11438 Do not print a trailing slash (therefore, the root directory is an
11439 empty string).
11440 (convert_system_path_to_grub_path): Do not remove trailing slash
11441 from make_system_path_relative_to_its_root() output.
11442
11443 * util/i386/pc/grub-install.in: Add trailing slash to output from
11444 make_system_path_relative_to_its_root().
11445
6cf12cbd 114462008-05-06 Robert Millan <rmh@aybabtu.com>
11447
11448 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
11449 ensures that output lines aren't intermangled with those sent to
11450 stderr (via grub_util_info()).
11451 * util/grub-probe.c (grub_refresh): Likewise.
11452 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
11453
0fbb3117 114542008-05-05 Christian Franke <franke@computer.org>
11455
11456 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
11457 Add Cygwin device names.
11458 (get_ide_disk_name) [__CYGWIN__]: Likewise.
11459 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
11460 (check_device): Return error instead of success on empty name.
11461 (make_device_map): Move label inside linux specific code to
11462 prevent compiler warning.
11463
8124cdb7 114642008-04-30 Robert Millan <rmh@aybabtu.com>
11465
11466 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
11467 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
11468 first boot option.
11469 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
11470
094c01d0 114712008-04-29 Robert Millan <rmh@aybabtu.com>
11472
11473 * docs/grub.cfg: New file (example GRUB configuration).
11474
f4b1fc02 114752008-04-26 Robert Millan <rmh@aybabtu.com>
11476
329ce2a5 11477 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
11478 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
11479 and `disk/ieee1275/nand.c'.
f4b1fc02 11480
25f16ec1 114812008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 11482
25f16ec1 11483 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
11484 i386-linuxbios.
11485
11486 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
11487 change the buffer size to 4096 for cdrom device.
11488
11489 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
11490 and nand.mod.
11491 (_linux_mod_SOURCES): New variable.
11492 (_linux_mod_CFLAGS): Likewise.
11493 (_linux_mod_LDFLAGS): Likewise.
11494 (linux_mod_SOURCES): Likewise.
11495 (linux_mod_CFLAGS): Likewise.
11496 (linux_mod_LDFLAGS): Likewise.
11497 (nand_mod_SOURCES): Likewise.
11498 (nand_mod_CFLAGS): Likewise.
11499 (nand_mod_LDFLAGS): Likewise.
11500
11501 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
11502 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
11503 type property. (nand device in olpc don't have this property)
11504
11505 * include/grub/disk.h (grub_disk_dev_id): New macro
11506 GRUB_DISK_DEVICE_NAND_ID.
11507
11508 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
11509 function prototype.
11510 (grub_rescue_cmd_initrd): Likewise.
11511
11512 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
11513 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
11514 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 11515
25f16ec1 11516 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
11517 GRUB_MACHINE_IEEE1275 is defined.
11518
11519 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
11520 Use NESTED_FUNC_ATTR attribute on the hook parameter.
11521
11522 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
11523 on nested function heap_init.
11524 (grub_upper_mem): New variable for i386-ieee1275.
11525 (grub_get_extended_memory): New function for i386-ieee1275.
11526 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
11527
11528 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
11529 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
11530 property.
f19dbdb7 11531
25f16ec1 11532 * loader/i386/ieee1275/linux.c: New file.
11533
11534 * loader/i386/ieee1275/linux_normal.c: New file.
11535
11536 * disk/ieee1275/nand.c: New file.
11537
e89d61e9 115382008-04-18 Thomas Schwinge <tschwinge@gnu.org>
11539
11540 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
11541 value.
11542 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
11543
602566f6 115442008-04-18 Robert Millan <rmh@aybabtu.com>
11545
11546 Restructures early code path on ieee1275 to unify grub_main() as
11547 the first C function that is executed in every platform.
11548
11549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
11550 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
11551 cmain().
11552 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
11553 * kern/ieee1275/cmain.c (cmain): Rename to ...
11554 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
11555 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
11556 at the beginning.
11557
57490c2b 115582008-04-18 Robert Millan <rmh@aybabtu.com>
11559
11560 * util/update-grub.in: Fix syntax error when setting
11561 `GRUB_PRELOAD_MODULES'.
11562 Reported by Stephane Chazelas <stephane@artesyncp.com>
11563
1977517d 115642008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
11565
11566 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
11567 section into account, newer toolchains generate unique build ids
11568 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 11569 we want build ids to be preserved
1977517d 11570 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
11571 far from other sections don't cause the raw binary images grow
11572 size
11573
bfb1f1a2 115742008-04-15 Robert Millan <rmh@aybabtu.com>
11575
11576 * disk/lvm.c: Update copyright year.
11577 * kern/misc.c: Likewise.
11578
01979850 115792008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11580
11581 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 11582 there is no memory left for physical volume name.
01979850 11583
0a1150e2 115842008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11585
11586 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
11587 volume name mapping to support bigger than 9 character names properly.
11588
82ead3fe 115892008-04-13 Robert Millan <rmh@aybabtu.com>
11590
11591 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
11592 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
11593
e54a72f5 115942008-04-13 Christian Franke <franke@computer.org>
11595
11596 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
11597 to create a floppy emulation boot CD when non emulation mode
11598 does not work.
11599 Enable Joliet CD filesystem extension.
11600
9fe86034 116012008-04-13 Robert Millan <rmh@aybabtu.com>
11602
11603 * kern/misc.c (grub_strncat): Fix off-by-one error.
11604 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
11605
11606 * kern/env.c (grub_env_context_close): Clear current context, not
11607 previous one.
11608 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
11609
11610 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
11611
7ceeee39 116122008-04-13 Robert Millan <rmh@aybabtu.com>
11613
11614 Improve robustness when handling LVM.
11615
11616 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 11617 (and leave `*p' unmodified).
7ceeee39 11618 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
11619 through it.
11620 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
11621 iterating through it.
11622 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
11623 through it.
fe6b695a 11624 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 11625 when due) on each grub_lvm_getvalue() or grub_strstr() call.
11626 Don't assume `vg->pvs != NULL' when iterating through it.
11627
58cd3d85 116282008-04-13 Robert Millan <rmh@aybabtu.com>
11629
11630 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
11631 * genmk.rb (partmap): New variable.
11632 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
11633 (#{partmap}): New target rule.
11634 * genpartmaplist.sh: New file.
11635 * Makefile.in (pkglib_DATA): Add partmap.lst.
11636 (partmap.lst): New target rule.
11637 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
11638 modules (including all partition maps), instead of preloading them.
11639
78b51059 116402007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
11641
11642 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
11643 `linux-boot-prober' (if installed) to detect other operating
11644 systems which are installed on the computer and add them to
11645 the boot menu.
11646 * conf/common.rmk: Build and install 30_os-prober.
11647
a91627b4 116482008-04-12 Robert Millan <rmh@aybabtu.com>
11649
11650 * kern/powerpc/ieee1275/init.c: Move from here ...
11651 * kern/ieee1275/init.c: ... to here. Update all users.
11652
11653 * kern/powerpc/ieee1275/cmain.c: Move from here ...
11654 * kern/ieee1275/cmain.c: ... to here. Update all users.
11655
11656 * kern/powerpc/ieee1275/openfw.c: Move from here ...
11657 * kern/ieee1275/openfw.c: ... to here. Update all users.
11658
11659 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
11660 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
11661
322562ea 116622008-04-10 Pavel Roskin <proski@gnu.org>
11663
11664 * configure.ac: Always use "_cv_" in cache variables for
11665 compatibility with Autoconf 2.62.
11666
a02a73c5 116672008-04-07 Robert Millan <rmh@aybabtu.com>
11668
11669 Revert grub/machine/init.h addition by Pavel (since it breaks on
11670 i386-ieee1275 and others):
11671 * util/i386/pc/misc.c: Remove grub/machine/init.h.
11672 * util/powerpc/ieee1275/misc.c: Likewise.
11673
25c024b1 116742008-04-07 Robert Millan <rmh@aybabtu.com>
11675
11676 * util/grub-probe.c (probe): Improve error message.
11677
3cbd2f98 116782008-04-07 Robert Millan <rmh@aybabtu.com>
11679
11680 * util/biosdisk.c (read_device_map): Skip devices that don't exist
11681 (this prevents the presence of a bogus entry from ruining the whole
11682 thing).
11683
87a297bf 116842008-04-06 Pavel Roskin <proski@gnu.org>
11685
36747a62 11686 * util/biosdisk.c: Include grub/util/biosdisk.h.
11687 * util/grub-fstest.c (execute_command): Make static.
11688 * util/grub-mkdevicemap.c (check_device): Likewise.
11689 * util/i386/pc/misc.c: Include grub/machine/init.h.
11690 * util/powerpc/ieee1275/misc.c: Likewise.
11691 * util/lvm.c: Include grub/util/lvm.h.
11692 * util/misc.c: Include grub/kernel.h, grub/misc.h and
11693 grub/cache.h.
11694 * util/raid.c: Include grub/util/raid.h.
11695 (grub_util_getdiskname): Make static.
11696
87a297bf 11697 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
11698 grub_hostfs_fini(), as they are called from grub_init_all() and
11699 grub_fini_all() respectively. This fixes an infinite loop in
11700 grub-fstest due to double registration of hostfs.
11701 Reported by Christian Franke <Christian.Franke@t-online.de>
11702
f6ce7629 117032008-04-05 Pavel Roskin <proski@gnu.org>
11704
11705 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
11706 all 8 functions. Otherwise, probe function 0 only.
11707
070e49e4 117082008-04-04 Pavel Roskin <proski@gnu.org>
11709
8b088a4c 11710 * commands/lspci.c (grub_lspci_iter): Print the bus number
11711 correctly.
11712
4f657021 11713 * commands/lspci.c (grub_pci_classes): Fix typos.
11714 (grub_lspci_iter): Don't print func twice. Print vendor ID
11715 before device ID, as it's normally done.
11716
070e49e4 11717 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
11718 Fix signedness warnings.
11719 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
11720 Likewise.
11721 * util/ieee1275/get_disk_name.c: Include config.h so that
11722 _GNU_SOURCE is defined and getline() is declared. Mark an
11723 unused argument as such. Fix a signedness warning.
11724
ba7328dc 117252008-04-02 Pavel Roskin <proski@gnu.org>
11726
26887f22 11727 * genkernsyms.sh.in: Use more robust assignments for CC and
11728 srcdir. Quote srcdir.
11729 * gensymlist.sh.in: Likewise. Assert at the compile time that
11730 the symbol table is not empty.
11731
ba7328dc 11732 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
11733 * fs/cpio.c (grub_cpio_read): Likewise.
11734
0f582c6b 117352008-04-01 Pavel Roskin <proski@gnu.org>
11736
4b6e1995 11737 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
11738 * disk/host.c (grub_host_open): Likewise.
11739 * disk/loopback.c (grub_loopback_open): Likewise.
11740 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
11741 disk->id as in disk/host.c, not a multi-character constant.
11742
828a2768 11743 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
11744 later is obsolete, potentially dangerous and sets a bad example.
11745 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
11746 * util/misc.c (grub_util_get_image_size): Likewise.
11747
2bb4fb47 11748 * disk/loopback.c (options): Improve help for "--partitions".
11749
0f582c6b 11750 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
11751 options to align them with the short options, e.g. "echo -e".
11752
a33224e0 117532008-03-31 Bean <bean123ch@gmail.com>
11754
11755 * video/reader/png.c (grub_png_data): New member is_16bit and
11756 image_data.
11757 (grub_png_decode_image_header): Detect 16 bit png image.
11758 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
11759 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
11760 (grub_video_reader_png): Release memory occupied by image_data.
11761
11762 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
11763 4096 bytes.
11764 (grub_nfs_mount): Skip the test for sector per cluster.
11765
11766 * include/grub/ntfs.h (MAX_SPC): Removed.
11767
86cb4f54 117682008-03-31 Bean <bean123ch@gmail.com>
11769
11770 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
11771 (grub_probe_SOURCES): Add fs/afs.c.
11772 (grub_fstest_SOURCES): Likewise.
11773 (afs_mod_SOURCES): New variable.
11774 (afs_mod_CFLAGS): Likewise.
11775 (afs_mod_LDFLAGS): Likewise.
11776
11777 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
11778 (grub_emu_SOURCES): Likewise.
11779
11780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11781
11782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11783
11784 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11785
11786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11787
11788 * fs/afs.c: New file.
11789
17c74c21 117902008-03-30 Pavel Roskin <proski@gnu.org>
11791
4cb68e89 11792 * disk/host.c: Include grub/misc.h to fix a warning.
11793 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
11794 warnings about implicit declarations.
11795
8790bb04 11796 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
11797 variable.
11798 * include/grub/i386/loader.h: Change declaration of
11799 grub_linux_boot() to match what grub_loader_set() expects.
11800 * util/getroot.c (grub_guess_root_device): Return const char* to
11801 fix a warning.
11802 * util/grub-probe.c (probe): Fix a warning about uninitialized
11803 abstraction_name variable.
11804 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
11805 second argument as unused to fix a warning.
11806
9a3f3296 11807 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
11808 missing grub_error() call.
11809
0ecef90d 11810 * util/update-grub_lib.in: Define datarootdir, since Autoconf
11811 2.60 and newer uses it to define datadir.
11812
0bf6d401 11813 * commands/sleep.c: Fix warning about implicit declaration.
11814 * disk/memdisk.c: Likewise.
11815 * loader/aout.c: Likewise.
11816 * loader/i386/bsd_normal.c: Likewise.
11817 * util/grub-probe.c: Likewise.
11818
7cdacf97 11819 * commands/i386/cpuid.c (has_longmode): Make static.
11820 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
11821 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
11822
17c74c21 11823 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
11824 GDT. This is more robust, as %ds can change.
11825 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
11826 calling real_to_prot().
11827 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
11828
80a3e68b 118292008-03-28 Pavel Roskin <proski@gnu.org>
11830
11831 * kern/i386/pc/startup.S: Assert that uncompressed functions
11832 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
11833 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
11834 code, as they push parts of the code (error handlers) beyond
11835 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
11836 code as correctness and size.
11837
77bcd272 118382008-03-28 Pavel Roskin <proski@gnu.org>
11839
11840 * kern/i386/pc/startup.S
11841 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
11842 data block address to the real mode, keep offset minimal. This
11843 works around a bug in AWARD BIOS on old Athlon systems, which
11844 makes CD detection hang.
11845
c5dfd43b 118462008-03-26 Pavel Roskin <proski@gnu.org>
11847
11848 * normal/color.c (grub_parse_color_name_pair): Make `name' a
11849 const.
11850 * include/grub/normal.h: Add grub_parse_color_name_pair()
11851 declaration.
11852
bf962df2 118532008-03-24 Bean <bean123ch@gmail.com>
11854
11855 * disk/i386/pc/biosdisk.c (cd_start): Removed.
11856 (cd_count): Removed.
11857 (cd_drive): New variable.
11858 (grub_biosdisk_get_drive): Don't check for (cdN) device.
11859 (grub_biosdisk_call_hook): Likewise.
11860 (grub_biosdisk_iterate): Change cdrom detection method.
11861 (grub_biosdisk_open): Replace cd_start with cd_drive.
11862 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
11863 detect cdrom device.
11864
11865 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
11866 Removed.
11867 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
11868 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
11869 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
11870 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
11871 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
11872 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
11873 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
11874 (grub_biosdisk_cdrp): New structure.
11875 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
11876
11877 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
11878
11879 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
11880 device.
11881
11882 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
11883 New function.
11884
68e7fc7a 118852008-03-20 Robert Millan <rmh@aybabtu.com>
11886
11887 Remove 2 TiB limit in ata.mod.
11888 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
11889 (grub_ata_dumpinfo): Print sector count with 0x%llx.
11890 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
11891 grub_uint64_t instead of grub_uint32_t.
11892
38ad2cf5 118932008-03-05 Bean <bean123ch@gmail.com>
11894
11895 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
11896 (grub_multiboot): Set boot device.
11897
11898 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
11899
2b89344e 119002008-03-02 Bean <bean123ch@gmail.com>
11901
11902 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
11903 symlink_buffer.
11904
87a95d1f 119052008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
11906
11907 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
11908 texinfo.tex.
11909
11910 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
11911 modified.
11912
11913 * docs/fdl.texi: New file.
f19dbdb7 11914
87a95d1f 11915 * docs/mdate-sh: New file. Copied from gnulib.
11916 * docs/texinfo.tex: Likewise.
11917
11918 * config.guess: Updated from gnulib.
11919 * install-sh: Likewise.
11920
7dc15d8e 119212008-02-28 Robert Millan <rmh@aybabtu.com>
11922
11923 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
11924 (aout_mod_SOURCES): New variable.
11925 (aout_mod_CFLAGS): Likewise.
11926 (aout_mod_LDFLAGS): Likewise.
11927
11928 * conf/i386-ieee1275.rmk: Likewise.
11929
b00ab696 119302008-02-28 Robert Millan <rmh@aybabtu.com>
11931
11932 * util/update-grub.in: Reorganise terminal validity check. Accept
11933 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
11934 Based on suggestion by Franklin PIAT.
11935
79ca2d78 119362008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
11937
11938 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
11939 function.
11940 * util/getroot.c (grub_util_check_block_device): New function that
11941 returns the given argument if it is a block device and returns NULL else.
11942 * util/grub-probe.c (argument_is_device): New variable.
11943 (probe): Promote device_name from a variable to an argument. Receive
11944 device_name from grub_util_check_block_device() if path is NULL and from
11945 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 11946 (options): Introduce new parameter '-d, --device'.
79ca2d78 11947 (main): Add description of the new parameter to the help screen.
11948 Rename path variable to argument. Set argument_is_device if the '-d'
11949 option is given. Pass argument to probe() depending on
11950 argument_is_device.
11951
0d16e571 119522008-02-24 Bean <bean123ch@gmail.com>
11953
11954 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
11955 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
11956 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
11957 (GRUB_ISO9660_VOLDESC_PART): Likewise.
11958 (GRUB_ISO9660_VOLDESC_END): Likewise.
11959 (grub_iso9660_primary_voldesc): New member escape.
11960 (grub_iso9660_data): New member joliet.
11961 (grub_iso9660_convert_string): New function.
11962 (grub_iso9660_mount): Detect joliet extension.
11963 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
11964 (grub_iso9660_iso9660_label): Likewise.
11965
11966 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
11967 (grub_setup_SOURCES): Add fs/udf.c.
11968 (grub_fstest_SOURCES): Likewise.
11969 (udf_mod_SOURCES): New variable.
11970 (udf_mod_CFLAGS): Likewise.
11971 (udf_mod_LDFLAGS): Likewise.
11972
11973 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
11974 (grub_emu_SOURCES): Likewise.
11975
11976 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11977
11978 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11979
11980 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11981
11982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11983
11984 * fs/udf.c: New file.
11985
8a594a17 119862008-02-24 Robert Millan <rmh@aybabtu.com>
11987
11988 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
11989 (normal/lexer.c_DEPENDENCIES): New variables.
11990 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11991 (normal/lexer.c_DEPENDENCIES): Likewise.
11992 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
11993 (normal/lexer.c_DEPENDENCIES): Likewise.
11994 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
11995 (normal/lexer.c_DEPENDENCIES): Likewise.
11996 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11997 (normal/lexer.c_DEPENDENCIES): Likewise.
11998 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11999 (normal/lexer.c_DEPENDENCIES): Likewise.
12000
2dc33c03 120012008-02-23 Robert Millan <rmh@aybabtu.com>
12002
12003 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
12004 since they were intended to be in hex. This didn't break previously
12005 because of a bug in gpt_partition_map_iterate() (see below).
12006
12007 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
12008 when checking the validity of GPT header.
12009 Remove `partno', since it always provides the same information as `i'.
12010
f6f4cfb0 120112008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
12012
12013 * include/grub/efi/time.h: Fix a wrong comment.
12014
79ff665f 120152008-02-19 Pavel Roskin <proski@gnu.org>
12016
12017 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
12018 message.
12019
d38e24c2 120202008-02-19 Bean <bean123ch@gmail.com>
12021
12022 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
12023 (aout_mod_SOURCES): New variable.
12024 (aout_mod_CFLAGS): Likewise.
12025 (aout_mod_LDFLAGS): Likewise.
12026 (_bsd_mod_SOURCES): New variable.
12027 (_bsd_mod_CFLAGS): Likewise.
12028 (_bsd_mod_LDFLAGS): Likewise.
12029 (bsd_mod_SOURCES): New variable.
12030 (bsd_mod_CFLAGS): Likewise.
12031 (bsd_mod_LDFLAGS): Likewise.
12032
12033 * include/grub/aout.h: New file.
12034
12035 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
12036
12037 * include/grub/i386/bsd.h: New file.
12038
12039 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
12040 to make it public.
12041
12042 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
12043 function is called, so that it's possible to change it inside the hook.
12044 (grub_elf64_load): Likewise.
12045 (grub_elf_file): Don't close the file if elf header is not found.
12046 (grub_elf_close): Close the file if grub_elf_file fails (The new
12047 grub_elf_file won't close it).
12048 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
12049 (grub_elf64_size): Likewise.
12050
12051 * kern/i386/loader.S (grub_unix_real_boot): New function.
12052
12053 * loader/aout.c: New file.
12054
12055 * loader/i386/bsd.c: New file.
12056
12057 * loader/i386/bsd_normal.c: New file.
12058
12059 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
12060
12061 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 12062 can test other formats.
d38e24c2 12063
b93bdb0f 120642008-02-19 Robert Millan <rmh@aybabtu.com>
12065
12066 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
12067 (grub_gpt_partition_type_empty): Redefine with macro from
12068 `<grub/gpt_partition.h>'.
12069 (gpt_partition_map_iterate): Adjust partition type comparison.
12070
12071 Export `entry' as partmap-specific `part.data' struct.
12072 (grub_gpt_header, grub_gpt_partentry): Move from here ...
12073
12074 * include/grub/gpt_partition.h (grub_gpt_header)
12075 (grub_gpt_partentry): ... to here (new file).
12076
12077 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
12078
12079 (grub_gpt_partition_type_bios_boot): New const variable, defined
12080 with macro from `<grub/gpt_partition.h>'.
12081
12082 (setup): Replace `first_start' with `embed_region', which keeps
12083 track of the embed region (and is partmap-agnostic).
12084
12085 Replace find_first_partition_start() with find_usable_region(),
12086 which finds a usable region for embedding using partmap-specific
12087 knowledge (supports PC/MSDOS and GPT).
12088
12089 Fix all assumptions that the embed region start at sector 1, using
12090 `embed_region.start' from now on. Similarly, use `embed_region.end'
12091 rather than `first_start' to calculate available size.
12092
12093 In grub_util_info() message, replace "into after the MBR" with an
12094 indication of the specific sector our embed region starts at.
12095
66cb40f6 120962008-02-19 Robert Millan <rmh@aybabtu.com>
12097
12098 * DISTLIST: Replace `commands/ieee1275/halt.c' and
12099 `commands/ieee1275/reboot.c' with `commands/halt.c' and
12100 `commands/reboot.c'.
12101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12102 (halt_mod_SOURCES): Likewise.
12103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
12104 (halt_mod_SOURCES): Likewise.
12105
b7202015 121062008-02-17 Christian Franke <franke@computer.org>
12107
12108 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
12109
32b0fc49 121102008-02-17 Robert Millan <rmh@aybabtu.com>
12111
12112 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12113 set `first_start' to 0 for non-PC/MSDOS partition maps.
12114
aca63502 121152008-02-16 Robert Millan <rmh@aybabtu.com>
12116
12117 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
12118 do not assume partition map is PC/MSDOS before performing checks that
12119 are specific to that layout.
12120
0de8be86 121212008-02-13 Robert Millan <rmh@aybabtu.com>
12122
12123 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
12124 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
12125 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
12126
c3db8364 121272008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
12128
12129 * configure.ac: Only a cosmetic change on the handling of
12130 -fno-stack-protector.
12131
f714229e 121322008-02-12 Alexandre Boeglin <alex@boeglin.org>
12133
c3db8364 12134 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
12135 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
12136 reboot.c.
f714229e 12137 (grub_install_SOURCES): Add halt.mod and reboot.mod.
12138 (halt_mod_SOURCES): New variable.
12139 (halt_mod_CFLAGS): Likewise.
12140 (halt_mod_LDFLAGS): Likewise.
12141 (reboot_mod_SOURCES): Likewise.
12142 (reboot_mod_CFLAGS): Likewise.
12143 (reboot_mod_LDFLAGS): Likewise.
12144
c3db8364 12145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
12146 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
12147 reboot.c.
f714229e 12148 (halt_mod_SOURCES): Likewise.
12149 (reboot_mod_SOURCES): Likewise.
12150
c3db8364 12151 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
12152 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 12153 (reboot_mod_SOURCES): Likewise.
12154
12155 * commands/i386/pc/reboot.c: merge this file ...
12156
12157 * commands/ieee1275/reboot.c: ... and this file ...
12158
12159 * commands/reboot.c: ... to this file.
c3db8364 12160 Add some precompiler directive to include the correct header for
12161 each machine.
f714229e 12162
12163 * commands/ieee1275/halt.c: move this file ...
12164
12165 * commands/halt.c: ... to here.
c3db8364 12166 Add some precompiler directive to include the correct header for
12167 each machine.
f714229e 12168
12169 * include/grub/efi/efi.h (grub_reboot): New function declaration.
12170 (grub_halt): Likewise.
12171
12172 * kern/efi/efi.c (grub_reboot): New function.
12173 (grub_halt): Likewise.
12174
c74493e0 121752008-02-12 Robert Millan <rmh@aybabtu.com>
12176
12177 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
12178 /dev (like it is done for /dev/mapper). This doesn't provide support
12179 for EVMS, but at least it is now easy to identify the problem when it
12180 arises.
12181
d0db4b04 121822008-02-11 Robert Millan <rmh@aybabtu.com>
12183
12184 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
12185 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
12186 comparing it with -1, not 0.
12187
bf748642 121882008-02-10 Robert Millan <rmh@aybabtu.com>
12189
12190 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
12191 `disk/lvm.c'.
12192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12193 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12194
12195 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
12196 `disk/lvm.c' to the end of the list.
12197 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12198 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12199
b5db202a 122002008-02-10 Robert Millan <rmh@aybabtu.com>
12201
12202 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
12203 grub_print_error() instead. This will let user know why we're entering
12204 rescue mode.
12205 Based on suggestions from Sam Morris.
12206
83abee31 122072008-02-10 Alexandre Boeglin <alex@boeglin.org>
12208
12209 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
12210 on remaining N args, instead of "--" arg N times.
12211
78d5a08b 122122008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
12213
12214 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
12215 (fill_with_default_glyph): Changed to use unknown_glyph for fill
12216 pattern for unknown glyphs.
12217
68807e5f 122182008-02-09 Robert Millan <rmh@aybabtu.com>
12219
12220 * configure.ac: Probe for `help2man'.
12221 * Makefile.in (builddir): New variable.
12222 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
12223 or otherwise add a few flags/options to it.
12224 (install-local): For every executable utility or script that is
12225 installed, invoke $(HELP2MAN) to install a manpage based on --help
12226 output.
12227
12228 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
12229 that it doesn't prevent --help from working in build tree.
12230
12231 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
12232 with `bug-grub@gnu.org'.
12233 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
12234 * util/update-grub.in (usage): New function.
12235 Implement proper argument check, with support for --help and --version
12236 (as well as existing -y).
12237
122382008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 12239
12240 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
12241 avoid overwriting previous output.
12242 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
12243
c1962162 122442008-02-09 Robert Millan <rmh@aybabtu.com>
12245
12246 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
12247 drawing the menu.
12248
3dac2e3f 122492008-02-09 Robert Millan <rmh@aybabtu.com>
12250
12251 * commands/sleep.c: New file.
12252 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
12253 (sleep_mod_SOURCES): New variable.
12254 (sleep_mod_CFLAGS): Likewise.
12255 (sleep_mod_LDFLAGS): Likewise.
12256
7a634e08 122572008-02-09 Robert Millan <rmh@aybabtu.com>
12258
12259 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
12260 situations in which we can deduce the RAID size and the superblock
12261 doesn't match it.
12262
b92f0c18 122632008-02-09 Robert Millan <rmh@aybabtu.com>
12264
12265 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
12266 and return a grub_diskmemberlist_t composed of LVM physical volumes.
12267 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
12268
12269 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
12270 and return a grub_diskmemberlist_t composed of physical array members.
12271 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
12272
12273 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
12274 prototype.
12275 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
12276 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
12277 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
12278
12279 * util/grub-probe.c (probe): Move partmap probing code from here ...
12280 (probe_partmap): ... to here.
12281 (probe): Use probe_partmap() once for the disk we're probing, and
12282 additionally, when such disk contains a memberlist() struct member,
12283 once for each disk that is contained in the structure returned by
12284 memberlist().
12285
91a4bf68 122862008-02-09 Robert Millan <rmh@aybabtu.com>
12287
12288 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
12289 environment variable to 'all' in order to obtain debug output from
12290 non-util/ code.
12291 * util/i386/pc/grub-setup.c (main): Likewise.
12292
a96f9caa 122932008-02-08 Robert Millan <rmh@aybabtu.com>
12294
12295 * disk/raid.c (grub_raid_scan_device): Check for
12296 `array->device[sb.this_disk.number]' rather than for
12297 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 12298 guaranteed to be accessible.
a96f9caa 12299
b37a9222 123002008-02-08 Robert Millan <rmh@aybabtu.com>
12301
12302 * disk/raid.c: Update copyright.
12303 * fs/cpio.c: Likewise.
12304 * include/grub/raid.h: Likewise.
12305 * loader/i386/pc/multiboot.c: Likewise.
12306 * util/hostfs.c: Likewise.
12307
5626aee1 123082008-02-08 Robert Millan <rmh@aybabtu.com>
12309
12310 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
12311 to a grub_disk_t array.
12312 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
12313 `device[x]'.
12314 (grub_raid_scan_device): Replace `device[x].name' accesses with
12315 `device[x]->name'. Simplify initialization of `array->device[x]'.
12316
554f0187 123172008-02-08 Robert Millan <rmh@aybabtu.com>
12318
12319 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
12320 grub_dprintf() calls.
12321 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
12322 error message.
12323
1ec8425d 123242008-02-07 Christian Franke <franke@computer.org>
12325
12326 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
12327 instead of fseek and ftell to support large files.
12328 (grub_hostfs_read): Likewise.
12329
f2156fda 123302008-02-07 Robert Millan <rmh@aybabtu.com>
12331
12332 Patch from Jeroen Dekkers.
12333 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 12334 failure, since successfully reading all array members might not be
f2156fda 12335 required.
12336
9216e0e7 123372008-02-06 Robert Millan <rmh@aybabtu.com>
12338
12339 * util/grub-probe.c (probe): Simplify partmap probing (with the
12340 assumption that the first word up to the underscore equals to
12341 the module name).
12342
b0dfd29a 123432008-02-06 Christian Franke <franke@computer.org>
12344
12345 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
12346 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
12347 last block of a cpio or tar stream.
12348 Check for "TRAILER!!!" instead of any empty data
12349 block to detect last block of a cpio stream.
12350 (grub_cpio_dir): Fix constness of variable np.
12351 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
12352 cpio or tar trailer is detected. This fixes a crash
12353 on open of a non existing file.
12354
c32865bf 123552008-02-05 Bean <bean123ch@gmail.com>
12356
12357 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
12358 address of entry.
12359 (grub_multiboot_load_elf64): Likewise.
12360 (grub_multiboot): Initialize mbi structure.
12361
12362 * util/grub-fstest.c: Don't include unused header file script.h.
12363
fe6b695a 12364 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 12365 of file.
12366 (grub_fstest_SOURCES): Likewise.
12367
409480b7 123682008-02-05 Robert Millan <rmh@aybabtu.com>
12369
12370 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
12371 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
12372 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
12373 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
12374
12375 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
12376 (translation_table): Replace hardcoded values with macros
12377 provided by `<grub/term.h>'.
12378
12379 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
12380 (keyboard_map): Correct/add a few values, with macros provided
12381 by `<grub/term.h>'.
12382 (keyboard_map_shift): Zero values that don't differ from their
12383 `keyboard_map' equivalents.
12384 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
12385 Discard the second scan code that is always sent by Caps lock.
12386 Only use `keyboard_map_shift' when it provides a non-zero value,
12387 otherwise fallback to `keyboard_map'.
12388
99fadbaa 123892008-02-04 Bean <bean123ch@gmail.com>
12390
12391 * Makefile.in (enable_grub_fstest): New variable.
12392
12393 * conf/common.rmk (grub_fstest_init.lst): New rule.
12394 (grub_fstest_init.h): Likewise.
12395 (grub_fstest_init.c): Likewise.
12396 (util/grub-fstest.c_DEPENDENCIES): New variable.
12397 (grub_fstest_SOURCES): Likewise.
12398
12399 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
12400
12401 * util/grub-fstest.c: New file.
12402
bf567c50 124032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12404
12405 Make grub-setup handle a separate root device.
f19dbdb7 12406
bf567c50 12407 * util/i386/pc/grub-setup.c (setup): Always open the root device,
12408 so that the root device can be compared with the destination
12409 device.
12410 When embedding the core image, if the root and destination devices
12411 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
12412 0xFF.
12413 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 12414
9be6b98b 124152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12416
12417 Add support for having a grub directory in a different drive. This
12418 is still only the data handling part.
f19dbdb7 12419
9be6b98b 12420 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
12421 (codestart): Save %dh in GRUB_ROOT_DRIVE.
12422 (grub_root_drive): New variable.
12423
12424 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
12425 instead of GRUB_BOOT_DRIVE to construct a device name. Set
12426 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
12427 as it was.
12428
12429 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
12430
12431 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
12432 macro.
12433 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
12434
12435 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
12436 is bogus, because PXE booting does not specify any drive
12437 correctly.
12438
12439 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
12440 am not sure if this is really correct.
12441
12442 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
12443 is always identical to the boot drive when booting from a CD.
12444
12445 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
12446 longer.
12447 (root_drive): New variable.
12448 (real_start): Unconditionally set %dh to ROOT_DRIVE.
12449 (setup_sectors): Push %dx right after popping it, because %dh will
12450 be modified later.
12451 (copy_buffer): Restore %dx.
12452
e0ca0677 124532008-02-03 Robert Millan <rmh@aybabtu.com>
12454
12455 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
12456 use `cdboot.img' for cdrom images.
12457
3b3f6629 124582008-02-03 Robert Millan <rmh@aybabtu.com>
12459
12460 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
12461 only setup gfxterm when `font' command has succeeded.
12462
d42b3672 124632008-02-03 Robert Millan <rmh@aybabtu.com>
12464
12465 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
12466 (grub_rescue_cmd_multiboot_loader)
12467 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
12468
fa370ea6 124692008-02-03 Pavel Roskin <proski@gnu.org>
12470
e0c5dacb 12471 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 12472 %edx and %esi from stack only after grub_gate_a20() is called.
12473 grub_gate_a20() clobbers %edx.
12474
f2a76e1d 124752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
12476
12477 * configure.ac (AC_INIT): Bumped to 1.96.
12478
12479 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
12480 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
12481 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
12482 video/readers/png.c.
12483
90fd32d1 124842008-02-03 Bean <bean123ch@gmail.com>
9be665dd 12485
12486 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
12487 (cdboot_img_SOURCES): New variable.
12488 (cdboot_img_ASFLAGS): New variable.
12489 (cdboot_img_LDFLAGS): New variable.
12490
12491 * boot/i386/pc/cdboot.S: New file.
12492
12493 * disk/i386/pc/biosdisk.c (cd_start): New variable.
12494 (cd_count): Likewise.
12495 (grub_biosdisk_get_drive): Add support for cd device.
12496 (grub_biosdisk_call_hook): Likewise.
12497 (grub_biosdisk_iterate): Likewise.
12498 (grub_biosdisk_open): Likewise.
12499 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
12500 (grub_biosdisk_rw): Support reading from cd device.
12501 (GRUB_MOD_INIT): Iterate cd devices.
12502
12503 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
12504 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
12505 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
12506
12507 * kern/i386/pc/init.c (make_install_device): Check for cd device.
12508
4020aa53 125092008-02-02 Robert Millan <rmh@aybabtu.com>
12510
12511 * commands/read.c: New file.
12512 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
12513 (read_mod_SOURCES): New variable.
12514 (read_mod_CFLAGS): Likewise.
12515 (read_mod_LDFLAGS): Likewise.
12516
e03a1132 125172008-02-02 Robert Millan <rmh@aybabtu.com>
12518
12519 * normal/main.c (grub_normal_execute): Check for `menu->size' when
12520 determining whether menu has to be displayed.
12521
58c69220 125222008-02-02 Marco Gerards <marco@gnu.org>
12523
12524 * bus/pci.c: New file.
12525
12526 * include/grub/pci.h: Likewise.
12527
12528 * include/grub/i386/pc/pci.h: Likewise.
12529
12530 * commands/lspci.c: Likewise.
12531
12532 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
12533 `lspci.mod'.
12534 (pci_mod_SOURCES): New variable.
12535 (pci_mod_CFLAGS): Likewise.
12536 (pci_mod_LDFLAGS): Likewise.
12537 (lspci_mod_SOURCES): Likewise.
12538 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 12539 (lspci_mod_LDFLAGS): Likewise.
58c69220 12540
c004e1b4 125412008-02-02 Bean <bean123ch@gmail.com>
12542
12543 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
12544 (grub_ufs_get_file_block): Fix indirect block calculation problem.
12545
12546 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
12547 (grub_xfs_btree_node): New structure.
12548 (grub_xfs_btree_root): New structure.
12549 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
12550 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
12551 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12552 (GRUB_XFS_EXTENT_SIZE): Likewise.
12553 (grub_xfs_read_block): Support btree format type.
12554 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
12555 Use directory block as basic unit.
12556
12557 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
12558
12559 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
12560 __attribute__ ((__regparm__ (1))).
12561
f95562bf 125622008-02-01 Robert Millan <rmh@aybabtu.com>
12563
12564 Correct a mistake in previous commit.
12565
12566 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
12567 top.
12568 (normal/command.c_DEPENDENCIES): New variable.
12569
7d31f41f 125702008-02-01 Robert Millan <rmh@aybabtu.com>
12571
12572 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
12573 top.
12574 (normal/command.c_DEPENDENCIES): New variable.
12575 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
12576 * conf/i386-ieee1275.rmk: Likewise.
12577 * conf/i386-linuxbios.rmk: Likewise.
12578 * conf/i386-pc.rmk: Likewise.
12579 * conf/sparc64-ieee1275.rmk: Likewise.
12580 * conf/powerpc-ieee1275.rmk: Likewise.
12581 (grub_emu_SOURCES): Add `fs/fshelp.c'.
12582
12583 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
12584
60b6be74 125852008-02-01 Robert Millan <rmh@aybabtu.com>
12586
12587 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
12588 call at beginning of function.
12589
078522ab 125902008-01-31 Pavel Roskin <proski@gnu.org>
12591
12592 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 12593 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
12594 (grub_mkrescue_SOURCES): Likewise.
078522ab 12595 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
12596
ccaa8a5f 125972008-01-30 Robert Millan <rmh@aybabtu.com>
12598
12599 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
12600 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
12601 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
12602 (grub_probe_SOURCES): ... to here.
12603
12604 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
12605 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
12606 * conf/i386-ieee1275.rmk: Likewise.
12607 * conf/i386-linuxbios.rmk: Likewise.
12608 * conf/powerpc-ieee1275.rmk: Likewise.
12609
ae5a9cd7 126102008-01-30 Tristan Gingold <gingold@free.fr>
12611
12612 * kern/rescue.c: Silently accept empty lines.
12613
70bc2ef2 126142008-01-29 Bean <bean123ch@gmail.com>
12615
12616 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
12617 (real_code_2): Code cleanup and change comment style.
12618 (move_memory): Avoid using 32-bit address mode.
12619
6a4d50ea 126202008-01-29 Bean <bean123ch@gmail.com>
12621
12622 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
12623 (png_mod_SOURCES): New variable.
12624 (png_mod_CFLAGS): Likewise.
12625 (png_mod_LDFLAGS): Likewise.
12626
12627 * video/readers/png.c: New file.
12628
11cc30ac 126292008-01-28 Robert Millan <rmh@aybabtu.com>
12630
12631 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
12632 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
12633 `ifndef GRUB_MOD_GAP' hack.
12634 * util/elf/grub-mkimage.c (add_segments): Likewise.
12635
3abc589f 126362008-01-27 Robert Millan <rmh@aybabtu.com>
12637
12638 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
12639 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 12640 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 12641
e1907778 126422008-01-27 Robert Millan <rmh@aybabtu.com>
12643
12644 Get grub-emu to build again (including parallel builds).
12645
12646 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
12647 Split into ...
12648 (util/grub-emu.c_DEPENDENCIES): ... this, ...
12649 (normal/execute.c_DEPENDENCIES): ... this, ...
12650 (grub-emu_DEPENDENCIES): ... and this.
12651
12652 * conf/i386-efi.rmk: Likewise.
12653 * conf/i386-linuxbios.rmk: Likewise.
12654 * conf/i386-ieee1275.rmk: Likewise.
12655 * conf/powerpc-ieee1275.rmk: Likewise.
12656 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
12657
2216b101 126582008-01-27 Robert Millan <rmh@aybabtu.com>
12659
12660 * NEWS: Add a few items.
12661
f75172d9 126622008-01-27 Robert Millan <rmh@aybabtu.com>
12663
12664 Fix parallel builds with grub-emu. Based on earlier commit for
12665 grub-probe and grub-setup.
12666
12667 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12668 (util/grub-emu.c_DEPENDENCIES): ... this.
12669 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12670 (util/grub-emu.c_DEPENDENCIES): ... this.
12671 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12672 (util/grub-emu.c_DEPENDENCIES): ... this.
12673 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12674 (util/grub-emu.c_DEPENDENCIES): ... this.
12675 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12676 (util/grub-emu.c_DEPENDENCIES): ... this.
12677
3f51de77 126782008-01-27 Pavel Roskin <proski@gnu.org>
12679
12680 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
12681 to create a gap between _end and the modules added to the image
12682 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
12683 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
12684 * util/elf/grub-mkimage.c (add_segments): Likewise.
12685
2033f53e 126862008-01-26 Pavel Roskin <proski@gnu.org>
12687
12688 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
12689 just return an error.
12690
22da1f6f 126912008-01-26 Bean <bean123ch@gmail.com>
12692
12693 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
12694 (grub_reiserfs_get_item): Save offset of the next item.
12695 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
12696
2a9525e6 126972008-01-25 Robert Millan <rmh@aybabtu.com>
12698
12699 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
12700 make all filesystem sources appear together (possibly fixing omissions
12701 while at it).
12702 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12704 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12706
12707 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
12708 add `kern/file.c'.
12709 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
12710 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12711 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
12712 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12713
12714 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
12715 (probe): Add a sanity check to make sure of our ability to read
12716 requested files when probing for filesystem type.
12717
12718 * genmk.rb: Update copyright year (2007).
12719
12720 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
12721 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
12722 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
12723 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
12724 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
12725 : Remove function prototypes.
12726
b95f71b5 127272008-01-25 Robert Millan <rmh@aybabtu.com>
12728
12729 Revert my previous commits (based on wrong assumption of how grub_errno
12730 works).
12731
fe6b695a 12732 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 12733 * kern/file.c (grub_file_open): Likewise.
12734
d08bbb49 127352008-01-24 Pavel Roskin <proski@gnu.org>
12736
12737 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
12738 that hang if GRUB tries to setup colors.
12739 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
12740 colors for firmwares that don't support it.
12741 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
12742 Recognize Open Hack'Ware, set flags to work around its
12743 limitations.
12744
605e36ed 127452008-01-24 Robert Millan <rmh@aybabtu.com>
12746
12747 * kern/file.c (grub_file_open): Do not account previous failures of
12748 unrelated functions when grub_errno is checked for.
12749 Reported by Oleg Strikov.
12750
bac332a1 127512008-01-24 Bean <bean123ch@gmail.com>
12752
12753 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
12754 (grub_ufs_sblock): New member volume name.
12755 (grub_ufs_find_file): Fix string copy bug.
12756 (grub_ufs_label): Implement this function properly.
12757
12758 * fs/hfs.c (grub_hfs_cnid_type): New enum.
12759 (grub_hfs_iterate_records): Use the correct file number for extents
12760 and catalog file. Fix problem in next index calculation.
12761 (grub_hfs_find_node): Replace recursive function call with loop.
12762 (grub_hfs_iterate_dir): Replace recursive function call with loop.
12763
15c80c09 127642008-01-23 Robert Millan <rmh@aybabtu.com>
12765
12766 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
12767 `<grub/symbol.h>' and `<grub/multiboot.h>'.
12768 (grub_multiboot2_real_boot): New function prototype.
12769
12770 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
12771 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
12772
12773 * kern/i386/ieee1275/init.c (grub_os_area_addr)
12774 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
12775
305338fd 127762008-01-23 Robert Millan <rmh@aybabtu.com>
12777
12778 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
12779 #ifdef'ed out grub_printf().
12780
3ea52685 127812008-01-23 Robert Millan <rmh@aybabtu.com>
12782
12783 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
12784 grub_dprintf calls, since they make "debug=all" mode unusable.
12785 (grub_console_checkkey): Likewise.
12786
5882ae4b 127872008-01-23 Robert Millan <rmh@aybabtu.com>
12788
12789 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12790 `term/i386/pc/at_keyboard.c'.
12791 (pkglib_MODULES): Add `serial.mod'.
12792 (serial_mod_SOURCES): New variable.
12793 (serial_mod_CFLAGS): Likewise.
12794 (serial_mod_LDFLAGS): Likewise.
12795
12796 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
12797 `<grub/powerpc/ieee1275/console.h>'.
12798 (grub_keyboard_controller_init): New function prototype.
12799 (grub_console_checkkey): Likewise.
12800 (grub_console_getkey): Likewise.
12801
12802 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
12803 keyboard on i386.
12804
12805 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
12806 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
12807
06ab5303 128082008-01-23 Robert Millan <rmh@aybabtu.com>
12809
12810 * kern/i386/pc/init.c (make_install_device): When memdisk image is
12811 present, "(memdisk)/boot/grub" becomes the default prefix.
12812
12813 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
12814 a memdisk tarball with all the modules. Add --overlay=DIR option that
12815 allows users to overlay additional files into the image.
12816
dbb475a4 128172008-01-23 Robert Millan <rmh@aybabtu.com>
12818
12819 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
12820 and `machine/memory.h'.
12821 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
12822 (_multiboot_mod_SOURCES): New variable.
12823 (_multiboot_mod_CFLAGS): Likewise.
12824 (_multiboot_mod_LDFLAGS): Likewise.
12825 (multiboot_mod_SOURCES): Likewise.
12826 (multiboot_mod_CFLAGS): Likewise.
12827 (multiboot_mod_LDFLAGS): Likewise.
12828
12829 * include/grub/i386/ieee1275/loader.h: New file.
12830
12831 * include/grub/i386/ieee1275/machine.h: Likewise.
12832
12833 * include/grub/i386/ieee1275/memory.h: Likewise.
12834
12835 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
12836 variable declaration.
12837 (grub_os_area_size): Likewise.
12838
12839 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
12840 (grub_lower_mem, grub_upper_mem): New variables.
12841 (grub_stop_floppy): New function (just to make
12842 grub_multiboot2_real_boot() happy).
12843
12844 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
12845 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
12846 (grub_stop): New function.
12847 Include `"../realmode.S"' and `"../loader.S"'.
12848
12849 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
12850 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
12851
12852 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
12853 rely on grub_multiboot2_real_boot() for final boot.
12854
25638629 128552008-01-22 Robert Millan <rmh@aybabtu.com>
12856
12857 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
12858 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
12859 device that doesn't look like an SD card.
12860 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12861 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
12862 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
12863 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
12864 found.
12865
9dad816d 128662008-01-22 Robert Millan <rmh@aybabtu.com>
12867
12868 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
12869 avoid claiming over our own code.
12870
34842f2d 128712008-01-22 Bean <bean123ch@gmail.com>
12872
12873 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
12874 (jpeg_mod_SOURCES): New variable.
12875 (jpeg_mod_CFLAGS): Likewise.
12876 (jpeg_mod_LDFLAGS): Likewise.
12877
12878 * video/readers/jpeg.c : New file.
12879
44023a28 128802008-01-22 Bean <bean123ch@gmail.com>
12881
12882 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
12883 there are no more items.
12884
bc2d8ac6 128852008-01-21 Robert Millan <rmh@aybabtu.com>
12886
12887 * kern/mm.c (grub_mm_init_region): Improve debug message.
12888
261bd4bc 128892008-01-21 Robert Millan <rmh@aybabtu.com>
12890
12891 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
12892 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
12893 address.
12894 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
12895 a C macro.
12896 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
12897 Indicates start of upper memory.
12898 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
12899 (generate_image): Abort when image size is big enough to corrupt
12900 upper memory.
12901
12902 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
12903 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
12904 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12905 instead of hardcoding 0xA0000.
12906 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
12907 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12908 instead of hardcoding 0xA0000.
12909
f970b55e 129102008-01-21 Robert Millan <rmh@aybabtu.com>
12911
12912 * disk/memdisk.c (memdisk_size): New variable.
12913 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
12914 `memdisk_size'.
12915 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
12916 image to dynamic memory.
12917 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
12918 `memdisk_size'. Free memdisk block.
12919
1a8b0526 129202008-01-21 Robert Millan <rmh@aybabtu.com>
12921
12922 Fix detection of very small filesystems (like tar).
12923
12924 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
12925 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
12926 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
12927 a problem with this disk).
12928
6e9b4aab 129292008-01-21 Robert Millan <rmh@aybabtu.com>
12930
12931 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
12932 on grub_biosdisk_rw_standard() error.
12933
0d8837b2 129342008-01-21 Robert Millan <rmh@aybabtu.com>
12935
12936 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
12937 recent changes.
12938 * kern/elf.c: Likewise.
12939 * kern/ieee1275/ieee1275.c: Likewise.
12940 * kern/powerpc/ieee1275/openfw.c: Likewise.
12941 * term/ieee1275/ofconsole.c: Likewise.
12942
ffd36e34 129432008-01-21 Robert Millan <rmh@aybabtu.com>
12944
12945 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
12946
3f0093d0 12947 * include/grub/kernel.h (grub_arch_memdisk_addr)
12948 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 12949
3f0093d0 12950 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
12951 (grub_arch_memdisk_size): ... to here.
ffd36e34 12952
6c391b21 129532008-01-21 Robert Millan <rmh@aybabtu.com>
12954
12955 Mostly based on bugfix from Bean.
12956
12957 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
12958 attribute with hook() parameter.
12959 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
12960 declaration.
12961 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
12962 attribute with hook() parameter.
12963 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
12964 declaration.
12965
55a581dc 129662008-01-21 Robert Millan <rmh@aybabtu.com>
12967
12968 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
12969 (pkglib_MODULES): Add `memdisk.mod'.
12970 (memdisk_mod_SOURCES): New variable.
12971 (memdisk_mod_CFLAGS): Likewise.
12972 (memdisk_mod_LDFLAGS): Likewise.
12973
12974 * disk/memdisk.c: New file.
12975
12976 * include/grub/disk.h (grub_disk_dev_id): Add
12977 `GRUB_DISK_DEVICE_MEMDISK_ID'.
12978
12979 * include/grub/i386/pc/kernel.h
12980 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
12981 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
12982 (grub_kernel_image_size): New variable declaration.
12983 (grub_total_module_size): Likewise.
12984 (grub_memdisk_image_size): Likewise.
12985
12986 * include/grub/i386/pc/memory.h
12987 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
12988
12989 * include/grub/kernel.h: Include `<grub/symbol.h>'.
12990 (grub_arch_memdisk_addr): New variable declaration.
12991 (grub_arch_memdisk_size): Likewise.
12992
12993 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
12994 (grub_arch_memdisk_size): Likewise.
12995
12996 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
12997 (codestart): Replace hardcoded `0x100000' with
12998 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
12999
13000 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
13001 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
13002 not NULL, append the contents of the file it refers to, at the end of
13003 the compressed kernel image. Initialize `grub_memdisk_image_size'
13004 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
13005 (options): Add "memdisk"|'m' option.
13006 (main): Parse --memdisk|-m option, and pass user-provided path as
13007 parameter to generate_image().
13008
3d7f54c9 130092008-01-20 Robert Millan <rmh@aybabtu.com>
13010
13011 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
13012 grub_dprintf() calls from here ...
13013 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
13014
0bf74728 130152008-01-20 Robert Millan <rmh@aybabtu.com>
13016
13017 Fix detection of "real mode" when /options/real-mode? doesn't exist.
13018
13019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
13020 declaration.
13021 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
13022 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
13023 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 13024 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 13025 property).
13026 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
13027 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
13028
33bf70a7 130292008-01-19 Robert Millan <rmh@aybabtu.com>
13030
fe6b695a 13031 Get rid of confusing function (superseded by
33bf70a7 13032 `grub_ieee1275_get_integer_property')
13033 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
13034 prototype.
13035 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
13036 function.
13037 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
13038 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 13039 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 13040
e2da7d26 130412008-01-19 Robert Millan <rmh@aybabtu.com>
13042
13043 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
13044 command after "shut-down", since implementations differ on which
13045 the command for halt is.
13046
59f1fd8d 130472008-01-19 Robert Millan <rmh@aybabtu.com>
13048
13049 * include/grub/i386/linuxbios/console.h: Add header protection.
13050 (grub_keyboard_controller_init): New function prototype.
13051 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
13052 (KEYBOARD_COMMAND_READ): Likewise.
13053 (KEYBOARD_COMMAND_WRITE): Likewise.
13054 (KEYBOARD_SCANCODE_SET1): Likewise.
13055 (grub_keyboard_controller_write): New function.
13056 (grub_keyboard_controller_read): Likewise.
13057 (grub_keyboard_controller_init): Likewise.
13058
13059 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
13060 (grub_console_init): On coreboot/LinuxBIOS, call
13061 grub_keyboard_controller_init().
13062
5f5a7c15 130632008-01-19 Robert Millan <rmh@aybabtu.com>
13064
13065 PowerPC changes provided by Pavel Roskin.
13066
13067 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
13068 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
13069 don't rely on cmain() doing it.
13070 * kern/i386/ieee1275/startup.S (_start): Store %eax in
13071 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
13072
1210e168 130732008-01-16 Robert Millan <rmh@aybabtu.com>
13074
13075 * include/grub/i386/linuxbios/memory.h
13076 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
13077 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
13078 receive `table_header' as argument. Instead, probe for it in the
13079 known memory ranges where it can be present.
13080 (grub_available_iterate): Do not pass a fixed `table_header' address
13081 to grub_linuxbios_table_iterate().
13082
3d04eab8 130832008-01-15 Robert Millan <rmh@aybabtu.com>
13084
13085 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
13086 * conf/i386-ieee1275.rmk: New file.
13087 * include/grub/i386/ieee1275/console.h: Likewise.
13088 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
13089 * include/grub/i386/ieee1275/kernel.h: Likewise.
13090 * include/grub/i386/ieee1275/time.h: Likewise.
13091 * kern/i386/ieee1275/init.c: Likewise.
13092 * kern/i386/ieee1275/startup.S: Likewise.
13093
d1bc1b73 130942008-01-15 Robert Millan <rmh@aybabtu.com>
13095
13096 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
13097 when pointers are 32-bit (but still do set it to one when they are
13098 64-bit).
13099
66a65807 131002008-01-15 Robert Millan <rmh@aybabtu.com>
13101
13102 * include/grub/ieee1275/ieee1275.h
13103 (grub_ieee1275_get_integer_property): New function prototype.
13104
13105 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
13106 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 13107 grub_ieee1275_get_property() to handle endianness.
66a65807 13108
13109 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
13110 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 13111 where appropriate.
66a65807 13112 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
13113 (grub_map): Likewise.
13114 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
13115
a83ccafd 131162008-01-15 Bean <bean123ch@gmail.com>
13117
13118 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
13119 (grub_script_execute_cmdline): Reset grub_errno.
13120
13121 * normal/main.c (read_config_file): Reset grub_errno.
13122
13123 * normal/parse.y (script_init): New.
13124 (script): Move function and menuentry here.
13125 (delimiter): New.
13126 (command): Add delimiter at the end of command.
13127 (commands): Adjust to match the new command.
13128 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 13129 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 13130 (if): Use the new commands.
13131
13132 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
13133
df6ecfc6 131342008-01-15 Robert Millan <rmh@aybabtu.com>
13135
13136 * normal/menu.c (run_menu): Move timeout message from here ...
13137 (print_timeout): ... to here.
13138 (run_menu): Use print_timeout() once during initial draw to print
13139 the whole message, and again in every clock tick to update only
13140 the number of seconds.
13141
87ae25eb 131422008-01-15 Robert Millan <rmh@aybabtu.com>
13143
13144 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
13145 actual size of `available' from grub_ieee1275_get_property(), and
13146 restrict parsing to that bound.
13147
47bf09a4 131482008-01-15 Christian Franke <franke@computer.org>
13149
13150 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
13151 (argp_program_version): Remove variable.
13152 (argp_program_bug_address): Likewise.
13153 (options): Convert from struct argp_option to struct option.
13154 (struct arguments): Remove.
13155 (parse_opt): Remove.
13156 (usage): New function.
13157 (main): Replace struct args members by simple variables.
13158 Replace argp_parse() by getopt_long().
13159 Add switch to evaluate options.
13160 Add missing "(...)" around root_dev in prefix string.
13161
c86f1469 131622008-01-14 Robert Millan <rmh@aybabtu.com>
13163
13164 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
13165 for grub_ieee1275_exit(), in order to improve portability.
13166
e622c559 131672008-01-14 Robert Millan <rmh@aybabtu.com>
13168
13169 * util/grub.d/10_linux.in (prefix): Define.
13170 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
13171
44cb1ec8 131722008-01-13 Pavel Roskin <proski@gnu.org>
13173
13174 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
13175 grub_errno if no errors have been detected.
13176
1eb8c802 131772008-01-12 Robert Millan <rmh@aybabtu.com>
13178
13179 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
13180 (grub_util_get_dev_abstraction): New function prototype.
13181
13182 * util/getroot.c: Include `<grub/util/getroot.h>'
13183 (grub_util_get_grub_dev): Move detection of abstraction type to ...
13184 (grub_util_get_dev_abstraction): ... here (new function).
13185
13186 * util/grub-probe.c: Convert PRINT_* to an enum. Add
13187 `PRINT_ABSTRACTION'.
13188 (probe): Probe for abstraction type when requested.
13189 (main): Understand `--target=abstraction'.
13190
13191 * util/i386/efi/grub-install.in: Add abstraction module to core
13192 image when it is found to be necessary.
13193 * util/i386/pc/grub-install.in: Likewise.
13194 * util/powerpc/ieee1275/grub-install.in: Likewise.
13195
13196 * util/update-grub_lib.in (font_path): Return system path without
13197 converting to GRUB path.
13198 * util/update-grub.in: Convert system path returned by font_path()
13199 to a GRUB path. Use `grub-probe -t abstraction' to determine what
13200 abstraction module is needed for loading fonts (if any). Export
13201 that as `GRUB_PRELOAD_MODULES'.
13202 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
13203 insmod commands).
13204
52bd3de9 132052008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
13206
13207 Remove some unused code from reiserfs.
f19dbdb7 13208
52bd3de9 13209 * fs/reiserfs.c (struct grub_reiserfs_key)
13210 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
13211 (struct grub_reiserfs_node_body): Removed.
13212 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13213 Likewise.
13214 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13215 Likewise.
13216 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13217 Likewise.
13218 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
13219 Likewise.
13220 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
13221 Likewise.
13222 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
13223 Likewise.
13224 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13225 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13226 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
13227
2f80039d 132282008-01-10 Robert Millan <rmh@aybabtu.com>
13229
13230 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
13231 Determines if a file is garbage left by packaging systems, etc.
13232 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
13233 for processing /etc/grub.d scripts.
13234 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
13235 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
13236 as a condition for processing Linux images.
13237
87888032 132382008-01-10 Pavel Roskin <proski@gnu.org>
13239
13240 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
13241 to compile reiserfs.c on PowerPC.
13242
7e54fced 132432008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 13244
13245 * kern/device.c (grub_device_iterate): Do not abort device iteration
13246 when one of the devices cannot be opened.
13247 * kern/disk.c (grub_disk_open): Do not account previous failures of
13248 unrelated functions when grub_errno is checked for.
13249
5aa541e6 132502008-01-08 Robert Millan <rmh@aybabtu.com>
13251
13252 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
13253 `! grub_linux_is_bzimage', change order of address comparison to make
13254 it more intuitive, and improve "too big zImage" error message.
13255
7076340d 132562008-01-08 Robert Millan <rmh@aybabtu.com>
13257
13258 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
13259 `$(update-grub_DATA)'.
13260 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
13261 targets.
13262
9ca70333 132632008-01-07 Robert Millan <rmh@aybabtu.com>
13264
13265 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
13266 which instruction is modified by grub-setup during installation
13267 (since it wasn't obvious by only looking at this file).
13268
38ccf575 132692008-01-07 Robert Millan <rmh@aybabtu.com>
13270
13271 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
13272 listing actual TODO items.
13273
f5db4291 132742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13275
868967cf 13276 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
13277 correctly.
13278 (grub_reiserfs_get_key_offset): Likewise.
13279 (grub_reiserfs_set_key_offset): Likewise.
13280 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 13281 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 13282
13283 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
13284 better to remove the bitfield version completely.
f19dbdb7 13285
868967cf 132862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13287
f5db4291 13288 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
13289 allocated from the heap, due to the fshelp implementation.
13290 (grub_reiserfs_dir): Free NODE, due to the same reason.
13291
492e6d9d 132922008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
13293
13294 Mostly from Vincent Pelletier:
f19dbdb7 13295
492e6d9d 13296 * fs/reiserfs.c: New file.
f19dbdb7 13297
492e6d9d 13298 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
13299 (reiserfs_mod_SOURCES): New variable.
13300 (reiserfs_mod_CFLAGS): Likewise.
13301 (reiserfs_mod_LDFLAGS): Likewise.
13302
13303 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
13304 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
13305 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
13306 normal/color.c.
13307
9ce3e7c1 133082008-01-06 Robert Millan <rmh@aybabtu.com>
13309
13310 * normal/color.c: Remove `<grub/env.h>'.
13311
f3b58148 133122008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
13313
13314 * include/grub/normal.h: Include <grub/env.h>.
13315
7ac3bcfa 133162008-01-05 Robert Millan <rmh@aybabtu.com>
13317
13318 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
13319 usage example with `(hd0,1)'.
fb358190 13320 Reported by Samuel Thibault.
7ac3bcfa 13321
c8ee99d7 133222008-01-05 Robert Millan <rmh@aybabtu.com>
13323
13324 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
13325 (grub_linux_boot_zimage): Rename to ...
13326 (grub_linux_boot): ... this.
13327 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
13328 (grub_linux_boot_zimage): Conditionalize zImage copy.
13329
13330 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
13331 (grub_linux_boot_bzimage): Remove prototype.
13332 (grub_linux_boot_zimage): Rename to ...
13333 (grub_linux_boot): ... this.
13334
13335 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
13336 (grub_linux_boot): Remove function.
13337
0ece25b1 133382008-01-05 Robert Millan <rmh@aybabtu.com>
13339
13340 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
13341 (grub_env_write_color_highlight): Likewise.
13342 (grub_wait_after_message): Likewise.
13343
13344 * normal/color.c: New file.
13345
13346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13347 (normal_mod_DEPENDENCIES): Likewise.
13348
13349 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13350 (normal_mod_DEPENDENCIES): Likewise.
13351
13352 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13353 (normal_mod_DEPENDENCIES): Likewise.
13354
13355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
13356 (normal_mod_DEPENDENCIES): Likewise.
13357
13358 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
13359 for waiting after a message is printed.
13360 * normal/main.c (read_config_file): Likewise.
13361 (grub_normal_init): Register grub_env_write_color_normal() and
13362 grub_env_write_color_highlight() hooks. Mark `color_normal' and
13363 `color_highlight' variables as global.
13364
13365 * normal/menu.c (grub_wait_after_message): New function.
13366 (grub_color_menu_normal): New variable. Replaces ...
13367 (GRUB_COLOR_MENU_NORMAL): ... this macro.
13368 (grub_color_menu_highlight): New variable. Replaces ...
13369 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
13370 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
13371 `GRUB_TERM_COLOR_STANDARD'.
13372 (print_message): Use `grub_setcolorstate' to reload colors. Rename
13373 `normal_code' and `highlight_code' to `old_color_normal' and
13374 `old_color_highlight', respectively.
13375 (grub_menu_init_page): Update colors when drawing the menu, based on
13376 `menu_color_normal' and `menu_color_highlight' variables.
13377 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
13378 a message is printed.
13379
182dd4e5 133802008-01-05 Robert Millan <rmh@aybabtu.com>
13381
13382 * kern/env.c (grub_env_context_open): Propagate hooks for global
13383 variables to new context.
13384
13385 * kern/main.c (grub_set_root_dev): Export `root' variable.
13386
ddf8f6ad 133872008-01-05 Robert Millan <rmh@aybabtu.com>
13388
13389 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 13390 discs unconditionally, since udev and others have options to provide
ddf8f6ad 13391 them.
13392
d8b43d9b 133932008-01-05 Robert Millan <rmh@aybabtu.com>
13394
13395 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
13396
2bff2de3 133972008-01-04 Christian Franke <franke@computer.org>
13398
13399 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
13400 of eisa_mmap.
13401
97eab917 134022008-01-03 Pavel Roskin <proski@gnu.org>
13403
13404 * kern/i386/linuxbios/init.c: Put "void" to all function
13405 declarations with no arguments.
13406 * kern/powerpc/ieee1275/init.c: Likewise.
13407 * term/i386/pc/at_keyboard.c: Likewise.
13408 * term/i386/pc/vga_text.c: Likewise.
13409 * util/grub-mkdevicemap.c: Likewise.
13410
b9416d00 134112008-01-02 Robert Millan <rmh@aybabtu.com>
13412
13413 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
13414 message when loaded image is out of bounds.
13415 (grub_multiboot_load_elf64): Likewise.
13416
92695df9 134172008-01-02 Pavel Roskin <proski@gnu.org>
13418
13419 * util/grub.d/10_linux.in: Try version without ".old" when
13420 looking for initrd. It's better to use initrd from the newer
13421 kernel of the same version than no initrd at all.
13422
d98d9cad 134232008-01-01 Robert Millan <rmh@aybabtu.com>
13424
13425 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
13426
dbfdce36 134272008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
13428
f19dbdb7 13429 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 13430 grub_video_get_active_render_target.
13431 (grub_video_adapter): Added unmap_color and get_active_render_target.
13432
f19dbdb7 13433 * video/video.c: Added grub_video_unmap_color and
dbfdce36 13434 grub_video_get_active_render_target.
13435 (grub_video_get_info): Changed method to accept NULL pointer as an
13436 argument to allow detection of active video adapter.
13437
13438 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
13439 grub_video_vbe_unmap_color_int.
13440 Added grub_video_vbe_unmap_color and
13441 grub_video_vbe_get_active_render_target.
13442 (grub_video_vbe_adapter): Added unmap_color and
13443 get_active_render_target.
13444
f19dbdb7 13445 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 13446 with grub_video_vbe_unmap_color_int.
13447
13448 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
13449 (DEFAULT_NORMAL_COLOR): Likewise.
13450 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
13451 (DEFAULT_FG_COLOR): Removed.
13452 (DEFAULT_BG_COLOR): Likewise.
13453 (DEFAULT_CURSOR_COLOR): Changed value.
13454 (grub_virtual_screen): Added standard_color_setting,
13455 normal_color_setting, highlight_color_setting and term_color.
13456 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
13457 (bitmap_width): Added.
13458 (bitmap_height): Likewise.
13459 (bitmap): Likewise.
13460 (set_term_color): Likewise.
13461 (grub_virtual_screen_setup): Changed to use new terminal coloring
13462 settings.
13463 (grub_gfxterm_init): Added init for bitmap.
13464 (grub_gfxterm_fini): Added destroy for bitmap.
13465 (redraw_screen_rect): Updated to use background bitmap and new
13466 terminal coloring.
13467 (scroll_up): Added optimization for case when there is no bitmap.
13468 (grub_gfxterm_cls): Fixed to use correct background color.
13469 (grub_virtual_screen_setcolorstate): Changed to use new terminal
13470 coloring.
13471 (grub_virtual_screen_setcolor): Likewise.
13472 (grub_virtual_screen_getcolor): Added.
13473 (grub_gfxterm_background_image_cmd): Likewise.
13474 (grub_video_term): Added setcolor and getcolor.
13475 (MOD_INIT): Added registration of background_image command.
13476 (MOD_TERM): Added unregistration for background_image command.
13477
c3c20931 134782007-12-30 Pavel Roskin <proski@gnu.org>
13479
13480 * loader/multiboot_loader.c: Fix multiboot command
13481 unregistration. Fix all typos in the word "multiboot".
13482
df266716 134832007-12-29 Pavel Roskin <proski@gnu.org>
94239199 13484
13485 * util/grub.d/10_linux.in: Refactor search for initrd. Add
13486 support for initrd names used in Fedora.
13487
fc6e896c 134882007-12-26 Bean <bean123ch@gmail.com>
13489
13490 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
13491 (cpio_mod_SOURCES): New variable.
13492 (cpio_mod_CFLAGS): Likewise.
13493 (cpio_mod_LDFLAGS): Likewise.
13494
13495 * fs/cpio.c: New file.
13496
13497 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
13498
13499 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13500
13501 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13502
13503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13504
533110ad 135052007-12-25 Robert Millan <rmh@aybabtu.com>
13506
13507 * include/grub/term.h (struct grub_term): Add `getcolor' function.
13508 (grub_getcolor): New function.
13509
13510 * kern/term.c (grub_getcolor): New function.
13511 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
13512 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
13513 (print_entry): Set normal and highlight colors to
13514 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
13515 respectively, before printing and restore them to old
13516 values afterwards.
13517 (grub_menu_init_page): Likewise. Fill an additional colored space
13518 that would otherwise be left blank.
13519
13520 * term/efi/console.c (grub_console_getcolor): New function.
13521 (struct grub_console_term.getcolor): New variable.
13522 * term/i386/pc/console.c (grub_console_getcolor): New function.
13523 (struct grub_console_term.getcolor): New variable.
13524 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
13525 (struct grub_console_term.getcolor): New variable.
13526
13527 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
13528 (struct grub_console_term.setcolor): Remove variable.
13529 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
13530 (struct grub_console_term.setcolor): Remove variable.
13531 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
13532 (struct grub_console_term.setcolor): Remove variable.
13533 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
13534 (struct grub_console_term.setcolor): Remove variable.
13535
4931827f 135362007-12-25 Robert Millan <rmh@aybabtu.com>
13537
13538 * configure.ac: Search for possible unifont.hex locations, and
13539 define UNIFONT_HEX if found.
13540
13541 * Makefile.in (UNIFONT_HEX): Define variable.
13542 (DATA): Rename to ...
13543 (PKGLIB): ... this. Update all users.
13544 (PKGDATA): New variable.
13545 (pkgdata_IMAGES): Rename to ...
13546 (pkglib_IMAGES): ... this. Update all users.
13547 (pkgdata_MODULES): Rename to ...
13548 (pkglib_MODULES): ... this. Update all users.
13549 (pkgdata_PROGRAMS): Rename to ...
13550 (pkglib_PROGRAMS): ... this. Update all users.
13551 (pkgdata_DATA): Rename to ...
13552 (pkglib_DATA): ... this. Update all users.
13553 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
13554 (unicode.pff, ascii.pff): New rules.
13555 (all-local): Add `$(PKGDATA)' dependency.
13556 (install-local): Process `$(PKGDATA)'.
13557
13558 * util/update-grub_lib.in (font_path): Search for *.pff files in
13559 a few more locations, including `${pkgdata}'.
13560
57e57e31 135612007-12-23 Robert Millan <rmh@aybabtu.com>
13562
13563 Patch from Bean <bean123ch@gmail.com>:
13564 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
13565 `size'.
13566
4bc72aa9 135672007-12-21 Bean <bean123ch@gmail.com>
13568
13569 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
13570 (ntfscomp_mod_SOURCES): New variable.
13571 (ntfscomp_mod_CFLAGS): Likewise.
13572 (ntfscomp_mod_LDFLAGS): Likewise.
13573
13574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
13575 (grub_probe_SOURCES): Likewise.
13576 (grub_emu_SOURCES): Likewise.
13577
13578 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13579 (grub_emu_SOURCES): Likewise.
13580
13581 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13582 (grub_emu_SOURCES): Likewise.
13583
13584 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13585 (grub_emu_SOURCES): Likewise.
13586
13587 * fs/ntfs.c (grub_ntfscomp_func): New variable.
13588 (read_run_list): Renamed to grub_ntfs_read_run_list.
13589 (decomp_nextvcn): Moved to ntfscomp.c.
13590 (decomp_getch): Likewise.
13591 (decomp_get16): Likewise.
13592 (decomp_block): Likewise.
13593 (read_block): Likewise.
13594 (read_data): Partially moved to ntfscomp.c.
13595 (fixup): Change unsigned to grub_uint16_t.
13596 (read_mft): Change unsigned long to grub_uint32_t.
13597 (read_attr): Likewise.
13598 (read_data): Likewise.
13599 (read_run_data): Likewise.
13600 (read_run_list): Likewise.
13601 (read_mft): Likewise.
13602
13603 * fs/ntfscomp.c: New file.
13604
13605 * include/grub/ntfs.h: New file.
13606
af680a87 136072007-12-16 Robert Millan <rmh@aybabtu.com>
13608
13609 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
13610 IDE disk check, since Linux is known to support 20 IDE disks.
13611 Reported by Colin Watson.
13612
84be7599 136132007-12-15 Bean <bean123ch@gmail.com>
13614
13615 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
13616 (lnxboot_img_SOURCES): New variable.
13617 (lnxboot_img_ASFLAGS): Likewise.
13618 (lnxboot_img_LDFLAGS): Likewise.
13619
13620 * boot/i386/pc/lnxboot.S: New file.
13621
6af9db01 136222007-11-24 Pavel Roskin <proski@gnu.org>
13623
13624 * configure.ac: Test if '--build-id=none' is supported by the
13625 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
13626 objcopy to generate incorrect binary files (binutils
13627 2.17.50.0.18-1 as shipped by Fedora 8).
13628 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
13629 linking, so that build ID doesn't break the test.
13630
7361cfe6 136312007-11-24 Pavel Roskin <proski@gnu.org>
13632
13633 * include/grub/i386/time.h: use "void" in the argument list
13634 of grub_cpu_idle().
13635 * include/grub/powerpc/time.h: Likewise.
13636 * include/grub/sparc64/time.h: Likewise.
13637
1593e10c 136382007-11-18 Christian Franke <franke@computer.org>
13639
13640 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
13641 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
13642 This fixes the problem that function keys did not work in grub-emu.
13643
3b8db1a8 136442007-11-18 Christian Franke <franke@computer.org>
13645
13646 * disk/host.c (grub_host_open): Remove attribute unused from
13647 name parameter. Add check for "host". This fixes the problem
13648 that grub-emu does not find partitions.
13649
2e29408d 136502007-11-18 Christian Franke <franke@computer.org>
13651
13652 * util/hostfs.c (is_dir): New function.
13653 (grub_hostfs_dir): Handle missing dirent.d_type case.
13654 (grub_hostfs_read): Add missing fseek().
13655 (grub_hostfs_label): Clear label pointer. This fixes a crash
13656 of grub-emu on "ls (host)".
13657
398cd047 136582007-11-18 Christian Franke <franke@computer.org>
13659
13660 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
13661 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
13662 to 64 bit boundary by default.
13663
c405c391 136642007-11-18 Bean <bean123ch@gmail.com>
13665
13666 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
13667 (hexdump_mod_SOURCES): New variable.
13668 (hexdump_mod_CFLAGS): Likewise.
13669 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 13670
c405c391 13671 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13672
13673 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13674
13675 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13676
13677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13678
13679 * include/grub/hexdump.h: New file.
13680
13681 * commands/hexdump.c: New file.
13682
5cced7fd 136832007-11-10 Robert Millan <rmh@aybabtu.com>
13684
13685 * commands/i386/pc/play.c (beep_off): Switch order of arguments
13686 in grub_outb() calls.
13687 (beep_on): Likewise.
13688
8b714eb0 136892007-11-10 Christian Franke <franke@computer.org>
13690
13691 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
13692 (grub_menu_run): Likewise.
13693
ce0f1839 136942007-11-10 Robert Millan <rmh@aybabtu.com>
13695
13696 * include/grub/i386/efi/machine.h: New file.
13697 * include/grub/i386/linuxbios/machine.h: Likewise.
13698 * include/grub/i386/pc/machine.h: Likewise.
13699 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13700 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13701
13702 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
13703 (serial_hw_io_addr): New variable.
13704 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
13705 instead of `(unsigned short *) 0x400'.
13706
270c237d 137072007-11-10 Bean <bean123ch@gmail.com>
13708
13709 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
13710
a87783bf 137112007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13712
13713 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
13714 (vga_mod_SOURCES): Added.
13715 (vga_mod_CFLAGS): Likewise.
13716 (vga_mod_LDFLAGS): Likewise.
13717
13718 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
13719 grub_outb() calls.
13720 (set_map_mask): Likewise.
13721 (set_read_map): Likewise.
13722 (set_read_address): Likewise.
13723 (vga_font): Removed variable.
13724 (get_vga_glyph): Removed function.
13725 (invalidate_char): Likewise.
13726 (write_char): Changed to use grub_font_get_glyph() for font
13727 information.
13728 (grub_vga_putchar): Likewise.
13729 (grub_vga_getcharwidth): Likewise.
13730
6433b448 137312007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13732
13733 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
13734 flags.
13735 (pxeboot_img_LDFLAGS): Likewise.
13736 (diskboot_img_LDFLAGS): Likewise.
13737 (kernel_img_LDFLAGS): Likewise.
13738
49178511 137392007-11-06 Robert Millan <rmh@aybabtu.com>
13740
13741 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
13742 in grub_outb() calls.
13743 (serial_hw_init): Likewise.
13744
53b052de 137452007-11-05 Robert Millan <rmh@aybabtu.com>
13746
13747 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
13748 spaces. Skip non-regular files.
13749
5ab33bba 137502007-11-05 Robert Millan <rmh@aybabtu.com>
13751
13752 * kern/disk.c (grub_disk_firmware_fini)
13753 (grub_disk_firmware_is_tainted): New variables.
13754
13755 * include/grub/disk.h (grub_disk_firmware_fini)
13756 (grub_disk_firmware_is_tainted): Likewise.
13757
13758 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
13759 (grub_disk_biosdisk_fini): ... to here.
13760 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
13761 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
13762 is set. Register grub_disk_biosdisk_fini() in
13763 `grub_disk_firmware_fini'.
13764
13765 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
13766 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
13767 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
13768 to finish existing firmware disk interface.
13769
13770 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
13771 (ata_mod_SOURCES): New variable.
13772 (ata_mod_CFLAGS): Likewise.
13773 (ata_mod_LDFLAGS): Likewise.
13774
0149ab7c 137752007-11-05 Robert Millan <rmh@aybabtu.com>
13776
13777 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
13778 (grub_ata_wait): Reimplement using grub_millisleep().
13779
13780 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
13781 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
13782
be7ac41e 137832007-11-03 Marco Gerards <marco@gnu.org>
13784
13785 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
13786 (CRTC_ADDR_PORT): New macro.
13787 (CRTC_DATA_PORT): Likewise.
13788 (CRTC_CURSOR): Likewise.
13789 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13790 (CRTC_CURSOR_ADDR_LOW): Likewise.
13791 (update_cursor): New function.
13792 (grub_console_real_putchar): Call `update_cursor'.
13793 (grub_console_gotoxy): Likewise.
13794 (grub_console_cls): Set the default color when clearing the
13795 screen.
13796 (grub_console_setcursor): Implemented.
13797
bb06ab2e 137982007-11-03 Marco Gerards <marco@gnu.org>
13799
13800 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
13801 become activate.
13802 (grub_ata_pio_write): Likewise.
13803
13804 (grub_atapi_identify): Wait after issuing an ATA command.
13805 (grub_atapi_packet): Likewise.
13806 (grub_ata_identify): Likewise.
13807 (grub_ata_readwrite): Likewise.
13808
cf8f780b 138092007-11-03 Marco Gerards <marco@gnu.org>
13810
13811 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
13812 (grub_ata_pio_write): Likewise.
13813 (grub_ata_readwrite): Use `grub_error', instead of
13814 returning `grub_errno'.
13815
ed649e54 138162007-11-03 Marco Gerards <marco@gnu.org>
13817
13818 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
13819 grub_ata_pio_write once for every single sector, instead of for
13820 multiple sectors.
13821
ca25d8f0 138222007-10-31 Robert Millan <rmh@aybabtu.com>
13823
13824 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
13825
13826 * conf/i386-linuxbios.rmk: New file.
13827
13828 * kern/i386/pc/hardware.c: Likewise.
13829 * term/i386/pc/at_keyboard.c: Likewise.
13830 * term/i386/pc/vga_text.c: Likewise.
13831
13832 * include/grub/i386/linuxbios/boot.h: Likewise.
13833 * include/grub/i386/linuxbios/console.h: Likewise.
13834 * include/grub/i386/linuxbios/init.h: Likewise.
13835 * include/grub/i386/linuxbios/kernel.h: Likewise.
13836 * include/grub/i386/linuxbios/loader.h: Likewise.
13837 * include/grub/i386/linuxbios/memory.h: Likewise.
13838 * include/grub/i386/linuxbios/serial.h: Likewise.
13839 * include/grub/i386/linuxbios/time.h: Likewise.
13840
13841 * kern/i386/linuxbios/init.c: Likewise.
13842 * kern/i386/linuxbios/startup.S: Likewise.
13843 * kern/i386/linuxbios/table.c: Likewise.
13844
e911ecc1 138452007-10-31 Marco Gerards <marco@gnu.org>
13846
13847 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
13848 (ata_mod_SOURCES): New variable.
13849 (ata_mod_CFLAGS): Likewise.
13850 (ata_mod_LDFLAGS): Likewise.
13851
13852 * disk/ata.c: New file.
13853
13854 * include/grub/disk.h (grub_disk_dev_id): Add
13855 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 13856
7f66d0e0 138572007-10-31 Robert Millan <rmh@aybabtu.com>
13858
13859 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
13860 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
13861
13862 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
13863 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
13864
13865 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
13866 `<grub/types.h>'.
13867
13868 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
13869
5cd7dd46 138702007-10-27 Robert Millan <rmh@aybabtu.com>
13871
3236ca65 13872 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 13873
2ebfc90f 138742007-10-22 Robert Millan <rmh@aybabtu.com>
13875
13876 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
13877 `"../realmode.S"'.
13878 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
13879
73fcb0f3 138802007-10-22 Robert Millan <rmh@aybabtu.com>
13881
13882 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
13883 (pkgdata_MODULES): Add `biosdisk.mod'.
13884 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
13885 variables.
13886
13887 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
13888 (grub_biosdisk_init): Replace with ...
13889 (GRUB_MOD_INIT(biosdisk)): ... this.
13890 (grub_biosdisk_fini): Replace with ...
13891 (GRUB_MOD_FINI(biosdisk)): ... this.
13892
13893 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
13894 (grub_machine_init): Remove call to grub_biosdisk_init().
13895 (grub_machine_fini): Remove call to grub_machine_fini().
13896
13897 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
13898
3381d274 138992007-10-22 Robert Millan <rmh@aybabtu.com>
13900
13901 * include/grub/time.h: New file.
13902 * include/grub/i386/time.h: Likewise.
13903 * include/grub/powerpc/time.h: Likewise.
13904 * include/grub/sparc64/time.h: Likewise.
13905
13906 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
13907 instances to ...
13908 (KERNEL_MACHINE_TIME_HEADER): ... this.
13909 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13910 instances to ...
13911 (KERNEL_MACHINE_TIME_HEADER): ... this.
13912 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13913 instances to ...
13914 (KERNEL_MACHINE_TIME_HEADER): ... this.
13915
13916 * kern/i386/efi/init.c: Include `<grub/time.h>'.
13917 (grub_millisleep): New function.
13918 * kern/i386/pc/init.c: Include `<grub/time.h>'.
13919 (grub_millisleep): New function.
13920 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
13921 Remove `grub/machine/time.h' include.
13922 (grub_millisleep): New function.
13923 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
13924 Remove `grub/machine/time.h' include.
13925 (grub_millisleep): New function.
13926
13927 * include/grub/misc.h (grub_div_roundup): New function.
13928
13929 * kern/misc.c: Include `<grub/time.h>'.
13930 (grub_millisleep_generic): New function.
13931
13932 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
13933 Add `time.h'.
13934 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
13935 Add `time.h'.
13936 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
13937 `machine/time.h'. Add `time.h'.
13938 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13939
a39a0312 139402007-10-21 Robert Millan <rmh@aybabtu.com>
13941
13942 * include/grub/misc.h (grub_max): New function.
13943
2aad70e2 139442007-10-21 Robert Millan <rmh@aybabtu.com>
13945
13946 * util/misc.c (grub_util_info): Call fflush() before returning.
13947
54b71c4b 139482007-10-20 Robert Millan <rmh@aybabtu.com>
13949
13950 * genmk.rb (Image): Copy `extra_flags' from here ...
13951 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
13952
13953 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
13954 to `argc' and `args' arguments.
13955
a979f513 139562007-10-17 Robert Millan <rmh@aybabtu.com>
13957
13958 * kern/i386/loader.S: New file.
13959
13960 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
13961 * kern/i386/loader.S (grub_linux_prot_size)... to here.
13962 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
13963 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
13964 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
13965 * kern/i386/loader.S (grub_linux_real_addr)... to here.
13966 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
13967 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
13968 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
13969 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
13970 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
13971 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
13972 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
13973 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
13974
13975 * kern/i386/realmode.S: New file.
13976
13977 * kern/i386/pc/startup.S (protstack): Moved from here ...
13978 * kern/i386/realmode.S (protstack)... to here.
13979 * kern/i386/pc/startup.S (gdt): Moved from here ...
13980 * kern/i386/realmode.S (gdt)... to here.
13981 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
13982 * kern/i386/realmode.S (prot_to_real)... to here.
13983
13984 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
13985 `kern/i386/realmode.S'.
13986
825fc8fd 139872007-10-17 Robert Millan <rmh@aybabtu.com>
13988
13989 * include/grub/i386/loader.h: New file.
13990
13991 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
13992 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13993 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13994 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13995 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
13996 * include/grub/i386/loader.h (grub_linux_prot_size)
13997 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13998 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13999 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
14000 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
14001
14002 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
14003
e179b2f4 140042007-10-15 Robert Millan <rmh@aybabtu.com>
14005
14006 * normal/misc.c (grub_normal_print_device_info): Do not probe for
14007 filesystem when dev->disk is unset.
14008 Do probe for filesystem even when dev->disk->has_partitions is set.
14009 In case a filesystem is found, always report it.
14010 In case it isn't, if dev->disk->has_partitions is set, report that
14011 a partition table was found instead of reporting that no filesystem
14012 could be identified.
14013
5db82af6 140142007-10-12 Robert Millan <rmh@aybabtu.com>
14015
14016 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
14017 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
14018
68f6ac74 14019 * include/grub/types.h (grub_host_to_target16): New macro.
14020 (grub_host_to_target32): Likewise.
14021 (grub_host_to_target64): Likewise.
14022 (grub_target_to_host16): Likewise.
14023 (grub_target_to_host32): Likewise.
14024 (grub_target_to_host64): Likewise.
5db82af6 14025
14026 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14027 Renamed from to ...
14028 (GRUB_MOD_ALIGN): ...this. Update all users.
14029
68f6ac74 14030 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
14031 grub_host_to_target32.
14032 Replace grub_be_to_cpu32 with grub_target_to_host32.
14033 (load_modules): Likewise.
14034 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
14035 Replace grub_be_to_cpu32 with grub_target_to_host32.
14036 Replace grub_cpu_to_be16 with grub_host_to_target16.
14037 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 14038
3cf497cc 140392007-10-12 Robert Millan <rmh@aybabtu.com>
14040
14041 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
14042 * util/elf/grub-mkimage.c: ... here.
14043
14044 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
14045 `util/powerpc/ieee1275/grub-mkimage.c'.
14046
c8cc3692 140472007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 14048
c8cc3692 14049 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
14050 and make it easier to figure out.
14051 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
14052 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
14053 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
14054 leave us with less than HEAP_MIN_SIZE total heap.
14055 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 14056
5c58b791 140572007-10-03 Robert Millan <rmh@aybabtu.com>
14058
14059 * include/grub/i386/io.h: New file.
14060 * commands/i386/pc/play.c (inb): Removed.
14061 (outb): Removed.
14062 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14063 with grub_outb().
afcd2ef8 14064 * term/i386/pc/serial.c (inb): Removed.
14065 (outb): Removed.
14066 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14067 with grub_outb().
14068 * term/i386/pc/vga.c (inb): Removed.
14069 (outb): Removed.
14070 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
14071 with grub_outb().
5c58b791 14072
1a477ed6 140732007-10-02 Robert Millan <rmh@aybabtu.com>
14074
14075 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
14076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14077 Reported by Marcin Kurek.
14078
6b5d80fa 140792007-09-07 Robert Millan <rmh@aybabtu.com>
14080
14081 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
14082 SmartFirmware version updates (as released by Sven Luther), and avoid
14083 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
14084 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
14085 known broken.
14086
5618afbf 140872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14088
14089 From Hitoshi Ozeki:
14090 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
14091 when merging two regions.
14092
6139dcd9 140932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
14094
508e39ee 14095 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
14096 * normal/completion.c (grub_normal_do_completion): Likewise.
14097 Reported by Hitoshi Ozeki.
14098
140992007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 14100
6139dcd9 14101 Do not use devices at boot in chainloading.
f19dbdb7 14102
6139dcd9 14103 * loader/i386/pc/chainloader.c (boot_drive): New variable.
14104 (boot_part_addr): Likewise.
14105 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
14106 with BOOT_DRIVE and BOOT_PART_ADDR.
14107 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
14108 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
14109
38da6516 141102007-08-29 Robert Millan <rmh@aybabtu.com>
14111
14112 Patch from Simon Peter <dn.tlp@gmx.net>:
14113 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
14114 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
14115 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
14116 util/i386/pc/grub-setup.c_DEPENDENCIES.
14117 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
14118 util/grub-probe.c_DEPENDENCIES.
14119 * conf/powerpc-ieee1275.rmk: Likewise.
14120
29d0928c 141212007-08-28 Robert Millan <rmh@aybabtu.com>
14122
14123 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
14124 to tell grub-mkdevicemap how to name devices.
14125 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
14126 feature).
14127
14128 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
14129 util/i386/get_disk_name.c.
14130 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
14131 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
14132 util/ieee1275/get_disk_name.c.
14133
14134 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
14135
14136 * DISTLIST: Add util/i386/get_disk_name.c and
14137 util/ieee1275/get_disk_name.c.
14138
14139 * util/grub-mkdevicemap.c: Replace device naming logic with
14140 grub_util_get_disk_name() calls.
14141
5a0d3cca 141422007-08-20 Robert Millan <rmh@aybabtu.com>
14143
14144 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
14145 (so that it works for both plural and singular quantities).
14146
8b72db2f 141472007-08-05 Robert Millan <rmh@aybabtu.com>
14148
14149 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
14150 so that [xz] isn't taken into account when determining order.
14151
352466bf 141522007-08-02 Marco Gerards <marco@gnu.org>
14153
14154 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
14155 `include/multiboot2.h', `include/grub/elfload.h',
14156 `include/multiboot.h', `include/grub/multiboot.h',
14157 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
14158 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
14159 `kern/elf.c', `loader/multiboot_loader.c',
14160 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
14161 `loader/i386/pc/multiboot2.c',
14162 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
14163 `util/i386/pc/grub-mkrescue.in'. Remove
14164 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
14165 `include/grub/i386/pc/util/biosdisk.h' and
14166 `include/grub/powerpc/ieee1275/multiboot.h'.
14167
8f096014 141682007-08-02 Bean <bean123ch@gmail.com>
14169
14170 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
14171 (ntfs_mod_SOURCES): New variable.
14172 (ntfs_mod_CFLAGS): Likewise.
14173 (ntfs_mod_LDFLAGS): Likewise.
14174
14175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
14176 (grub_probe_SOURCES): Likewise.
14177 (grub_emu_SOURCES): Likewise.
14178
14179 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
14180 (grub_emu_SOURCES): Likewise.
14181
14182 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
14183 (grub_emu_SOURCES): Likewise.
f19dbdb7 14184
8f096014 14185 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
14186
14187 * fs/ntfs.c: New file.
14188
9959f7db 141892007-08-02 Bean <bean123ch@gmail.com>
14190
14191 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
14192
14193 * file.h (grub_file): Likewise.
14194
14195 * fshelp.h (grub_fshelp_read_file): Likewise.
14196
14197 * util/i386/pc/grub-setup.c (setup): Likewise.
14198 (save_first_sector): Likewise.
14199 (save_blocklists): Likewise.
f19dbdb7 14200
9959f7db 14201 * fs/affs.c (grub_affs_read_file): Likewise.
14202
14203 * fs/ext2.c (grub_ext2_read_file): Likewise.
14204
14205 * fs/fat.c (grub_fat_read_data): Likewise.
14206
14207 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
14208
14209 * fs/hfs.c (grub_hfs_read_file): Likewise.
14210
14211 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
14212
14213 * fs/jfs.c (grub_jfs_read_file): Likewise.
14214
14215 * fs/minix.c (grub_minix_read_file): Likewise.
14216
14217 * fs/sfs.c (grub_sfs_read_file): Likewise.
14218
14219 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 14220
9959f7db 14221 * fs/xfs.c (grub_xfs_read_file): Likewise.
14222
14223 * command/blocklist.c (read_blocklist): Likewise.
14224 (print_blocklist): Likewise.
14225
0a203f83 142262007-08-02 Marco Gerards <marco@gnu.org>
14227
14228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
14229 `util/hostfs.c'.
14230
14231 * disk/host.c: New file.
14232
14233 * util/hostfs.c: Likewise.
14234
14235 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
14236 return `GRUB_ERR_BAD_FS'.
14237 * fs/sfs.c (grub_sfs_mount): Likewise.
14238 * fs/xfs.c (grub_xfs_mount): Likewise.
14239
14240 * include/grub/disk.h (enum grub_disk_dev_id): Add
14241 `GRUB_DISK_DEVICE_HOST_ID'.
14242
14243 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
14244
e5dfe777 142452007-07-24 Jerone Young <jerone@gmail.com>
14246
f19dbdb7 14247 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 14248 modules for compilation.
14249 * conf/powerpc-ieee1275.rmk: Likewise.
14250
14251 * include/multiboot.h: Move multiboot definitions to one file. Rename
14252 many definitions to not get grub specific.
14253 * include/multiboot2.h: Create header with multiboot 2 definitions.
14254 * include/grub/multiboot.h: Header for grub specific function
14255 prototypes and definitions.
14256 * include/grub/multiboot2.h: Likewise.
14257 * include/grub/multiboot_loader.h: Likewise.
14258 * include/grub/i386/pc/multiboot.h: Removed.
14259 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
14260
14261 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
14262 and 2 to allow for one multiboot and module commands.
14263 * loader/multiboot2.c: Add multiboot2 functionality.
14264 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
14265 and definition names.
14266 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
14267 2 functions.
14268 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
14269 ieee1275 specific multiboot2 code.
14270
14271 * kern/i386/pc/startup.S: Change headers and definition names for
14272 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
14273
daf0f0ba 142742007-07-22 Robert Millan <rmh@aybabtu.com>
14275
14276 * geninitheader.sh: Process file specified in first parameter rather
14277 than hardcoding grub_modules_init.lst.
fe6b695a 14278 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 14279 than hardcoding grub_modules_init.h.
14280
14281 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
14282 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
14283 grub_probe_init.[ch] and grub_setup_init.[ch].
14284
14285 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
14286 grub_modules_init.h with grub_emu_init.h.
14287 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
14288 grub_probe_init.[ch] files.
14289 * conf/i386-efi.rmk: Likewise.
14290 * conf/i386-pc.rmk: Likewise.
14291 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
14292 grub_setup_init.[ch] files.
14293
14294 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
14295 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
14296 to initialize modules rather than a list of hardcoded functions.
14297 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
14298 grub_init_all() to initialize modules rather than a list of hardcoded
14299 functions.
14300
54cdc1cc 143012007-07-22 Robert Millan <rmh@aybabtu.com>
14302
14303 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14304 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
14305
ad0686cc 143062007-07-22 Robert Millan <rmh@aybabtu.com>
14307
14308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
14309 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
14310 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
14311 flag when running on SmartFirmware.
14312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
14313 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
14314 was set.
14315
14316 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14317 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
14318 rather than decreasing it.
14319
14320 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
14321 there's not enough space to do it, fail in the same way as when it
14322 can't be done because there are no partitions.
14323
14324 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
14325 when nvsetenv failed.
14326
969c02ec 143272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14328
14329 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
14330 because this rule is automatically generated.
14331 (grub-mkrescue): Removed for the same reason as above.
14332
5a79f472 143332007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
14334
14335 Migrate to GNU General Public License Version 3.
f19dbdb7 14336
5a79f472 14337 * COPYING: Replaced with the plain text version of GPLv3.
14338
14339 * config.guess: Updated from gnulib.
14340 * config.sub: Likewise.
14341
14342 * geninit.sh: Output a GPLv3 copyright notice.
14343 * geninitheader.sh: Likewise.
14344 * genmodsrc.sh: Likewise.
14345 * gensymlist.sh.in: Likewise.
14346
14347 * boot/i386/pc/boot.S: Upgraded to GPLv3.
14348 * boot/i386/pc/diskboot.S: Likewise.
14349 * boot/i386/pc/pxeboot.S: Likewise.
14350 * commands/blocklist.c: Likewise.
14351 * commands/boot.c: Likewise.
14352 * commands/cat.c: Likewise.
14353 * commands/cmp.c: Likewise.
14354 * commands/configfile.c: Likewise.
14355 * commands/echo.c: Likewise.
14356 * commands/help.c: Likewise.
14357 * commands/ls.c: Likewise.
14358 * commands/search.c: Likewise.
14359 * commands/terminal.c: Likewise.
14360 * commands/test.c: Likewise.
14361 * commands/videotest.c: Likewise.
14362 * commands/i386/cpuid.c: Likewise.
14363 * commands/i386/pc/halt.c: Likewise.
14364 * commands/i386/pc/play.c: Likewise.
14365 * commands/i386/pc/reboot.c: Likewise.
14366 * commands/i386/pc/vbeinfo.c: Likewise.
14367 * commands/i386/pc/vbetest.c: Likewise.
14368 * commands/ieee1275/halt.c: Likewise.
14369 * commands/ieee1275/reboot.c: Likewise.
14370 * commands/ieee1275/suspend.c: Likewise.
14371 * disk/loopback.c: Likewise.
14372 * disk/lvm.c: Likewise.
14373 * disk/raid.c: Likewise.
14374 * disk/efi/efidisk.c: Likewise.
14375 * disk/i386/pc/biosdisk.c: Likewise.
14376 * disk/ieee1275/ofdisk.c: Likewise.
14377 * font/manager.c: Likewise.
14378 * fs/affs.c: Likewise.
14379 * fs/ext2.c: Likewise.
14380 * fs/fat.c: Likewise.
14381 * fs/fshelp.c: Likewise.
14382 * fs/hfs.c: Likewise.
14383 * fs/hfsplus.c: Likewise.
14384 * fs/iso9660.c: Likewise.
14385 * fs/jfs.c: Likewise.
14386 * fs/minix.c: Likewise.
14387 * fs/sfs.c: Likewise.
14388 * fs/ufs.c: Likewise.
14389 * fs/xfs.c: Likewise.
14390 * hello/hello.c: Likewise.
14391 * include/grub/acorn_filecore.h: Likewise.
14392 * include/grub/arg.h: Likewise.
14393 * include/grub/bitmap.h: Likewise.
14394 * include/grub/boot.h: Likewise.
14395 * include/grub/cache.h: Likewise.
14396 * include/grub/device.h: Likewise.
14397 * include/grub/disk.h: Likewise.
14398 * include/grub/dl.h: Likewise.
14399 * include/grub/elfload.h: Likewise.
14400 * include/grub/env.h: Likewise.
14401 * include/grub/err.h: Likewise.
14402 * include/grub/file.h: Likewise.
14403 * include/grub/font.h: Likewise.
14404 * include/grub/fs.h: Likewise.
14405 * include/grub/fshelp.h: Likewise.
14406 * include/grub/gzio.h: Likewise.
14407 * include/grub/hfs.h: Likewise.
14408 * include/grub/kernel.h: Likewise.
14409 * include/grub/loader.h: Likewise.
14410 * include/grub/lvm.h: Likewise.
14411 * include/grub/misc.h: Likewise.
14412 * include/grub/mm.h: Likewise.
14413 * include/grub/net.h: Likewise.
14414 * include/grub/normal.h: Likewise.
14415 * include/grub/parser.h: Likewise.
14416 * include/grub/partition.h: Likewise.
14417 * include/grub/pc_partition.h: Likewise.
14418 * include/grub/raid.h: Likewise.
14419 * include/grub/rescue.h: Likewise.
14420 * include/grub/script.h: Likewise.
14421 * include/grub/setjmp.h: Likewise.
14422 * include/grub/symbol.h: Likewise.
14423 * include/grub/term.h: Likewise.
14424 * include/grub/terminfo.h: Likewise.
14425 * include/grub/tparm.h: Likewise.
14426 * include/grub/types.h: Likewise.
14427 * include/grub/video.h: Likewise.
14428 * include/grub/efi/api.h: Likewise.
14429 * include/grub/efi/chainloader.h: Likewise.
14430 * include/grub/efi/console.h: Likewise.
14431 * include/grub/efi/console_control.h: Likewise.
14432 * include/grub/efi/disk.h: Likewise.
14433 * include/grub/efi/efi.h: Likewise.
14434 * include/grub/efi/pe32.h: Likewise.
14435 * include/grub/efi/time.h: Likewise.
14436 * include/grub/i386/linux.h: Likewise.
14437 * include/grub/i386/setjmp.h: Likewise.
14438 * include/grub/i386/types.h: Likewise.
14439 * include/grub/i386/efi/kernel.h: Likewise.
14440 * include/grub/i386/efi/loader.h: Likewise.
14441 * include/grub/i386/efi/time.h: Likewise.
14442 * include/grub/i386/pc/biosdisk.h: Likewise.
14443 * include/grub/i386/pc/boot.h: Likewise.
14444 * include/grub/i386/pc/chainloader.h: Likewise.
14445 * include/grub/i386/pc/console.h: Likewise.
14446 * include/grub/i386/pc/init.h: Likewise.
14447 * include/grub/i386/pc/kernel.h: Likewise.
14448 * include/grub/i386/pc/loader.h: Likewise.
14449 * include/grub/i386/pc/memory.h: Likewise.
14450 * include/grub/i386/pc/multiboot.h: Likewise.
14451 * include/grub/i386/pc/serial.h: Likewise.
14452 * include/grub/i386/pc/time.h: Likewise.
14453 * include/grub/i386/pc/vbe.h: Likewise.
14454 * include/grub/i386/pc/vbeblit.h: Likewise.
14455 * include/grub/i386/pc/vbefill.h: Likewise.
14456 * include/grub/i386/pc/vbeutil.h: Likewise.
14457 * include/grub/i386/pc/vga.h: Likewise.
14458 * include/grub/ieee1275/ieee1275.h: Likewise.
14459 * include/grub/ieee1275/ofdisk.h: Likewise.
14460 * include/grub/powerpc/libgcc.h: Likewise.
14461 * include/grub/powerpc/setjmp.h: Likewise.
14462 * include/grub/powerpc/types.h: Likewise.
14463 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14464 * include/grub/powerpc/ieee1275/console.h: Likewise.
14465 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
14466 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14467 * include/grub/powerpc/ieee1275/loader.h: Likewise.
14468 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
14469 * include/grub/powerpc/ieee1275/time.h: Likewise.
14470 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
14471 * include/grub/sparc64/libgcc.h: Likewise.
14472 * include/grub/sparc64/setjmp.h: Likewise.
14473 * include/grub/sparc64/types.h: Likewise.
14474 * include/grub/sparc64/ieee1275/console.h: Likewise.
14475 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14476 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14477 * include/grub/sparc64/ieee1275/time.h: Likewise.
14478 * include/grub/util/biosdisk.h: Likewise.
14479 * include/grub/util/getroot.h: Likewise.
14480 * include/grub/util/lvm.h: Likewise.
14481 * include/grub/util/misc.h: Likewise.
14482 * include/grub/util/raid.h: Likewise.
14483 * include/grub/util/resolve.h: Likewise.
14484 * io/gzio.c: Likewise.
14485 * kern/device.c: Likewise.
14486 * kern/disk.c: Likewise.
14487 * kern/dl.c: Likewise.
14488 * kern/elf.c: Likewise.
14489 * kern/env.c: Likewise.
14490 * kern/err.c: Likewise.
14491 * kern/file.c: Likewise.
14492 * kern/fs.c: Likewise.
14493 * kern/loader.c: Likewise.
14494 * kern/main.c: Likewise.
14495 * kern/misc.c: Likewise.
14496 * kern/mm.c: Likewise.
14497 * kern/parser.c: Likewise.
14498 * kern/partition.c: Likewise.
14499 * kern/rescue.c: Likewise.
14500 * kern/term.c: Likewise.
14501 * kern/efi/efi.c: Likewise.
14502 * kern/efi/init.c: Likewise.
14503 * kern/efi/mm.c: Likewise.
14504 * kern/i386/dl.c: Likewise.
14505 * kern/i386/efi/init.c: Likewise.
14506 * kern/i386/efi/startup.S: Likewise.
14507 * kern/i386/pc/init.c: Likewise.
14508 * kern/i386/pc/lzo1x.S: Likewise.
14509 * kern/i386/pc/startup.S: Likewise.
14510 * kern/ieee1275/ieee1275.c: Likewise.
14511 * kern/powerpc/cache.S: Likewise.
14512 * kern/powerpc/dl.c: Likewise.
14513 * kern/powerpc/ieee1275/cmain.c: Likewise.
14514 * kern/powerpc/ieee1275/crt0.S: Likewise.
14515 * kern/powerpc/ieee1275/init.c: Likewise.
14516 * kern/powerpc/ieee1275/openfw.c: Likewise.
14517 * kern/sparc64/cache.S: Likewise.
14518 * kern/sparc64/dl.c: Likewise.
14519 * kern/sparc64/ieee1275/init.c: Likewise.
14520 * kern/sparc64/ieee1275/openfw.c: Likewise.
14521 * loader/efi/chainloader.c: Likewise.
14522 * loader/efi/chainloader_normal.c: Likewise.
14523 * loader/i386/efi/linux.c: Likewise.
14524 * loader/i386/efi/linux_normal.c: Likewise.
14525 * loader/i386/pc/chainloader.c: Likewise.
14526 * loader/i386/pc/chainloader_normal.c: Likewise.
14527 * loader/i386/pc/linux.c: Likewise.
14528 * loader/i386/pc/linux_normal.c: Likewise.
14529 * loader/i386/pc/multiboot.c: Likewise.
14530 * loader/i386/pc/multiboot_normal.c: Likewise.
14531 * loader/powerpc/ieee1275/linux.c: Likewise.
14532 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14533 * normal/arg.c: Likewise.
14534 * normal/cmdline.c: Likewise.
14535 * normal/command.c: Likewise.
14536 * normal/completion.c: Likewise.
14537 * normal/execute.c: Likewise.
14538 * normal/function.c: Likewise.
14539 * normal/lexer.c: Likewise.
14540 * normal/main.c: Likewise.
14541 * normal/menu.c: Likewise.
14542 * normal/menu_entry.c: Likewise.
14543 * normal/misc.c: Likewise.
14544 * normal/parser.y: Likewise.
14545 * normal/script.c: Likewise.
14546 * normal/i386/setjmp.S: Likewise.
14547 * normal/powerpc/setjmp.S: Likewise.
14548 * normal/sparc64/setjmp.S: Likewise.
14549 * partmap/acorn.c: Likewise.
14550 * partmap/amiga.c: Likewise.
14551 * partmap/apple.c: Likewise.
14552 * partmap/gpt.c: Likewise.
14553 * partmap/pc.c: Likewise.
14554 * partmap/sun.c: Likewise.
14555 * term/gfxterm.c: Likewise.
14556 * term/terminfo.c: Likewise.
14557 * term/efi/console.c: Likewise.
14558 * term/i386/pc/console.c: Likewise.
14559 * term/i386/pc/serial.c: Likewise.
14560 * term/i386/pc/vesafb.c: Likewise.
14561 * term/i386/pc/vga.c: Likewise.
14562 * term/ieee1275/ofconsole.c: Likewise.
14563 * util/biosdisk.c: Likewise.
14564 * util/console.c: Likewise.
14565 * util/genmoddep.c: Likewise.
14566 * util/getroot.c: Likewise.
14567 * util/grub-emu.c: Likewise.
14568 * util/grub-mkdevicemap.c: Likewise.
14569 * util/grub-probe.c: Likewise.
14570 * util/lvm.c: Likewise.
14571 * util/misc.c: Likewise.
14572 * util/raid.c: Likewise.
14573 * util/resolve.c: Likewise.
14574 * util/update-grub.in: Likewise.
14575 * util/update-grub_lib.in: Likewise.
14576 * util/grub.d/00_header.in: Likewise.
14577 * util/grub.d/10_hurd.in: Likewise.
14578 * util/grub.d/10_linux.in: Likewise.
14579 * util/i386/efi/grub-install.in: Likewise.
14580 * util/i386/efi/grub-mkimage.c: Likewise.
14581 * util/i386/pc/grub-install.in: Likewise.
14582 * util/i386/pc/grub-mkimage.c: Likewise.
14583 * util/i386/pc/grub-mkrescue.in: Likewise.
14584 * util/i386/pc/grub-setup.c: Likewise.
14585 * util/i386/pc/misc.c: Likewise.
14586 * util/powerpc/ieee1275/grub-install.in: Likewise.
14587 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
14588 * util/powerpc/ieee1275/misc.c: Likewise.
14589 * video/bitmap.c: Likewise.
14590 * video/video.c: Likewise.
14591 * video/i386/pc/vbe.c: Likewise.
14592 * video/i386/pc/vbeblit.c: Likewise.
14593 * video/i386/pc/vbefill.c: Likewise.
14594 * video/i386/pc/vbeutil.c: Likewise.
14595 * video/readers/tga.c: Likewise.
14596
3572d015 145972007-07-02 Robert Millan <rmh@aybabtu.com>
14598
14599 * conf/i386-efi.rmk: Replace obsolete reference to
14600 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
14601 with util/getroot.c.
14602 * conf/powerpc-ieee1275.rmk: Likewise.
14603 * conf/sparc64-ieee1275.rmk: Likewise.
14604
14605 * util/grub-emu.c (main): Fix unchecked pointer handling.
14606
2c2a681b 146072007-07-02 Robert Millan <rmh@aybabtu.com>
14608
14609 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
14610 invocation to fail, in order to support partition-less media.
14611
14612 * util/i386/pc/grub-install.in: Likewise.
14613
14614 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
14615 which fs or partmap modules are needed (akin to its sister scripts).
14616
14617 Also use grub-probe to get rid of unportable /proc/mounts check.
14618
14619 Print the same informational message that the other scripts do, before
fe6b695a 14620 exiting.
2c2a681b 14621
6193defe 146222007-06-23 Robert Millan <rmh@aybabtu.com>
14623
fe6b695a 14624 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 14625 a font file can be found and, if so, echo the GRUB path to it.
14626
14627 * util/update-grub.in: Handle multiple terminals depending on user
14628 input, platform availability and font file presence. Propagate
14629 variables of our findings to /etc/grub.d/ children.
14630
14631 * util/grub.d/00_header.in: Handle multiple terminals, based on
14632 environment setup by update-grub.
14633
eface1dc 146342007-06-23 Robert Millan <rmh@aybabtu.com>
14635
ba50d28f 14636 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 14637
bf697e28 146382007-06-21 Robert Millan <rmh@aybabtu.com>
14639
14640 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
14641 indicate end of data section in kernel image.
14642 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
14643 GRUB_KERNEL_MACHINE_DATA_END.
14644
14645 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
14646 space for it.
14647 * kern/i386/efi/startup.S: Likewise.
14648
14649 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
14650 during image generation. Implement --prefix option to override this
14651 patch.
14652 * util/i386/efi/grub-mkimage.c: Likewise.
14653
14654 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
14655 code to make path relative to its root into a separate function.
14656
14657 * util/i386/pc/grub-install.in: Use newly provided
14658 make_system_path_relative_to_its_root() to convert ${grubdir}, then
14659 pass the result to grub-install --prefix.
14660
baa574b4 146612007-06-13 Robert Millan <rmh@aybabtu.com>
14662
14663 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
14664 DEFAULT_DEVICE_MAP.
14665 * util/grub-emu.c: Use above definitions from misc.h instead of
14666 defining them.
14667 * util/grub-mkdevicemap.c: Likewise.
14668 * util/i386/pc/grub-setup.c: Likewise.
14669 * util/grub-probe.c: Likewise.
14670 (probe): Abort with grub_util_error() when either
14671 grub_guess_root_device or grub_util_get_grub_dev fails.
14672
0215dcbf 146732007-06-12 Robert Millan <rmh@aybabtu.com>
14674
14675 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
14676 "pager" assignment.
14677 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
14678 "pcdata".
14679 * util/grub-probe.c (probe): Likewise for "drive_name".
14680
8af2ab7b 146812007-06-11 Robert Millan <rmh@aybabtu.com>
14682
14683 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
14684 not just the cdrom one.
14685
59d31694 146862007-06-11 Robert Millan <rmh@aybabtu.com>
14687
14688 * util/i386/pc/grub-mkrescue.in: Add "set -e".
14689 Add --pkglibdir=DIR option to override pkglibdir.
14690 Mention --image-type=TYPE in help output.
14691 Fix --grub-mkimage (it was a no-op).
fe6b695a 14692 Abort gracefully when no parameter is given.
59d31694 14693
7ee367e4 146942007-06-11 Robert Millan <rmh@aybabtu.com>
14695
14696 * util/i386/pc/grub-mkrescue.in: New file.
14697 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
14698 * Makefile.in: Handle bin_SCRIPTS.
14699
29b0ed46 147002007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
14701
14702 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
14703 list of video modes.
14704
c0f90770 147052007-06-06 Robert Millan <rmh@aybabtu.com>
14706
14707 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
14708 file doesn't exist, or if it is in a filesystem grub can't read.
14709
14710 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
14711 not abort if GRUB_DRIVE could not be defined. Rearrange generated
14712 header comment to fit in 80 columns when the variables are resolved.
14713
14714 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
14715 could be identified by update-grub. Remove redundant check for
fe6b695a 14716 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 14717 handles that).
14718
fb36dc26 147192007-06-04 Robert Millan <rmh@aybabtu.com>
14720
14721 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
14722
14723 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
14724
14725 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
14726
0c68c93e 147272007-06-04 Robert Millan <rmh@aybabtu.com>
14728
14729 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
14730
14731 * include/grub/partition.h: Declare grub_apple_partition_map_init and
14732 grub_apple_partition_map_fini.
14733
14734 * util/biosdisk.c
14735 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
14736 to access >2 TiB disks).
14737
14738 Print disk->total_sectors with %llu instead of %lu, since this
14739 variable is always 64-bit (prevents wrong disk size from being displayed
14740 on either >2 TiB disk or big-endian CPU).
14741
14742 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
14743 into a generic case that supports all (sane) partition maps.
14744
14745 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
14746 breaks big-endian.
14747
14748 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
14749 and grub_apple_partition_map_fini() after that.
14750
0f23eb74 147512007-06-01 Robert Millan <rmh@aybabtu.com>
14752
14753 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
14754
14755 * util/grub.d/00_header.in: Only enable gfxterm when
14756 convert_system_path_to_grub_path() succeeds.
14757
42c71976 147582007-05-20 Robert Millan <rmh@aybabtu.com>
14759
14760 * util/update-grub_lib.in: New file.
14761 * DISTLIST: Add update-grub_lib.in.
14762 * conf/common.rmk: Generate update-grub_lib and install it in
14763 $(lib_DATA).
14764 * Makefile.in: Add install routine for $(lib_DATA).
14765
14766 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
14767 function provided by update-grub_lib to support arbitrary paths of
14768 unifont.pff.
14769 * util/update-grub.in: Use convert_system_path_to_grub_path() to
14770 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
14771
5beb2291 147722007-05-19 Robert Millan <rmh@aybabtu.com>
14773
14774 * commands/i386/cpuid.c: New module.
14775 * DISTLIST: Add it.
14776 * conf/i386-efi.rmk: Enable cpuid.mod.
14777 * conf/i386-pc.rmk: Likewise.
14778
7262eca1 147792007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14780
14781 * kern/disk.c (grub_disk_read): Check return value of
14782 grub_realloc().
14783
260ba823 147842007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14785
14786 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
14787 arrays.
14788 * disk/raid.c (grub_raid_open): Likewise.
14789
1ecb6cf2 147902007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14791
14792 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
14793 stack instead of on the heap.
14794
14795 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
14796 before doing a read on it.
14797
14798 * configure.ac: Only use -fno-stack-protector for the target
14799 environment.
f19dbdb7 14800
21c8cbb1 148012007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14802
14803 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
14804 __attribute_ ((unused)) to mode_type argument.
14805
14806 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 14807
21c8cbb1 14808 * kern/misc.c (memcmp): Fix prototype.
14809
14810 * include/grub/partition.h [GRUB_UTIL]
14811 (grub_gpt_partition_map_init): Add prototype.
14812 (grub_gpt_partition_map_fini): Likewise.
14813
14814 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
14815 at the right place.
14816
14817 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
14818 (grub_fat_read_data): Likewise.
14819 (grub_fat_find_dir): Likewise.
14820
14821 * font/manager.c (find_glyph): Make table a const.
14822 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 14823
849d55d3 148242007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
14825
14826 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
14827 code, first search for device in /dev/mapper, then in /dev.
14828 (grub_util_get_grub_dev): New function.
14829 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
14830 prototype.
14831 * util/grub-probe.c (probe): Remove check for RAID, call
14832 grub_util_get_grub_dev() instead of
14833 grub_util_biosdisk_get_grub_dev().
14834 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
14835 grub_util_biosdisk_get_grub_dev().
14836 * util/i386/pc/grub-setup.c (main): Likewise.
14837
8fff7c2f 148382007-05-16 Robert Millan <rmh@aybabtu.com>
14839
14840 * DISTLIST: Update for the latest changes.
14841 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
14842 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
14843 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
14844 grub/util/biosdisk.h.
14845 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
14846 grub/util/biosdisk.h.
14847
48e12b52 148482007-05-16 Robert Millan <rmh@aybabtu.com>
14849
14850 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
14851
46b9d128 148522007-05-16 Robert Millan <rmh@aybabtu.com>
14853
14854 * util/i386/efi/grub-install.in: New.
14855 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
14856 newly added grub-install.
14857 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
14858 include.
14859 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
14860 grub/util/biosdisk.h.
14861 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
14862 grub/util/biosdisk.h.
14863
2d1a40a9 148642007-05-16 Robert Millan <rmh@aybabtu.com>
14865
14866 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
14867 * include/grub/util/biosdisk.h: ... here.
14868 * util/i386/pc/biosdisk.c: Moved to ...
14869 * util/biosdisk.c: ... here.
14870 * util/i386/pc/getroot.c: Moved to ...
14871 * util/getroot.c: ... here.
14872 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
14873 * util/grub-mkdevicemap.c: ... here.
14874 * util/i386/pc/grub-probe.c: Moved to ...
14875 * util/grub-probe.c: ... here.
14876
9e26e3bc 148772007-05-15 Robert Millan <rmh@aybabtu.com>
14878
14879 * util/update-grub.in: Remove duplicated line in grub.cfg header
14880 message.
14881
57f96397 148822007-05-13 Robert Millan <rmh@aybabtu.com>
14883
14884 * util/update-grub.in: Fix a few assumptions about the devices holding
14885 /, /boot and /boot/grub being the same.
14886 * util/grub.d/00_header.in: Likewise.
14887 * util/grub.d/10_hurd.in: Likewise.
14888 * util/grub.d/10_linux.in: Likewise.
14889
14890 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
14891 patterns. Use that to define the `.old' suffix as older than `'.
14892
14893 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
14894
14895 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
14896 the grub.cfg header message.
14897
2e610d62 148982007-05-11 Robert Millan <rmh@aybabtu.com>
14899
14900 * util/update-grub.in: Create device.map if it doesn't already exist,
14901 before attempting to run grub-probe.
14902 Check for grub-probe and grub-mkdevicemap with the same code
14903 grub-install is using.
14904 Remove test mode.
14905
3f6a10ef 149062007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
14907
14908 * Makefile.in: Add the datarootdir autoconf variable.
14909
02e7b75e 149102007-05-09 Robert Millan <rmh@aybabtu.com>
14911
14912 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 14913 fail gracefully if dev->disk->partition == NULL.
02e7b75e 14914
75f396cc 149152007-05-07 Robert Millan <rmh@aybabtu.com>
14916
14917 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
14918 determine partition map module.
14919 * util/i386/pc/grub-install.in: Use this feature to decide which
14920 partition module to load, instead of hardcoding pc and gpt.
14921
da65cb36 149222007-05-07 Robert Millan <rmh@aybabtu.com>
14923
14924 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
14925 source directory differs from build directory.
14926
b57d6a91 149272007-05-05 Robert Millan <rmh@aybabtu.com>
14928
14929 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
14930 initialisation.
14931
509d00f1 149322007-05-05 Robert Millan <rmh@aybabtu.com>
14933
14934 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
14935
c48f23ef 149362007-05-05 Robert Millan <rmh@aybabtu.com>
14937
14938 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
14939 command-line arguments via ${GRUB_CMDLINE_LINUX}.
14940
20b97658 149412007-05-05 Robert Millan <rmh@aybabtu.com>
14942
14943 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
14944 (grub_probe_SOURCES): Likewise.
14945 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
14946 GPT and initialize dos_part and bsd_part accordingly.
14947 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
14948 install_bsd_part.
14949 (main): Activate gpt module for use during partition identification,
14950 and deactivate it afterwards.
14951 * util/i386/pc/grub-install.in: Add gpt module to core.img.
14952 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
14953 partition identification, and deactivate it afterwards.
14954
99123174 149552007-05-05 Robert Millan <rmh@aybabtu.com>
14956
14957 * term/i386/pc/console.c (grub_console_fini): Call
14958 grub_term_set_current() before grub_term_unregister().
14959
ebd97f6e 149602007-05-04 Robert Millan <rmh@aybabtu.com>
14961
14962 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
14963 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
14964 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
14965 and update-grub_DATA.
14966 * conf/common.rmk: Build and install update-grub components.
14967 * conf/common.mk: Regenerate.
14968 * util/update-grub.in: New. Core of update-grub.
14969 * util/grub.d/00_header.in: New. Generates grub.cfg header.
14970 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
14971 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
14972 * util/grub.d/README: New. Document grub.d directory layout.
14973
b06a264d 149742007-05-01 Robert Millan <rmh@aybabtu.com>
14975
14976 * util/grub-emu.c: Move initialization functions
14977 grub_util_biosdisk_init() and grub_init_all() before
14978 grub_util_biosdisk_get_grub_dev(), which relies on them.
14979
41f0050e 149802007-04-19 Robert Millan <rmh@aybabtu.com>
14981
14982 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
14983 it is used later.
14984
04582bb3 149852007-04-18 Jerone Young <jerone@gmail.com>
14986
f19dbdb7 14987 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 14988 stanza.
14989
08db4632 149902007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 14991
08db4632 14992 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
14993 continue on and look for device node with real device name.
14994
801b76be 149952007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 14996
fe6b695a 14997 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 14998 ability.
14999 * Makefile.in: Add autoconf package transformation code.
15000 * util/i386/pc/grub-install.in: Likewise.
15001 * util/powerpc/ieee1275/grub-install.in: Likewise.
15002
6795c4e1 150032007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
15004
15005 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
15006 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
15007 (EXT2_REVISION): Likewise.
15008 (EXT2_INODE_SIZE): Likewise.
15009 (struct grub_ext2_block_group): Added a missing member
15010 "used_dirs".
15011 (grub_ext2_read_inode): Divide by the inode size in a superblock
15012 instead of 128 to obtain INODES_PER_BLOCK.
15013 Use the macro EXT2_INODE_SIZE instead of directly using
15014 SBLOCK->INODE_SIZE.
15015
d70af616 150162007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
15017
15018 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
15019 superblock instead of the structure size to compute an
15020 offset. This fixes the problem that GRUB could not read a
15021 filesystem when inode size is different from 128-byte.
15022
3b801603 150232007-03-05 Marco Gerards <marco@gnu.org>
15024
15025 * normal/main.c (read_config_file): When "menu" is not set, create
15026 an initial context.
15027
4785bfe4 150282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15029
15030 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
15031 (HEAP_LIMIT): New macro.
15032 (grub_claim_heap): Claim memory up to `heaplimit'.
15033
a0cbb023 150342007-02-21 Hollis Blanchard <hollis@penguinppc.org>
15035
15036 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
15037 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
15038 (_start): Likewise.
15039 (grub_arch_modules_addr): Return address after `_end'.
15040 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
15041 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
15042 (add_segments): Calculate `_end' from phdr size and location.
15043 (ALIGN_UP): Moved to ...
15044 * include/grub/misc.h: here.
15045 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
15046 New macro.
15047 (GRUB_IEEE1275_MODULE_BASE): Removed.
15048
fd7d8eba 150492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15050
15051 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
15052 loop boundary.
15053
9b09e6fc 150542007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15055
15056 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
15057 All users updated.
15058 (grub_elf64_load_hook_t): Likewise.
15059 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
15060 debug output.
15061
3ce27299 150622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
15063
15064 * kern/mm.c: Update copyright.
15065 (grub_mm_debug): Correct syntax error.
15066 (grub_mm_dump_free): New function.
15067 (grub_debug_free): Call `grub_free'.
15068 * include/grub/mm.h: Update copyright.
15069 (grub_mm_dump_free): Add declaration.
15070
077d5fee 150712007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15072
15073 * include/grub/ieee1275/ieee1275.h: Update copyright.
15074 * kern/powerpc/ieee1275/init.c: Likewise.
15075 * kern/powerpc/ieee1275/openfw.c: Likewise.
15076
15077 * loader/powerpc/ieee1275/linux.c: Likewise.
15078 * include/grub/elfload.h: Likewise.
15079 * kern/elf.c: Likewise.
15080 (grub_elf32_load): Pass `base' and `size' parameters. Update all
15081 callers.
15082 (grub_elf64_load): Likewise.
15083 (grub_elf32_load_segment): Move to a nested function.
15084 (grub_elf64_load_segment): Likewise.
15085
dc946850 150862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
15087
15088 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
15089 prototype.
15090 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
15091 (grub_heap_len): Likewise.
15092 (HEAP_SIZE): New macro.
15093 (grub_claim_heap): New function.
15094 (grub_machine_init): Don't claim heap directly. Call
15095 `grub_claim_heap'.
15096 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
15097 (grub_available_iterate): New function.
15098
baa2a121 150992007-02-03 Thomas Schwinge <tschwinge@gnu.org>
15100
15101 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
15102 * configure.ac: Use it for testing the HOST and TARGET compilers.
15103
4fe9862e 151042006-12-13 Thomas Schwinge <tschwinge@gnu.org>
15105
15106 * Makefile.in (enable_grub_emu): New variable.
15107 * configure.ac (--enable-grub-emu): New option.
15108 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
15109 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
15110 * conf/i386-pc.rmk: Likewise.
15111 * conf/powerpc-ieee1275.rmk: Likewise.
15112 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
15113
a8aa5762 151142006-12-12 Marco Gerards <marco@gnu.org>
15115
15116 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
15117
15118 * kern/env.c (grub_env_unset): Don't free the member `value' when
15119 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
15120 pointer.
15121
15122 * normal/main.c (current_menu): Removed.
15123 (free_menu): Unset the `menu' environment variable.
15124 (grub_normal_menu_addentry): Make use of the environment variable
15125 `menu', instead of using the global `current_menu'. Allocate
15126 memory for the sourcecode of this entry.
15127 (read_config_file): New argument `nested', changed all callers.
15128 Only in the case of a new context, initialize a new menu. Set the
15129 `menu' environment variable.
15130 (grub_normal_execute): Don't set and unset the environment
15131 variable `menu' here anymore. Only free the menu when leaving the
15132 context.
15133
15134 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
15135 leak.
15136
957b3a3e 151372006-12-11 Marco Gerards <marco@gnu.org>
15138
15139 * normal/menu_entry.c (run): Fix off by one bug so the last line
15140 is executed. Move the loader check to outside the loop.
15141
ef875714 151422006-12-08 Hollis Blanchard <hollis@penguinppc.org>
15143
15144 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
15145
4e739985 151462006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
15147
15148 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
15149 the number of sectors. Reported by Andrey Shuvikov
15150 <mr_hyro@yahoo.com>.
f19dbdb7 15151
790707f2 151522006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
15153
15154 * kern/disk.c (grub_disk_read): When there is a read error, always
15155 try to read only the necessary data.
f19dbdb7 15156
790707f2 15157 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
15158 disk/raid.c.
15159 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
15160 prototype.
15161 [GRUB_UTIL] (grub_raid_fini): Likewise.
15162 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 15163 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 15164 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
15165 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
15166 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
15167 and grub_raid_fini().
f19dbdb7 15168
03e58196 151692006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
15170
15171 * include/grub/types.h (__unused): Rename to UNUSED.
15172 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
15173 (grub_elf64_size): Likewise.
f19dbdb7 15174
ae4f23bf 151752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
15176
15177 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
15178 grub_error_push and grub_error_pop in the error-handling path.
15179 (grub_elf32_load_segment): Only call grub_file_read with non-zero
15180 length.
15181
2166cc83 151822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
15183
15184 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
15185 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15187 (kernel_elf_SOURCES): Likewise.
15188 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
15189 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
15190 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15191 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
15192 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
15193 (elf_mod_SOURCES): New variable.
15194 (elf_mod_CFLAGS): Likewise.
15195 (elf_mod_LDFLAGS): Likewise.
15196 * include/grub/types.h (__unused): New macro.
15197 * include/grub/elfload.h: New file.
15198 * kern/elf.c: Likewise.
15199 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
15200 (ELF32_LOADMASK): New macro.
15201 (ELF64_LOADMASK): Likewise.
15202 (vmlinux): Removed.
15203 (grub_linux_load32): New function.
15204 (grub_linux_load64): Likewise.
15205 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
15206 Use grub_elf_t instead of grub_file_t.
15207
a09d5aa5 152082006-11-02 Hollis Blanchard <hollis@penguinppc.org>
15209
15210 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
15211 `catch_result' to struct set_color_args.
15212
d976fc51 152132006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
15214
15215 * normal/menu.c: Include grub/script.h.
15216 * normal/menu_entry.c: Likewise.
15217 * include/grub/normal.h: Do not include grub/script.h.
15218
67507549 152192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15220
15221 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
15222
69203a99 152232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15224
15225 * kern/disk.c (grub_disk_open): Print debug messages when opening a
15226 disk.
15227 (grub_disk_close): Print debug messages when closing a disk.
15228 (grub_disk_read): Print debug messages when disk read fails.
15229 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
15230 filesystem type.
15231 * kern/partition.c: Include misc.h.
15232 (grub_partition_iterate): Print debug messages when detecting
15233 partition type.
15234
e2b8278c 152352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
15236
15237 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
15238 is negative.
15239 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
15240
97b2f2ff 152412006-10-26 Hollis Blanchard <hollis@penguinppc.org>
15242
15243 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15244 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
15245
6555d655 152462006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
15247
15248 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
15249 instead of sizeof(lv). Patch by Michael Guntsche.
15250
4d42b77f 152512006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
15252
15253 * disk/lvm.c: Rename VGS to VG_LIST.
15254 (grub_lvm_iterate): Change VGS->LV to VG-LV.
15255 (grub_lvm_open): Likewise.
15256 Thanks to Michael Guntsche for finding this bug.
15257
5d74d927 152582006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
15259
15260 * configure.ac (AC_INIT): Bumped to 1.95.
15261
a1bb27e4 152622006-10-14 Robert Millan <rmh@aybabtu.com>
15263
15264 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
15265 with "/dev/.static/dev/md".
15266
e0994b8b 152672006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15268
15269 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
15270 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
15271 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
15272 DRIVE_NAME are always freed.
15273
15274 * util/i386/pc/biosdisk.c (make_device_name): Add one into
15275 DOS_PART, as a DOS partition is counted from one instead of zero
15276 now. Reported by Robert Millan.
15277
ddd5cee9 152782006-10-14 Robert Millan <rmh@aybabtu.com>
15279
15280 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
15281 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
15282 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
15283 string returned by grub_guess_root_device.
15284 * util/i386/pc/grub-setup.c: Likewise.
15285 * util/i386/pc/grub-probefs.c: Likewise.
15286
15287 * util/i386/pc/grub-probefs.c: Rename to ...
15288 * util/i386/pc/grub-probe.c: ... this.
15289 * DISTLIST: Remove grub-probefs, add grub-probe.
15290 * conf/i386-efi.rmk: Likewise.
15291 * conf/i386-pc.rmk: Likewise.
15292 * util/i386/pc/grub-install.in: Likewise.
15293
15294 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
15295 choose which information we want to print.
15296
2b002173 152972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
15298
15299 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
15300 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
15301 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
15302 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
15303 video/readers/tga.c and video/i386/pc/vbeutil.c.
15304
153052006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
15306
15307 Added support for RAID and LVM.
f19dbdb7 15308
2b002173 15309 * disk/lvm.c: New file.
15310 * disk/raid.c: Likewise.
15311 * include/grub/lvm.h: Likewise.
f19dbdb7 15312 * include/grub/raid.h: Likewise.
2b002173 15313 * include/grub/util/lvm.h: Likewise.
15314 * include/grub/util/raid.h: Likewise.
15315 * util/lvm.c: Likewise.
15316 * util/raid.c: Likewise.
15317
15318 * include/grub/disk.h (grub_disk_dev_id): Add
15319 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
15320 (grub_disk_get_size): New prototype.
15321 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
15322 returns a partition.
15323 (grub_disk_get_size): New function.
f19dbdb7 15324
2b002173 15325 * kern/i386/pc/init.c (make_install_device): Copy the prefix
15326 verbatim if grub_install_dos_part is -2.
15327
15328 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
15329 and LVM devices.
15330
15331 * util/i386/pc/grub-setup.c (setup): New argument
15332 MUST_EMBED. Force embedding of GRUB when the argument is
15333 true. Close FILE before returning.
15334 (main): Add support for RAID and LVM.
f19dbdb7 15335
2b002173 15336 * conf/common.rmk: Add RAID and LVM modules.
15337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
15338 util/lvm.c.
15339 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
15340
15341 * kern/misc.c (grub_strstr): New function.
15342 * include/grub/misc.h (grub_strstr): New prototype.
15343
050548d0 153442006-10-10 Tristan Gingold <tristan.gingold@bull.net>
15345
15346 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
15347
da849d2d 153482006-10-05 Tristan Gingold <tristan.gingold@bull.net>
15349
15350 * kern/misc.c (grub_strtoull): Guess the base only if not
15351 specified.
15352
97b2f2ff 153532006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 15354
15355 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
15356 PowerMac support.
15357
97b2f2ff 153582006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 15359
15360 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
15361
15362 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
15363 Remove `flags' argument. All callers changed.
15364 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
15365 (IEEE1275_IHANDLE_INVALID): New variable.
15366 (IEEE1275_CELL_INVALID): New variable.
15367 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15368 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
15369 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
15370 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
15371 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
15372 codes from Open Firmware. All callers updated.
15373 (grub_ieee1275_next_property): Directly return Open Firmware return
15374 code.
15375 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15376 Standardize error checking from `grub_ieee1275_get_property'.
15377 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
15378 `devalias' to `aliases'. Correct comments. Consolidate error paths.
15379
97b2f2ff 153802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 15381
15382 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
15383 `instance_to_package_args' to `instance_to_path_args'.
15384
15385 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
15386 `grub_ieee1275_chosen'.
15387
15388 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
15389 `grub_ieee1275_interpret'.
15390
97b2f2ff 153912006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 15392
15393 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
15394
97b2f2ff 153952006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 15396
15397 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
15398 (__cmpdi): Likewise.
15399
15400 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
15401 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
15402 `grub_ssize_t'.
15403
02bb8acc 15404 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 15405
15406 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
15407 to type `grub_ssize_t'.
15408 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
15409
7f9a8531 154102006-09-22 Marco Gerards <marco@gnu.org>
15411
15412 * normal/script.c (grub_script_create_cmdmenu): Skip leading
15413 newlines.
15414
b5ef1102 154152006-09-22 Marco Gerards <marco@gnu.org>
15416
15417 * commands/echo.c: New file.
15418
15419 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
15420
15421 * conf/common.rmk (echo_mod_SOURCES): New variable.
15422 (echo_mod_CFLAGS): Likewise.
15423 (echo_mod_LDFLAGS): Likewise.
15424
2cff3677 154252006-09-22 Marco Gerards <marco@gnu.org>
15426
15427 * normal/main.c (get_line): Malloc memory instead of using
15428 preallocated memory. Removed the arguments `cmdline' and
15429 `max_len'. Updated all callers.
15430
6ba4688b 154312006-09-22 Marco Gerards <marco@gnu.org>
15432
15433 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
15434 (normal_mod_DEPENDENCIES): Likewise.
15435
15436 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
15437 (normal_mod_DEPENDENCIES): Likewise.
15438
15439 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
15440
e02ac02c 154412006-09-22 Johan Rydberg <jrydberg@gnu.org>
15442
15443 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
15444 programs.
15445 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
15446 (normal_mod_DEPENDENCIES): Likewise.
15447 * conf/i386-pc.mk: Regenerate.
15448 * conf/i386-efi.mk: Likewise
15449 * conf/common.mk: Likewise.
15450 * conf/powerpc-ieee1275.mk: Likewise.
15451 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15452
8d252e44 154532006-09-22 Robert Millan <rmh@aybabtu.com>
15454
15455 Sync with i386 version.
15456 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
15457 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
15458
209bf7ac 154592006-09-21 Robert Millan <rmh@aybabtu.com>
15460
15461 Import from GRUB Legacy (lib/device.c):
15462 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
15463 (init_device_map) [__linux__]: Add support for I2O devices.
15464
6b146090 154652006-09-14 Marco Gerards <marco@gnu.org>
15466
15467 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
15468 `-melf_i386'.
15469
e38600a8 154702006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 15471
15472 * util/i386/pc/grub-install.in: Skip menu.lst when removing
15473 /boot/grub/*.lst.
78fa1790 15474
2952da5d 15475 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 15476
2952da5d 15477 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
15478 before adding it to device.map.
15479
01b82a64 154802006-08-15 Johan Rydberg <jrydberg@gnu.org>
15481
fe6b695a 15482 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 15483 compiles a file; using the -MD option.
15484 * conf/common.mk: Regenerate.
15485 * conf/i386-pc.mk: Likewise.
15486 * conf/i386-efi.mk: Likewise.
15487 * conf/powerpc-ieee1275.mk: Likewise.
15488 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15489
1064790d 154902006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
15491
15492 Move the prototypes of grub_setjmp and grub_longjmp to
15493 cpu/setjmp.h, so that each architecture may specify different
15494 attributes.
f19dbdb7 15495
1064790d 15496 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
15497 (grub_longjmp): Likewise.
15498 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
15499 (grub_longjmp): Likewise.
15500 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
15501 (grub_longjmp): Likewise.
15502
15503 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
15504 [!GRUB_UTIL] (grub_longjmp): Removed.
15505
29dda3ed 155062006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
15507
15508 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
15509 "color!" method does not return any value.
15510
ad2a06ed 155112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15512
15513 * include/grub/bitmap.h: New file.
15514
15515 * include/grub/i386/pc/vbeutil.h: Likewise.
15516
15517 * video/bitmap.c: Likewise.
15518
15519 * video/readers/tga.c: Likewise.
15520
15521 * video/i386/pc/vbeutil.c: Likewise.
15522
15523 * commands/videotest.c: Code cleanup and updated to reflect to new
15524 video API.
15525
15526 * term/gfxterm.c: Likewise.
15527
15528 * video/video.c: Likewise.
15529
15530 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
15531 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
15532 (bitmap_mod_SOURCES): New entry.
15533 (bitmap_mod_CFLAGS): Likewise.
15534 (bitmap_mod_LDFLAGS): Likewise.
15535 (tga_mod_SOURCES): Likewise.
15536 (tga_mod_CFLAGS): Likewise.
15537 (tga_mod_LDFLAGS): Likewise.
15538
15539 * include/grub/video.h (grub_video_blit_operators): New enum type.
15540 (grub_video_render_target): Changed as forward declaration and moved
15541 actual definition to be video driver specific.
15542 (grub_video_adapter.blit_bitmap): Added blitting operator.
15543 (grub_video_adapter.blit_render_target): Likewise.
15544 (grub_video_blit_bitmap): Likewise.
15545 (grub_video_blit_render_target): Likewise.
15546
15547 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
15548 driver specific render target definition.
15549 (grub_video_vbe_map_rgba): Added driver internal helper.
15550 (grub_video_vbe_unmap_color): Updated to use
15551 grub_video_i386_vbeblit_info.
15552 (grub_video_vbe_get_video_ptr): Likewise.
15553
15554 * include/grub/i386/pc/vbeblit.h
15555 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
15556 grub_video_i386_vbeblit_info.
15557 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15558 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15559 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15560 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15561 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15562 (grub_video_i386_vbeblit_index_index): Likewise.
15563 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
15564 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15565 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15566 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
15567 operator.
15568 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
15569 operator.
15570
15571 * video/i386/pc/vbeblit.c: Updated to reflect changes on
15572 include/grub/i386/pc/vbeblit.h.
15573
15574 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
15575 Updated to use grub_video_i386_vbeblit_info.
15576 (grub_video_i386_vbefill_R8G8B8): Likewise.
15577 (grub_video_i386_vbefill_index): Likewise.
15578 (grub_video_i386_vbefill): Added generic filler.
15579
15580 * video/i386/pc/vbefill.c: Updated to reflect changes on
15581 include/grub/i386/pc/vbefill.h.
15582
15583 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
15584 grub_video_i386_vbeblit_info.
15585 (grub_video_vbe_unmap_color): Likewise.
15586 (grub_video_vbe_blit_glyph): Likewise.
15587 (grub_video_vbe_scroll): Likewise.
15588 (grub_video_vbe_draw_pixel): Removed function.
15589 (grub_video_vbe_get_pixel): Likewise.
15590 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
15591 updated code to use it.
15592 (common_blitter): Added common blitter for render target and bitmap.
15593 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
15594 (grub_video_vbe_blit_render_target): Likewise.
15595
bc8c036d 155962006-07-30 Johan Rydberg <jrydberg@gnu.org>
15597
15598 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
15599 is in text mode if there is no console control protocol instance
15600 available.
15601
684a8eff 156022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15603
15604 * include/grub/video.h: Code cleanup.
15605
15606 * include/grub/i386/pc/vbe.h: Likewise.
15607
15608 * video/i386/pc/vbe.c: Likewise.
15609
15610 * video/i386/pc/vbeblit.c: Likewise.
15611
15612 * video/i386/pc/vbefill.c: Likewise.
15613
15614 * video/video.c: Likewise. Also added more comments.
15615
5915059b 156162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15617
15618 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
15619 (struct grub_biosdisk_dap): Likewise.
15620
15621 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
15622 linkage settings for all functions.
15623
90ce5d56 156242006-07-12 Marco Gerards <marco@gnu.org>
15625
15626 * configure.ac (--enable-mm-debug): Fix typo.
15627
15628 * genkernsyms.sh.in: Use proper quoting for `CC'.
15629
43e7f879 156302006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
15631
15632 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
15633 (normal_mod_ASFLAGS): Remove "-m32".
15634
4889bdec 156352006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
15636
15637 * util/misc.c: Include config.h.
15638 [!HAVE_MEMALIGN]: Do not include malloc.h.
15639 (grub_memalign): Use posix_memalign, if present. Then, use
15640 memalign, if present. Otherwise, emit an error.
15641
15642 * util/grub-emu.c: Do not include malloc.h.
15643
15644 * include/grub/util/misc.h: Include unistd.h. This is required for
15645 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
15646 D. Eades III <hde@foobar-qux.org>.
15647
15648 * configure.ac (AC_GNU_SOURCE): Added.
15649 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
15650 type.
15651
fd39d4da 156522006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
15653
15654 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
15655 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
15656
b786f3b5 156572006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
15658
15659 * include/grub/types.h (grub_host_addr_t): Rename to
15660 grub_target_addr_t.
15661 (grub_host_off_t): Rename to grub_target_off_t.
15662 (grub_host_size_t): Rename to grub_target_size_t.
15663 (grub_host_ssize_t): Rename to grub_target_ssize_t.
15664 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
15665
15666 * include/grub/kernel.h (struct grub_module_header): Change type
15667 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
15668 (grub_module_info): Likewise.
f19dbdb7 15669
051988bb 156702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15671
15672 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
15673 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
15674 Velazquez <jesus.velazquez@gmail.com>.
15675
deae281b 156762006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15677
15678 Count partitions from 1 instead of 0 in the string representation
15679 of partitions. Still use 0-based internally.
f19dbdb7 15680
deae281b 15681 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
15682 (sun_partition_map_iterate): Use grub_partition_t instead of
15683 struct grub_partition *. Cast DESC->START_CYLINDER to
15684 grub_uint64_t after converting the endian.
15685 (sun_partition_map_probe): Subtract 1 for PARTNUM.
15686 (sun_partition_map_get_name): Add 1 to P->INDEX.
15687
15688 * partmap/pc.c (grub_partition_parse): Subtract 1 for
15689 PCDATA->DOS_PART.
15690 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
15691
15692 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
15693 zero instead of one.
15694 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
15695 (gpt_partition_map_get_name): Add 1 into P->INDEX.
15696
15697 * partmap/apple.c (apple_partition_map_iterate): Change the type
15698 of POS to unsigned.
15699 (apple_partition_map_probe): Subtract 1 for PARTNUM.
15700 (apple_partition_map_get_name): Add 1 into P->INDEX.
15701
15702 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
15703 of POS to unsigned.
15704 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
15705 calculate the offset of a partition.
15706 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
15707 (amiga_partition_map_get_name): Add 1 into P->INDEX.
15708
15709 * partmap/acorn.c (acorn_partition_map_find): Change the type of
15710 SECTOR to grub_disk_addr_t.
15711 (acorn_partition_map_iterate): Likewise.
15712 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
15713 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
15714 top.
15715 (acorn_partition_map_get_name): Add 1 into P->INDEX.
15716
15717 * kern/i386/pc/init.c (make_install_device): Add 1 into
15718 GRUB_INSTALL_DOS_PART.
15719
15720 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
15721 conditional.
15722
524a1e6a 157232006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15724
15725 Clean up the code to support 64-bit addressing in disks and
15726 files. This change is not enough for filesystems yet.
f19dbdb7 15727
524a1e6a 15728 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
15729 type of "start" to grub_uint64_t.
15730 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
15731 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
15732 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
15733 convert addresses.
15734
15735 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
15736 to grub_disk_addr_t.
15737
15738 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
15739 string.
15740
15741 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15742
15743 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
15744 to char *.
15745
15746 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
15747
15748 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
15749
15750 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
15751
15752 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
15753 to grub_off_t, to detect an error from grub_file_seek.
15754 (grub_multiboot_load_elf32): Likewise.
15755
15756 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
15757 maximum unsigned long value when an overflow is detected.
15758 (grub_strtoull): New function.
15759 (grub_divmod64): Likewise.
15760 (grub_lltoa): use grub_divmod64.
15761
15762 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
15763 grub_disk_addr_t.
15764 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
15765 the pointer to next character. Use grub_strtoull instead of
15766 grub_strtoul.
15767 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
15768 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
15769 respectively.
15770
fe6b695a 15771 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 15772 return value is signed.
15773 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
15774 test if OFFSET is less than zero, as OFFSET is unsigned now.
15775
15776 * kern/disk.c (struct grub_disk_cache): Change the type of
15777 "sector" to grub_disk_addr_t.
15778 (grub_disk_cache_get_index): Change the type of SECTOR to
15779 grub_disk_addr_t. Calculate the hash with SECTOR casted to
15780 unsigned after shifting.
15781 (grub_disk_cache_invalidate): Change the type of SECTOR to
15782 grub_disk_addr_t.
15783 (grub_disk_cache_unlock): Likewise.
15784 (grub_disk_cache_store): Likewise.
15785 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
15786 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
15787 grub_disk_addr_t and grub_uint64_t, respectively.
15788 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
15789 body, as the value of OFFSET is tweaked by
15790 grub_disk_check_range. Change the types of START_SECTOR, LEN and
15791 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
15792 respectively.
15793 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
15794 body, as the value of OFFSET is tweaked by
15795 grub_disk_check_range. Change the types of LEN and N to
15796 grub_size_t.
15797
15798 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
15799 and "saved_offset" to grub_off_t.
15800 (test_header): Cast BUF to char *.
15801 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
15802 to char *.
15803 (grub_gzio_read): Change the types of OFFSET and SIZE to
15804 grub_off_t and grub_size_t, respectively.
15805
15806 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
15807 Removed.
15808 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
15809 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
15810 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
15811 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
15812 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
15813
15814 * include/grub/types.h (grub_off_t): Unconditionally set to
15815 grub_uint64_t.
15816 (grub_disk_addr_t): Changed to grub_uint64_t.
15817
15818 * include/grub/partition.h (struct grub_partition): Change the
15819 types of "start", "len" and "offset" to grub_disk_addr_t,
15820 grub_uint64_t and grub_disk_addr_t, respectively.
15821 (grub_partition_get_start): Return grub_disk_addr_t.
15822 (grub_partition_get_len): Return grub_uint64_t.
15823
15824 * include/grub/misc.h (grub_strtoull): New prototype.
15825 (grub_divmod64): Likewise.
15826
15827 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
15828 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
15829 grub_off_t, respectively.
15830 All callers and references changed.
15831
15832 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
15833 grub_size_t in "read".
15834 All callers and references changed.
15835
15836 * include/grub/file.h (struct grub_file): Change the types of
15837 "offset" and "size" to grub_off_t and grub_off_t,
15838 respectively. Change the type of SECTOR to grub_disk_addr_t in
15839 "read_hook".
15840 (grub_file_read): Change the type of LEN to grub_size_t.
15841 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
15842 grub_off_t.
15843 (grub_file_size): Return grub_off_t.
15844 (grub_file_tell): Likewise.
15845 All callers and references changed.
15846
15847 * include/grub/disk.h (struct grub_disk_dev): Change the types of
15848 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
15849 "write".
15850 (struct grub_disk): Change the type of "total_sectors" to
15851 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 15852 "read_hook".
524a1e6a 15853 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
15854 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
15855 (grub_disk_write): Likewise.
15856 All callers and references changed.
15857
15858 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
15859 char * for grub_strncmp to silence gcc.
15860 (grub_iso9660_mount): Likewise.
15861 (grub_iso9660_mount): Likewise.
15862 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
15863 return statement.
15864 (grub_iso9660_iterate_dir): Likewise.
15865 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
15866
15867 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
15868 LEN to grub_disk_addr_t and grub_size_t, respectively.
15869
15870 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15871
15872 * fs/jfs.c (grub_jfs_read_file): Likewise.
15873
15874 * fs/minix.c (grub_jfs_read_file): Likewise.
15875
15876 * fs/sfs.c (grub_jfs_read_file): Likewise.
15877
15878 * fs/ufs.c (grub_jfs_read_file): Likewise.
15879
15880 * fs/xfs.c (grub_jfs_read_file): Likewise.
15881
15882 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
15883 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
15884 respectively.
15885
15886 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
15887 BLKNR to -1 instead of returning GRUB_ERRNO.
15888 (grub_ext2_read_file): Change the types of SECTOR and
15889 LEN to grub_disk_addr_t and grub_size_t, respectively.
15890
15891 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
15892 LEN to grub_disk_addr_t and grub_size_t, respectively.
15893
15894 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
15895 grub_file_read.
15896
15897 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
15898 string. Do not cast SECTOR explicitly.
15899
15900 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
15901 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
15902 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
15903 grub_disk_addr_t and grub_size_t, respectively. If the sector is
15904 over 2TB and LBA mode is not supported, raise an error.
15905 (get_safe_sectors): New function.
15906 (grub_biosdisk_read): Use get_safe_sectors.
15907 (grub_biosdisk_write): Likewise.
15908
15909 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
15910 (grub_efidisk_write): Likewise.
15911
15912 * disk/loopback.c (delete_loopback): Cosmetic changes.
15913 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
15914 correctly.
15915 (grub_loopback_open): Likewise.
15916 (grub_loopback_read): Likewise. Also, change the type of POS to
15917 grub_off_t, and fix the usage of grub_memset.
15918
15919 * commands/i386/pc/play.c: Include grub/machine/time.h.
15920
15921 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
15922 print FILE->SIZE.
15923
15924 * commands/configfile.c: Include grub/env.h.
15925
15926 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
15927 GRUB_ERRNO directly instead. Change the type of POS to
15928 grub_off_t. Follow the coding standard.
15929
15930 * commands/blocklist.c: Include grub/partition.h.
15931 (grub_cmd_blocklist): Return an error if the underlying device is
15932 not a disk. Take the starting sector of a partition into account,
15933 if a partition is used.
15934
15935 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
15936 a length field.
15937 (lba_mode): Support 64-bit addresses.
15938 (chs_mode): Likewise.
15939 (copy_buffer): Adapted to the new offsets of a length field and a
15940 segment field.
15941 (blocklist_default_start): Allocate 64-bit space.
15942
15943 * boot/i386/pc/boot.S (force_lba): Removed.
15944 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 15945 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 15946 space.
15947 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
15948 is useless.
15949 (lba_mode): Refactored to support a 64-bit address. More size
15950 optimization.
15951 (setup_sectors): Likewise.
15952
53af98ad 159532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15954
15955 * DISTLIST: Added include/grub/i386/linux.h. Removed
15956 include/grub/i386/pc/linux.h
15957
15958 * configure.ac (AC_INIT): Bumped to 1.94.
15959
15960 * config.guess: Updated from gnulib.
15961 * config.sub: Likewise.
15962 * install-sh: Likewise.
15963 * mkinstalldirs: Likewise.
15964
b4c1940a 159652006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15966
15967 * conf/common.rmk (grub_modules_init.lst): Depended on
15968 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
15969 MODSRCFILES.
15970
15971 * genmk.rb (PModule::rule): Reverted the previous change.
15972
cfca1cfd 159732006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15974
15975 * conf/common.rmk (grub_modules_init.lst): Depends on
15976 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
15977 that the target does not exist before producing.
15978 (grub_modules_init.h): Remove the target before generating.
15979 (grub_emu_init.c): Likewise.
15980
15981 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
15982
aa6d7826 159832006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
15984
15985 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
15986 for the target-specific tests. Make sure that we also have the
15987 up-to-date target variables for those tests.
15988
26c607b9 159892006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15990
15991 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
15992 (PModule::rule): Likewise.
15993
0162321a 159942006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15995
15996 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
15997 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
15998 target-specific flags should be prefixed.
15999 (PModule::rule): Likewise.
16000
6c826348 160012006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
16002
16003 * configure.ac (CMP): Check if cmp is available explicitly.
16004
b977bf01 160052006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
16006
16007 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
16008 (target_cpu): New variable.
16009 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 16010
b977bf01 16011 * util/i386/pc/grub-install.in (host_cpu): Removed.
16012 (target_cpu): New variable.
16013 (pkglibdir): Use target_cpu instead of host_cpu.
16014
16015 * util/genmoddep.c: Removed.
f19dbdb7 16016
b977bf01 16017 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
16018 instead of GRUB_HOST_SIZEOF_VOID_P.
16019 * kern/dl.c: Likewise.
16020
16021 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
16022 ...
16023 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16024 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16025 (GRUB_TARGET_SIZEOF_LONG): ... this.
16026 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16027 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16028 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16029 to ...
16030 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16031 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16032 (GRUB_TARGET_SIZEOF_LONG): ... this.
16033 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16034 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16035 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
16036 to ...
16037 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
16038 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
16039 (GRUB_TARGET_SIZEOF_LONG): ... this.
16040 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
16041 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
16042
16043 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
16044 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
16045 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
16046 instead of GRUB_HOST_SIZEOF_LONG.
16047 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
16048 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
16049 GRUB_CPU_WORDS_BIGENDIAN.
16050 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
16051 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
16052 grub_host_ssize_t.
16053
16054 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
16055 (genmoddep_SOURCES): Likewise.
16056 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
16057 (genmoddep_SOURCES): Likewise.
16058 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
16059 (genmoddep_SOURCES): Likewise.
16060 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
16061 Likewise.
16062 (genmoddep_SOURCES): Likewise.
16063
16064 * genmoddep.awk: New file.
16065
16066 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
16067 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
16068 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
16069 (PModule::rule): Likewise.
16070 (Program::rule): Likewise.
16071 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
16072 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
16073 respectively.
16074
16075 * configure.ac: Rewritten intensively to use host and target
16076 instead of build and host, respectively.
16077
16078 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
16079 (host_cpu): Removed.
16080 (target_cpu): New variable.
16081 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
16082 (BUILD_CC): Removed.
16083 (BUILD_CFLAGS): Likewise.
16084 (BUILD_CPPFLAGS): Likewise.
16085 (TARGET_CC): New variable.
16086 (TARGET_CFLAGS): Likewise.
16087 (TARGET_CPPFLAGS): Likewise.
16088 (TARGET_LDFLAGS): Likewise.
16089 (AWK): Likewise.
16090 (include): Use target_cpu instead of host_cpu.
16091 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 16092
b977bf01 16093 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
16094
f09771a1 160952006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
16096
16097 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
16098 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
16099 field 'false' to 'exec_on_false'.
16100 (grub_script_create_cmdif): Renamed argument names to reflect above
16101 changes.
16102
16103 * normal/execute.c (grub_script_execute_cmdif): Likewise.
16104
16105 * normal/script.c (grub_script_create_cmdif): Likewise.
16106
118f4fb3 161072006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
16108
16109 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
16110 top.
16111 (grub_hfsplus_btree_recptr): Likewise.
16112 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
16113 FILEBLOCK both to pass a block number and store next block
16114 number.
16115 (grub_hfsplus_read_block): Rewritten heavily to support an extent
16116 overflow file correctly. Specify errors appropriately, because
16117 fshelp expects that GRUB_ERRNO is set when fails. Reuse
16118 grub_hfsplus_btree_recptr to get the pointer to a found key.
16119 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
16120 is found.
16121
16122 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
16123 linux.mod.
16124 (_linux_mod_SOURCES): New variable.
16125 (_linux_mod_CFLAGS): Likewise.
16126 (_linux_mod_LDFLAGS): Likewise.
16127 (linux_mod_SOURCES): Likewise.
16128 (linux_mod_CFLAGS): Likewise.
16129 (linux_mod_LDFLAGS): Likewise.
16130
16131 * DISTLIST: Added loader/i386/efi/linux.c,
16132 loader/i386/efi/linux_normal.c and
16133 include/grub/i386/efi/loader.h.
16134
16135 * loader/i386/efi/linux.c: New file.
16136 * loader/i386/efi/linux_normal.c: Likewise.
16137 * include/grub/i386/efi/loader.h: Likewise.
16138
89a7d726 161392006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
16140
16141 * commands/blocklist.c: New file.
16142
16143 * DISTLIST: Added commands/blocklist.c.
16144
16145 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 16146 color for the background, and a darker color for the foreground.
89a7d726 16147 (grub_console_checkkey): Return READ_KEY.
16148 (grub_console_cls): Set the background to
16149 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
16150
16151 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
16152
16153 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
16154 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
16155
16156 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
16157 prototype.
16158
16159 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
16160 BG. The spec is wrong again.
16161
16162 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
16163 prototype.
16164 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
16165
16166 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
16167 commands/blocklist.c.
16168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 16169
89a7d726 16170 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
16171 (blocklist_mod_SOURCES): New variable.
16172 (blocklist_mod_CFLAGS): Likewise.
16173 (blocklist_mod_LDFLAGS): Likewise.
16174
75c8f258 161752006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
16176
16177 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
16178 duplication.
16179 (lba_mode): Use %eax more intensively to reduce the code size.
16180
da2eb181 161812006-05-20 Marco Gerards <marco@gnu.org>
16182
16183 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
16184
16185 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
16186 for `menuentry'.
16187 (script): Accept leading newlines.
16188 (newlines): New rule to describe 0 or more newlines.
16189 (commands): Accept `command' with trailing newline. Fixed the
16190 order in which arguments were passed to `grub_script_add_cmd'.
16191 Accept commands separated by newlines.
16192 (function): Changed to accept newlines.
16193 (menuentry) Rewritten.
16194
16195 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
16196 front of the list, instead of to the end.
16197
577b4050 161982006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
16199
16200 * util/i386/pc/grub-install.in (bindir): New variable.
16201 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
16202 Shaver <lbgwjl@gmail.com>.
16203
0d6e1189 162042006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
16205
16206 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
16207 grub/machine/linux.h
16208 * loader/i386/pc/linux.c: Likewise.
16209
16210 * include/grub/i386/pc/linux.h: Moved to ...
16211 * include/grub/i386/linux.h: ... here.
16212
16213 * include/grub/i386/linux.h (struct linux_kernel_params): New
16214 struct.
f19dbdb7 16215
31b86e9f 162162006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
16217
16218 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
16219 checking.
16220 (grub_video_vbe_blit_glyph): Likewise.
16221 (grub_video_vbe_blit_bitmap): Likewise.
16222 (grub_video_vbe_blit_render_target): Likewise.
16223
83b984de 162242006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
16225
16226 * configure.ac (--with-platform): Properly quote the square
16227 brackets.
16228
5f0413bd 162292006-05-08 Marco Gerards <marco@gnu.org>
16230
16231 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
16232 this...
16233 (kernel_elf_HEADERS): ...to this. Updated all users.
16234 (grubof_symlist.c): Renamed from this...
16235 (kernel_elf_symlist.c): ...to this. Updated all users.
16236 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16237 (grubof_SOURCES): Renamed from this...
16238 (kernel_elf_SOURCES): ...to this.
16239 (grubof_HEADERS): Renamed from this...
16240 (kernel_elf_HEADERS): ...to this.
16241 (grubof_CFLAGS): Renamed from this...
16242 (kernel_elf_CFLAGS): ...to this.
16243 (grubof_ASFLAGS): Renamed from this...
16244 (kernel_elf_ASFLAGS): ...to this.
16245 (grubof_LDFLAGS): Renamed from this...
16246 (kernel_elf_LDFLAGS): ...to this.
16247
16248 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
16249 this...
16250 (kernel_elf_HEADERS): ...to this. Updated all users.
16251 (grubof_symlist.c): Renamed from this...
16252 (kernel_elf_symlist.c): ...to this. Updated all users.
16253 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
16254 (grubof_SOURCES): Renamed from this...
16255 (kernel_elf_SOURCES): ...to this.
16256 (grubof_HEADERS): Renamed from this...
16257 (kernel_elf_HEADERS): ...to this.
16258 (grubof_CFLAGS): Renamed from this...
16259 (kernel_elf_CFLAGS): ...to this.
16260 (grubof_ASFLAGS): Renamed from this...
16261 (kernel_elf_ASFLAGS): ...to this.
16262 (grubof_LDFLAGS): Renamed from this...
16263 (kernel_elf_LDFLAGS): ...to this.
16264
16265 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
16266 `kernel.elf' instead of `grubof'.
16267
05568c2e 162682006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
16269
16270 Add --with-platform to configure. Use pkglibdir instead of
16271 pkgdatadir. This is reported by Roger Leigh.
16272
16273 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
16274 (host_vendor): Likewise.
16275 (host_os): Likewise.
16276 (pkgdatadir): Likewise.
16277 (platform): New variable.
16278 (pkglibdir): Likewise.
16279 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 16280
05568c2e 16281 * util/i386/pc/grub-install.in (datadir): Removed.
16282 (host_vendor): Likewise.
16283 (host_os): Likewise.
16284 (pkgdatadir): Likewise.
16285 (platform): New variable.
16286 (pkglibdir): Likewise.
16287 Use PKGLIBDIR instead of PKGDATADIR.
16288
16289 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
16290 instead of GRUB_DATADIR.
16291 (main): Likewise.
16292 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16293 (main): Likewise.
16294 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16295 (main): Likewise.
16296
16297 * configure.ac (--with-platform): New option.
16298 Use PLATFORM instead of HOST_VENDOR to specify a platform.
16299
16300 * Makefile.in: Include a makefile based on PLATFORM instead of
16301 HOST_VENDOR.
16302 (pkgdatadir): Not appended by the machine type.
16303 (pkglibdir): Appended by the machine type.
16304 (host_vendor): Removed.
16305 (platform): New variable.
16306 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
16307 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
16308 (uninstall): Likewise.
16309
4e93851c 163102006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
16311
16312 Use the environment context in the menu. Remove the commands
16313 "default" and "timeout", and use variables instead.
f19dbdb7 16314
4e93851c 16315 * normal/menu.c: Include grub/env.h.
16316 (print_entry): Cast TITLE to silence gcc.
16317 (get_timeout): New function.
16318 (set_timeout): Likewise.
16319 (get_entry_number): Likewise.
16320 (run_menu): Use a default entry, a fallback entry and a timeout
16321 in the environment variables "default", "fallback" and
16322 "timeout". Also, tweak the default entry if it is not within the
16323 current menu entries.
16324 (grub_menu_run): Use a fallback entry in the environment variable
16325 "fallback".
16326
16327 * normal/main.c (read_config_file): Do not initialize
16328 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
16329 NEWMENU->TIMEOUT.
16330 (grub_normal_execute): Use a data slot to store the menu.
16331
16332 * include/grub/normal.h (struct grub_menu): Removed default_entry,
16333 fallback_entry and timeout.
16334 (struct grub_menu_list): Removed.
16335 (grub_menu_list_t): Likewise.
16336 (struct grub_context): Likewise.
16337 (grub_context_t): Likewise.
16338 (grub_context_get): Likewise.
16339 (grub_context_get_current_menu): Likewise.
16340 (grub_context_push_menu): Likewise.
16341 (grub_context_pop_menu): Likewise.
16342 (grub_default_init): Likewise.
16343 (grub_default_fini): Likewise.
16344 (grub_timeout_init): Likewise.
16345 (grub_timeout_fini): Likewise.
16346
16347 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
16348 and timeout.mod.
16349 (normal_mod_SOURCES): Removed normal/context.c.
16350
16351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
16352 commands/default.c, commands/timeout.c and normal/context.c.
16353 (normal_mod_SOURCES): Removed normal/context.c.
16354
16355 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
16356 commands/timeout.c and normal/context.c.
16357 (normal_mod_SOURCES): Removed normal/context.c.
16358
16359 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
16360 commands/default.c, commands/timeout.c and normal/context.c.
16361 (normal_mod_SOURCES): Removed normal/context.c.
16362
16363 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
16364 timeout.mod.
16365 (default_mod_SOURCES): Removed.
16366 (default_mod_CFLAGS): Likewise.
16367 (default_mod_LDFLAGS): Likewise.
16368 (timeout_mod_SOURCES): Removed.
16369 (timeout_mod_CFLAGS): Likewise.
16370 (timeout_mod_LDFLAGS): Likewise.
16371
16372 * DISTLIST: Removed commands/default.c, commands/timeout.c and
16373 normal/context.c.
16374
16375 * commands/default.c: Removed.
16376 * commands/timeout.c: Likewise.
16377 * normal/context.c: Likewise.
16378
1eb9cc1d 163792006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
16380
16381 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
16382
385bd9c1 163832006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
16384
16385 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
16386 "next" to "prev" for readability.
16387 (struct grub_env_sorted_var): New struct.
16388 (grub_env_context): Renamed to ...
16389 (initial_context): ... this.
16390 (grub_env_var_context): Renamed to ...
16391 (current_context): ... this.
16392 (grub_env_find): Look only at CURRENT_CONTEXT.
16393 (grub_env_context_open): Rewritten to copy exported variables from
16394 previous context.
16395 (grub_env_context_close): Rewritten according to the new
16396 scheme. Also, add an assertion to prevent the initial context from
16397 removed.
16398 (grub_env_insert): Removed the code for the sorted list.
16399 (grub_env_remove): Likewise.
16400 (grub_env_export): Simply mark the variable with
16401 GRUB_ENV_VAR_GLOBAL.
16402 (grub_env_set): A cosmetic change for naming consistency.
16403 (grub_env_get): Likewise.
16404 (grub_env_unset): Likewise.
16405 (grub_env_iterate): Rewritten to sort variables within this
16406 function.
16407 (grub_register_variable_hook): Fixed for naming consistency. Call
16408 grub_env_find again, only if NAME is not found at the first time.
16409 (mangle_data_slot_name): New function.
16410 (grub_env_set_data_slot): Likewise.
16411 (grub_env_get_data_slot): Likewise.
16412 (grub_env_unset_data_slot): Likewise.
16413
16414 * include/grub/env.h (grub_env_var_type): New enum.
16415 (GRUB_ENV_VAR_LOCAL): New constant.
16416 (GRUB_ENV_VAR_GLOBAL): Likewise.
16417 (GRUB_ENV_VAR_DATA): Likewise.
16418 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
16419 "type".
16420 (grub_env_set): Replace VAR with NAME for consistency.
16421 (grub_register_variable_hook): Likewise.
16422 (grub_env_export): Specify the name of the argument.
16423 (grub_env_set_data_slot): New prototype.
16424 (grub_env_get_data_slot): Likewise.
16425 (grub_env_unset_data_slot): Likewise.
16426
7f362539 164272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16428
16429 Extend the loader so that GRUB can accept a loader which comes
16430 back to GRUB when a loaded image exits. Also, this change adds
16431 support for a chainloader on EFI.
f19dbdb7 16432
7f362539 16433 * term/efi/console.c: Include grub/misc.h.
16434 (grub_console_checkkey): Display a scan code on the top for
16435 debugging. This will be removed once the EFI port gets stable.
16436 Correct the scan code mapping.
16437
16438 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
16439 allocate memory from larger regions, in order to reduce the number
16440 of allocated regions. Otherwise, the MacOSX loader panics.
16441 (filter_memory_map): Avoid less than 1MB for compatibility with
16442 other loaders.
16443 (add_memory_regions): Allocate from the tail of a region, if
16444 possible, to avoid allocating a region near to 1MB, for the MacOSX
16445 loader.
16446
16447 * kern/efi/init.c (grub_efi_set_prefix): Specify
16448 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
16449
16450 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
16451 argument IMAGE_HANDLE and specify it to get a loaded image.
16452 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
16453 grub_efi_get_loaded_image.
fe6b695a 16454 (grub_efi_get_filename): Divide the length by the size of
7f362539 16455 grub_efi_char16_t.
16456 (grub_efi_get_device_path): New function.
16457 (grub_efi_print_device_path): Print End Device Path nodes. Divide
16458 the length by the size of grub_efi_char16_t for a file path device
16459 path node.
16460
16461 * kern/loader.c (grub_loader_noreturn): New variable.
16462 (grub_loader_set): Accept a new argument NORETURN. Set
16463 GRUB_LOADER_NORETURN to NORETURN.
16464 All callers changed.
16465 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
16466 grub_machine_fini.
16467
16468 * include/grub/efi/efi.h (grub_efi_get_device_path): New
16469 prototype.
16470 (grub_efi_get_loaded_image): Take an argument to specify an image
16471 handle.
16472
16473 * include/grub/loader.h (grub_loader_set): Added one more argument
16474 NORETURN.
16475
16476 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
16477 instead of grub_efi_open_protocol.
16478 (grub_efidisk_get_device_name): Likewise.
16479 (grub_efidisk_close): Print a newline.
16480 (grub_efidisk_get_device_handle): Fixed to use
16481 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
16482 GRUB_EFI_DEVICE_PATH_TYPE.
16483
16484 * disk/efi/efidisk.c (device_path_guid): Moved to ...
16485 * kern/efi/efi.c (device_path_guid): ... here.
16486
16487 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
16488 chain.mod.
16489 (kernel_mod_HEADERS): Added efi/disk.h.
16490 (_chain_mod_SOURCES): New variable.
16491 (_chain_mod_CFLAGS): Likewise.
16492 (_chain_mod_LDFLAGS): Likewise.
16493 (chain_mod_SOURCES): Likewise.
16494 (chain_mod_CFLAGS): Likewise.
16495 (chain_mod_LDFLAGS): Likewise.
16496
16497 * DISTLIST: Added include/grub/efi/chainloader.h,
16498 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
16499
16500 * include/grub/efi/chainloader.h: New file.
16501 * loader/efi/chainloader.c: Likewise.
16502 * loader/efi/chainloader_normal.c: Likewise.
16503
c0111d6e 165042006-04-30 Marco Gerards <marco@gnu.org>
16505
16506 * commands/configfile.c (grub_cmd_source): New function.
16507 (GRUB_MOD_INIT): Register the commands `source' and `.'.
16508 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
16509
df5341da 165102006-04-30 Marco Gerards <marco@gnu.org>
16511
16512 * normal/execute.c (grub_script_execute_cmd): Change the return
16513 type to `grub_err_t'. Correctly return the error.
16514 (grub_script_execute_cmdline): In case a command line is not a
16515 command or a function, try to interpret it as an assignment.
16516
f85934bd 165172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16518
16519 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
16520 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
16521 skip a node whose name is obviously invalid as UTF-16,
16522 i.e. contains a NUL character. Stop the iteration when the last
16523 directory entry is found. Instead of using the return value of
16524 grub_hfsplus_btree_iterate_node, store the value in RET and use
16525 it, because the iterator can be stopped by the last directory
16526 entry.
16527
8f8a2cf8 165282006-04-30 Marco Gerards <marco@gnu.org>
16529
16530 * include/grub/env.h (grub_env_export): New prototype. Reported
16531 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
16532
a27e84ce 165332006-04-30 Marco Gerards <marco@gnu.org>
16534
16535 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
16536 size of the extents in a catalog file record.
16537
eaef0553 165382006-04-29 Marco Gerards <marco@gnu.org>
16539
16540 * commands/configfile.c (grub_cmd_configfile): Execute the
16541 configfile within its own context.
16542
16543 * include/grub/env.h (grub_env_context_open): New prototype.
16544 (grub_env_context_close): Likewise.
16545
16546 * kern/env.c (grub_env): Removed.
16547 (grub_env_sorted): Likewise.
16548 (grub_env_context): New variable.
16549 (grub_env_var_context): Likewise.
16550 (grub_env_find): Search both the active context and the global
16551 context.
16552 (grub_env_context_open): New function.
16553 (grub_env_context_close): Likewise.
16554 (grub_env_insert): Likewise.
16555 (grub_env_remove): Likewise.
16556 (grub_env_export): Likewise.
16557 (grub_env_set): Changed to use helper functions to avoid code
16558 duplication.
16559 (grub_env_iterate): Rewritten so both the current context and the
16560 global context are being used.
16561
16562 * normal/command.c (export_command): New function.
16563 (grub_command_init): Register the `export' function.
16564
7b455f4d 165652006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
16566
16567 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
16568 explicitly to suppress gcc's warnings.
16569 * fs/fat.c (grub_fat_find_dir): Likewise.
16570 (grub_fat_label): Likewise.
16571 * fs/xfs.c (grub_xfs_read_inode): Likewise.
16572 (grub_xfs_mount): Likewise.
16573 (grub_xfs_label): Likewise.
16574 * fs/affs.c (grub_affs_mount): Likewise.
16575 (grub_affs_label): Likewise.
16576 (grub_affs_iterate_dir): Likewise.
16577 * fs/sfs.c (grub_sfs_mount): Likewise.
16578 (grub_sfs_iterate_dir): Likewise.
16579 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
16580 * fs/hfs.c (grub_hfs_mount): Likewise.
16581 (grub_hfs_cmp_catkeys): Likewise.
16582 (grub_hfs_find_dir): Likewise.
16583 (grub_hfs_dir): Likewise.
16584 (grub_hfs_label): Likewise.
16585 * fs/jfs.c (grub_jfs_mount): Likewise.
16586 (grub_jfs_opendir): Likewise.
16587 (grub_jfs_getent): Likewise.
16588 (grub_jfs_lookup_symlink): Likewise.
16589 (grub_jfs_label): Likewise.
16590 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
16591 (grub_hfsplus_iterate_dir): Likewise.
16592 (grub_hfsplus_btree_iterate_node): Made static.
16593
16594 * util/grub-emu.c (prefix): New variable.
16595 (grub_machine_set_prefix): New function.
16596 (main): Do not set the environment variable "prefix" here. Only
16597 set PREFIX, which is used later by grub_machine_set_prefix.
16598
16599 * include/grub/video.h: Do not include grub/symbol.h.
16600 (grub_video_register): Not exported. This symbol is not defined in
16601 the kernel.
16602 (grub_video_unregister): Likewise.
16603 (grub_video_iterate): Likewise.
16604 (grub_video_setup): Likewise.
16605 (grub_video_restore): Likewise.
16606 (grub_video_get_info): Likewise.
16607 (grub_video_get_blit_format): Likewise.
16608 (grub_video_set_palette): Likewise.
16609 (grub_video_get_palette): Likewise.
16610 (grub_video_set_viewport): Likewise.
16611 (grub_video_get_viewport): Likewise.
16612 (grub_video_map_color): Likewise.
16613 (grub_video_map_rgb): Likewise.
16614 (grub_video_map_rgba): Likewise.
16615 (grub_video_fill_rect): Likewise.
16616 (grub_video_blit_glyph): Likewise.
16617 (grub_video_blit_bitmap): Likewise.
16618 (grub_video_blit_render_target): Likewise.
16619 (grub_video_scroll): Likewise.
16620 (grub_video_swap_buffers): Likewise.
16621 (grub_video_create_render_target): Likewise.
16622 (grub_video_delete_render_target): Likewise.
16623 (grub_video_set_active_render_target): Likewise.
16624
16625 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
16626 Undefined.
16627 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
16628
16629 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
16630 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16631 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16632 instead of $(srcdir)/genkernsyms.sh.
16633
16634 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
16635 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16636 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16637 instead of $(srcdir)/genkernsyms.sh.
16638
16639 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
16640 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16641 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16642 instead of $(srcdir)/genkernsyms.sh.
16643
16644 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
16645 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16646 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16647 instead of $(srcdir)/genkernsyms.sh.
16648
16649 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
16650 genkernsyms.sh.
16651
16652 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
16653 genkernsyms.sh.
16654 (gensymlist.sh): New target.
16655 (genkernsyms.sh): Likewise.
16656
16657 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
16658 genkernsyms.sh.in and gensymlist.sh.in.
16659
16660 * genkernsyms.sh: Removed.
16661 * gensymlist.sh: Likewise.
f19dbdb7 16662
7b455f4d 16663 * genkernsyms.sh.in: New file.
16664 * gensymlist.sh.in: Likewise.
16665
1885bb27 166662006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16667
16668 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
16669 clobber "prefix", since we may have already set it manually.
16670
71538dff 166712006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16672
16673 * kern/misc.c (abort): New alias for grub_abort.
16674
2965c7cc 166752006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
16676
16677 A new machine-specific function "grub_machine_set_prefix" is
16678 defined. This is called after loading modules, so that a prefix
16679 initialization can use modules. Also, this change adds an
16680 intensive debugging feature for the memory manager via the
16681 configure option "--enable-mm-debug".
f19dbdb7 16682
2965c7cc 16683 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
16684 PART.LEN.
16685
16686 * kern/sparc64/ieee1275/init.c (abort): Removed.
16687 (grub_stop): Likewise.
16688 (grub_exit): New function.
16689 (grub_set_prefix): Renamed to ...
16690 (grub_machine_set_prefix): ... this.
16691 (grub_machine_init): Do not call grub_set_prefix.
16692
16693 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
16694 (grub_machine_set_prefix): ... this.
16695 (grub_machine_init): Do not call grub_set_prefix.
16696
16697 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
16698 (grub_machine_init): Do not set the prefix here.
16699
16700 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
16701
16702 * kern/efi/init.c: Include grub/mm.h.
16703 (grub_efi_set_prefix): New function.
16704
16705 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
16706 (grub_efi_get_filename): New function.
16707 (grub_print_device_path): Renamed to ...
16708 (grub_efi_print_device_path): ... this.
16709
16710 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
16711 [MM_DEBUG] (grub_realloc): Likewise.
16712 [MM_DEBUG] (grub_free): Likewise.
16713 [MM_DEBUG] (grub_memalign): Likewise.
16714 [MM_DEBUG] (grub_mm_debug): New variable.
16715 [MM_DEBUG] (grub_debug_malloc): New function.
16716 [MM_DEBUG] (grub_debug_free): New function.
16717 [MM_DEBUG] (grub_debug_realloc): New function.
16718 [MM_DEBUG] (grub_debug_memalign): New function.
16719
16720 * kern/misc.c (grub_abort): Print a newline to distinguish
16721 the message.
16722
16723 * kern/main.c (grub_main): Call grub_machine_set_prefix and
16724 grub_set_root_dev after loading modules. This is necessary when
16725 setting a prefix depends on modules.
16726
16727 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
16728 (grub_efi_print_device_path): ... this.
16729 (grub_efi_get_filename): New prototype.
16730 (grub_efi_set_prefix): Likewise.
16731
16732 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
16733 and grub/disk.h.
16734 (grub_efidisk_get_device_handle): New prototype.
16735 (grub_efidisk_get_device_name): Likewise.
16736
16737 * include/grub/mm.h: Include config.h.
16738 (MM_DEBUG): Removed.
16739 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
16740 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
16741 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
16742 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
16743 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
16744 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
16745 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
16746 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
16747 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
16748
16749 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
16750
16751 * disk/efi/efidisk.c: Include grub/partition.h.
16752 (iterate_child_devices): New function.
16753 (add_device): First, compare only last device path nodes, so that
16754 devices are sorted by the types.
16755 (grub_efidisk_get_device_handle): New function.
16756 (grub_efidisk_get_device_name): Likewise.
16757
16758 * configure.ac (--enable-mm-debug): New option to enable the
16759 memory manager debugging feature. This makes the binary much
16760 bigger, so is disabled by default.
16761
9cacaa17 167622006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
16763
16764 Use grub_abort instead of grub_stop, and grub_exit must be
16765 define in each architecture now. Also, this change adds support
16766 for EFI disks.
f19dbdb7 16767
9cacaa17 16768 * util/i386/pc/grub-probefs.c: Include grub/term.h.
16769 (grub_getkey): New function.
16770 (grub_term_get_current): Likewise.
16771
16772 * util/i386/pc/grub-setup.c: Include grub/term.h.
16773 (grub_getkey): New function.
16774 (grub_term_get_current): Likewise.
16775
16776 * util/misc.c (grub_stop): Renamed to ...
16777 (grub_exit): ... this.
16778
16779 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
16780 (grub_exit): ... this.
16781 (grub_machine_init): Use grub_abort instead of abort.
16782 (grub_stop): Removed.
16783
16784 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
16785 abort.
16786
16787 * kern/i386/pc/startup.S (grub_exit): New function.
16788 (cold_reboot): New label.
16789
16790 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
16791 (grub_efi_init): Call grub_efidisk_init.
16792 (grub_efi_fini): Call grub_efidisk_fini.
16793
16794 * kern/efi/efi.c: Include grub/mm.h.
16795 (grub_efi_console_control_guid): Renamed to ...
16796 (console_control_guid): ... this.
16797 (grub_efi_loaded_image_guid): Renamed to ...
16798 (loaded_image_guid): ... this.
16799 (grub_efi_locate_handle): New function.
16800 (grub_efi_open_protocol): Likewise.
16801 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
16802 GRUB_EFI_CONSOLE_CONTROL_GUID.
16803 (grub_efi_exit): Removed.
16804 (grub_stop): Likewise.
16805 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
16806 (grub_exit): New function.
16807 (grub_print_device_path): Likewise.
16808
16809 * kern/rescue.c (grub_rescue_cmd_exit): New function.
16810 (grub_enter_rescue_mode): Register "exit".
16811
16812 * kern/misc.c (grub_real_dprintf): A cosmetic change.
16813 (grub_abort): New function.
16814
16815 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
16816
16817 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
16818
16819 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
16820
16821 * include/grub/efi/efi.h (grub_efi_exit): Removed.
16822 (grub_print_device_path): New prototype.
16823 (grub_efi_locate_handle): Likewise.
16824 (grub_efi_open_protocol): Likewise.
16825
16826 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
16827 * disk/efi/efidisk.c: Likewise.
16828
16829 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
16830
16831 * include/grub/efi/console_control.h
16832 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
16833
16834 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
16835 last 8 bytes as an array.
16836 (GRUB_EFI_DISK_IO_GUID): New macro.
16837 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
16838 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
16839 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
16840 grub_uint8_t.
16841 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
16842 (struct grub_efi_device_path): Rename the member "sub_type" to
16843 "subtype".
16844 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
16845 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
16846 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
16847 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
16848 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
16849 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
16850 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
16851 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
16852 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
16853 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
16854 (struct grub_efi_pci_device_path): New structure.
16855 (grub_efi_pci_device_path_t): New type.
16856 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
16857 (struct grub_efi_pccard_device_path): New structure.
16858 (grub_efi_pccard_device_path_t): New type.
16859 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
16860 (struct grub_efi_memory_mapped_device_path): New structure.
16861 (grub_efi_memory_mapped_device_path_t): New type.
16862 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
16863 (struct grub_efi_vendor_device_path): New structure.
16864 (grub_efi_vendor_device_path_t): New type.
16865 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
16866 (struct grub_efi_controller_device_path): New structure.
16867 (grub_efi_controller_device_path_t): New type.
16868 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
16869 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
16870 (struct grub_efi_acpi_device_path): New structure.
16871 (grub_efi_acpi_device_path_t): New type.
16872 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
16873 (struct grub_efi_expanded_acpi_device_path): New structure.
16874 (grub_efi_expanded_acpi_device_path_t): New type.
16875 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
16876 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
16877 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
16878 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
16879 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
16880 (struct grub_efi_atapi_device_path): New structure.
16881 (grub_efi_atapi_device_path_t): New type.
16882 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
16883 (struct grub_efi_fibre_channel_device_path): New structure.
16884 (grub_efi_fibre_channel_device_path_t): New type.
16885 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
16886 (struct grub_efi_1394_device_path): New structure.
16887 (grub_efi_1394_device_path_t): New type.
16888 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
16889 (struct grub_efi_usb_device_path): New structure.
16890 (grub_efi_usb_device_path_t): New type.
16891 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
16892 (struct grub_efi_usb_class_device_path): New structure.
16893 (grub_efi_usb_class_device_path_t): New type.
16894 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
16895 (struct grub_efi_i2o_device_path): New structure.
16896 (grub_efi_i2o_device_path_t): New type.
16897 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
16898 (struct grub_efi_mac_address_device_path): New structure.
16899 (grub_efi_mac_address_device_path_t): New type.
16900 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
16901 (struct grub_efi_ipv4_device_path): New structure.
16902 (grub_efi_ipv4_device_path_t): New type.
16903 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
16904 (struct grub_efi_ipv6_device_path): New structure.
16905 (grub_efi_ipv6_device_path_t): New type.
16906 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
16907 (struct grub_efi_infiniband_device_path): New structure.
16908 (grub_efi_infiniband_device_path_t): New type.
16909 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
16910 (struct grub_efi_uart_device_path): New structure.
16911 (grub_efi_uart_device_path_t): New type.
16912 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
16913 (struct grub_efi_vendor_messaging_device_path): New structure.
16914 (grub_efi_vendor_messaging_device_path_t): New type.
16915 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
16916 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
16917 (struct grub_efi_hard_drive_device_path): New structure.
16918 (grub_efi_hard_drive_device_path_t): New type.
16919 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
16920 (struct grub_efi_cdrom_device_path): New structure.
16921 (grub_efi_cdrom_device_path_t): New type.
16922 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
16923 (struct grub_efi_vendor_media_device_path): New structure.
16924 (grub_efi_vendor_media_device_path_t): New type.
16925 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
16926 (struct grub_efi_file_path_device_path): New structure.
16927 (grub_efi_file_path_device_path_t): New type.
16928 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
16929 (struct grub_efi_protocol_device_path): New structure.
16930 (grub_efi_protocol_device_path_t): New type.
16931 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
16932 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
16933 (struct grub_efi_bios_device_path): New structure.
16934 (grub_efi_bios_device_path_t): New type.
16935 (struct grub_efi_disk_io): New structure.
16936 (grub_efi_disk_io_t): New type.
16937 (struct grub_efi_block_io_media): New structure.
16938 (grub_efi_block_io_media_t): New type.
16939 (struct grub_efi_block_io): New structure.
16940 (grub_efi_block_io_t): New type.
16941
16942 * include/grub/misc.h (grub_stop): Removed.
16943 (grub_exit): New prototype.
16944 (grub_abort): Likewise.
16945
16946 * include/grub/disk.h (enum grub_disk_dev_id): Added
16947 GRUB_DISK_DEVICE_EFIDISK_ID.
16948
16949 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
16950 disk/efi/efidisk.c.
16951 (kernel_syms.lst): Remove the target if an error occurs.
16952
49986a9f 169532006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
16954
16955 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
16956 as it was simply too buggy.
16957
970d3b8a 169582006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
16959
16960 * kern/misc.c (grub_lltoa): New function.
16961 (grub_vsprintf): Added support for the long long suffix,
16962 i.e. "ll".
16963
ff04ec24 169642006-04-20 Hollis Blanchard <hollis@penguinppc.org>
16965
16966 * Makefile.in (LDFLAGS): Add variable.
16967 (LD): Remove variable.
16968 * configure.ac: Add -m32 to LDFLAGS.
16969 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
16970 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
16971 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
16972 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
16973 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
16974 variables.
16975 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
16976 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
16977 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
16978
37e5e1a4 169792006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
16980
16981 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
16982 length for unknown glyph.
16983
c352d8dd 169842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
16985
2eab1c0d 16986 Add support for pre-loaded modules into the EFI port.
f19dbdb7 16987
2eab1c0d 16988 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
16989 completely. Accept one more argument DIR. The caller has changed.
16990
16991 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
16992
16993 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
16994 (grub_efi_loaded_image_guid): New variable.
16995 (grub_efi_get_loaded_image): New function.
16996 (grub_arch_modules_addr): Likewise.
16997
16998 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
16999 prototype.
17000
17001 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
17002 (struct grub_efi_loaded_image): New structure.
17003 (grub_efi_loaded_image_t): New type.
17004
170052006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17006
c352d8dd 17007 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
17008 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
17009 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
17010
6d01d6b4 170112006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
17012
17013 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
17014
976a4ea0 170152006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
17016
17017 * DISTLIST: Added include/grub/efi/console.h,
17018 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
17019 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17020
17021 * include/grub/efi/console.h: New file.
17022 * include/grub/efi/time.h: Likewise.
17023 * include/grub/i386/efi/kernel.h: Likewise.
17024 * kern/efi/init.c: Likewise.
17025 * kern/efi/mm.c: Likewise.
17026 * term/efi/console.c: Likewise.
f19dbdb7 17027
976a4ea0 17028 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
17029 (grub_stop): Removed.
17030 (grub_get_rtc): Likewise.
17031 (grub_machine_init): Simply call grub_efi_init.
17032 (grub_machine_fini): Call grub_efi_fini.
17033
17034 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
17035 (grub_efi_output_string): Removed.
17036 (grub_efi_stall): New function.
17037 (grub_stop): Likewise.
17038 (grub_get_rtc): Likewise.
17039
17040 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
17041 (grub_efi_stall): New prototype.
17042 (grub_efi_allocate_pages): Likewise.
17043 (grub_efi_free_pages): Likewise.
17044 (grub_efi_get_memory_map): Likewise.
17045 (grub_efi_mm_init): Likewise.
17046 (grub_efi_mm_fini): Likewise.
17047 (grub_efi_init): Likewise.
17048 (grub_efi_fini): Likewise.
17049
17050 * include/grub/i386/efi/time.h: Do not include
17051 grub/symbol.h. Include grub/efi/time.h.
17052 (GRUB_TICKS_PER_SECOND): Removed.
17053 (grub_get_rtc): Likewise.
17054
17055 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
17056 Added padding. The EFI spec is buggy.
17057 (GRUB_EFI_BLACK): New macro.
17058 (GRUB_EFI_BLUE): Likewise.
17059 (GRUB_EFI_GREEN): Likewise.
17060 (GRUB_EFI_CYAN): Likewise.
17061 (GRUB_EFI_RED): Likewise.
17062 (GRUB_EFI_MAGENTA): Likewise.
17063 (GRUB_EFI_BROWN): Likewise.
17064 (GRUB_EFI_LIGHTGRAY): Likewise.
17065 (GRUB_EFI_BRIGHT): Likewise.
17066 (GRUB_EFI_DARKGRAY): Likewise.
17067 (GRUB_EFI_LIGHTBLUE): Likewise.
17068 (GRUB_EFI_LIGHTGREEN): Likewise.
17069 (GRUB_EFI_LIGHTCYAN): Likewise.
17070 (GRUB_EFI_LIGHTRED): Likewise.
17071 (GRUB_EFI_LIGHTMAGENTA): Likewise.
17072 (GRUB_EFI_YELLOW): Likewise.
17073 (GRUB_EFI_WHITE): Likewise.
17074 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
17075 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
17076 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
17077 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
17078 (GRUB_EFI_BACKGROUND_RED): Likewise.
17079 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
17080 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
17081 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
17082 (GRUB_EFI_TEXT_ATTR): Likewise.
17083
17084 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
17085 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
17086 (kernel_mod_HEADERS): Added efi/time.h.
17087
83709125 170882006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
17089
17090 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
17091 include/grub/efi/api.h, include/grub/efi/console_control.h,
17092 include/grub/efi/efi.h, include/grub/efi/pe32.h,
17093 include/grub/i386/efi/time.h, kern/efi/efi.c,
17094 kern/i386/efi/init.c, kern/i386/efi/startup.S,
17095 and util/i386/efi/grub-mkimage.c.
17096
17097 * Makefile.in (RMKFILES): Added i386-efi.rmk.
17098
17099 * genmk.rb (PModule#rule): Do not export symbols if
17100 #{prefix}_EXPORTS is set to "no".
17101
17102 * conf/i386-efi.mk: New file.
17103 * conf/i386-efi.rmk: Likewise.
17104 * include/grub/efi/api.h: Likewise.
17105 * include/grub/efi/console_control.h: Likewise.
17106 * include/grub/efi/efi.h: Likewise.
17107 * include/grub/efi/pe32.h: Likewise.
17108 * include/grub/i386/efi/time.h: Likewise.
17109 * kern/efi/efi.c: Likewise.
17110 * kern/i386/efi/init.c: Likewise.
17111 * kern/i386/efi/startup.S: Likewise.
17112 * util/i386/efi/grub-mkimage.c: Likewise.
17113
171142006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 17115
17116 * include/grub/script.h: Include <grub/parser.h> and
17117 "grub_script.tab.h".
17118 (struct grub_lexer_param): New struct.
17119 (struct grub_parser_param): Likewise.
17120 (grub_script_create_arglist): Pass the state in an argument.
17121 (grub_script_add_arglist): Likewise.
17122 (grub_script_create_cmdline): Likewise.
17123 (grub_script_create_cmdblock): Likewise.
17124 (grub_script_create_cmdif): Likewise.
17125 (grub_script_create_cmdmenu): Likewise.
17126 (grub_script_add_cmd): Likewise.
17127 (grub_script_arg_add): Likewise.
17128 (grub_script_lexer_ref): Likewise.
17129 (grub_script_lexer_deref): Likewise.
17130 (grub_script_lexer_record_start): Likewise.
17131 (grub_script_lexer_record_stop): Likewise.
17132 (grub_script_mem_record): Likewise.
17133 (grub_script_mem_record_stop): Likewise.
17134 (grub_script_malloc): Likewise.
17135 (grub_script_yylex): Likewise.
17136 (grub_script_yyparse): Likewise.
17137 (grub_script_yyerror): Likewise.
17138 (grub_script_yylex): Likewise.
17139 (grub_script_lexer_init): Return the state.
17140
17141 * normal/lexer.c (grub_script_lexer_state): Removed variable.
17142 (grub_script_lexer_done): Likewise.
17143 (grub_script_lexer_getline): Likewise.
17144 (grub_script_lexer_refs): Likewise.
17145 (script): Likewise.
17146 (newscript): Likewise.
17147 (record): Likewise.
17148 (recording): Likewise.
17149 (recordpos): Likewise.
17150 (recordlen): Likewise.
17151 (grub_script_lexer_init): Return the state instead of setting
17152 global variables.
17153 (grub_script_lexer_ref): Use the newly added argument for state
17154 instead of globals.
17155 (grub_script_lexer_deref): Likewise.
17156 (grub_script_lexer_record_start): Likewise.
17157 (grub_script_lexer_record_stop): Likewise.
17158 (recordchar): Likewise.
17159 (nextchar): Likewise.
17160 (grub_script_yylex2): Likewise.
17161 (grub_script_yylex): Likewise.
17162 (grub_script_yyerror): Likewise.
17163
17164 * normal/parser.y (func_mem): Removed variable.
17165 (menu_entry): Likewise.
17166 (err): Likewise.
17167 (%lex-param): New parser option.
17168 (%parse-param): Likewise.
17169 (script): Always return the AST.
17170 (argument): Pass the state around.
17171 (arguments): Likewise.
17172 (grubcmd): Likewise.
17173 (commands): Likewise.
17174 (function): Likewise.
17175 (menuentry): Likewise.
17176 (if_statement): Likewise.
17177 (if): Likewise.
17178
17179 * normal/script.c (grub_script_memused): Removed variable.
17180 (grub_script_parsed): Likewise.
17181 (grub_script_malloc): Added a state argument. Use that instead of
17182 global variables.
17183 (grub_script_mem_record): Likewise.
17184 (grub_script_mem_record_stop): Likewise.
17185 (grub_script_arg_add): Likewise.
17186 (grub_script_add_arglist): Likewise.
17187 (grub_script_create_cmdline): Likewise.
17188 (grub_script_create_cmdif): Likewise.
17189 (grub_script_create_cmdmenu): Likewise.
17190 (grub_script_add_cmd): Likewise.
17191 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 17192
e2a8c904 171932006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 17194
17195 * normal/command.c (grub_command_init): Remove the title command.
17196
17197 * normal/lexer.c (grub_script_yylex): Renamed from this...
17198 (grub_script_yylex2): ... to this.
17199 (grub_script_yylex): New function. Temporary
17200 introduced to filter some tokens.
17201 (grub_script_yyerror): Print a newline.
17202
17203 * normal/main.c (read_config_file): Output information about the
17204 lines that contain errors. Wait for a key after all lines have
17205 been processed. Don't return an empty menu.
17206
17207 * normal/parser.y (func_mem): Don't initialize.
17208 (menu_entry): Likewise.
17209 (err): New variable.
17210 (script): Don't return anything when an error was encountered.
17211 (ws, returns): Removed rules.
17212 (argument): Disabled concatenated variable support.
17213 (arguments): Remove explicit separators.
17214 (grubcmd): Likewise.
17215 (function): Likewise.
17216 (menuentry): Likewise.
17217 (if): Likewise.
17218 (commands): Likewise. Add error handling.
17219
17220 * normal/script.c (grub_script_create_cmdline): If
17221 `grub_script_parsed' is 0, assume the parser encountered an error.
17222
c9a86192 172232006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
17224
17225 * configure.ac: Add support for EFI. Fix the typo
17226 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
17227
70f3b243 172282006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17229
17230 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
17231 foreign multibyte characters should be shown correctly.
17232
65f201ad 172332006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
17234
17235 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
17236 calculation.
17237 (read_config_file): Made it to close file before returning.
17238
b4b93674 172392006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
17240
17241 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
17242 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
17243 video/i386/pc/vbefill.c.
17244
17245 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
17246 video/i386/pc/vbefill.c.
17247
17248 * include/grub/video.h (grub_video_blit_format): New enum.
17249 (grub_video_mode_info): Added new member blit_format.
17250 (grub_video_get_blit_format): New function prototype.
17251
17252 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
17253 function prototype.
17254 (grub_video_vbe_map_rgb): Likewise.
17255 (grub_video_vbe_unmap_color): Likewise.
17256
17257 * include/grub/i386/pc/vbeblit.h: New file.
17258
17259 * include/grub/i386/pc/vbefill.h: New file.
17260
17261 * video/video.c (grub_video_get_blit_format): New function.
17262 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
17263 (grub_video_vbe_map_rgb): Likewise.
17264 (grub_video_vbe_unmap_color): Likewise.
17265
17266 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
17267 optimized fills.
17268 (grub_video_vbe_blit_render_target): Changed to use more optimized
17269 blits.
17270 (grub_video_vbe_setup): Added detection for optimized settings.
17271 (grub_video_vbe_create_render_target): Likewise.
17272
17273 * video/i386/pc/vbeblit.c: New file.
17274
17275 * video/i386/pc/vbefill.c: New file.
17276
c2379b9c 172772006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
17278
17279 * font/manager.c (grub_font_get_glyph): Removed font fixup from
17280 here...
17281
17282 * util/unifont2pff.rb: ... and moved it to here. Improved argument
17283 parsing to support both hex and dec ranges. If filename was missing
17284 show usage information.
17285
bd0d7896 172862006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
17287
17288 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
17289 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
17290
17291 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
17292 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
17293 (video_mod_SOURCES): Added.
17294 (video_mod_CFLAGS): Likewise.
17295 (video_mod_LDFLAGS): Likewise.
17296 (gfxterm_mod_SOURCES): Likewise.
17297 (gfxterm_mod_CFLAGS): Likewise.
17298 (gfxterm_mod_LDFLAGS): Likewise.
17299 (videotest_mod_SOURCES): Likewise.
17300 (videotest_mod_CFLAGS): Likewise.
17301 (videotest_mod_LDFLAGS): Likewise.
17302 (vesafb_mod_SOURCES): Removed.
17303 (vesafb_mod_CFLAGS): Likewise.
17304 (vesafb_mod_LDFLAGS): Likewise.
17305 (vga_mod_SOURCES): Likewise.
17306 (vga_mod_CFLAGS): Likewise.
17307 (vga_mod_LDFLAGS): Likewise.
17308
17309 * commands/videotest.c: New file.
17310
17311 * font/manager.c (fill_with_default_glyph): Modified to use
17312 grub_font_glyph.
17313 (grub_font_get_glyph): Likewise.
17314 (fontmanager): Renamed from this...
17315 (font_manager): ... to this.
17316
17317 * include/grub/font.h (grub_font_glyph): Added new structure.
17318 (grub_font_get_glyph): Modified to use grub_font_glyph.
17319
17320 * include/grub/misc.h (grub_abs): Added as inline function.
17321
17322 * include/grub/video.h: New file.
17323
17324 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
17325 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
17326 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
17327 (grub_vbe_get_controller_info): Renamed from this...
17328 (grub_vbe_bios_get_controller_info): ... to this.
17329 (grub_vbe_get_mode_info): Renamed from this...
17330 (grub_vbe_bios_get_mode_info): ... to this.
17331 (grub_vbe_set_mode): Renamed from this...
17332 (grub_vbe_bios_set_mode): ... to this.
17333 (grub_vbe_get_mode): Renamed from this...
17334 (grub_vbe_bios_get_mode): ... to this.
17335 (grub_vbe_set_memory_window): Renamed from this...
17336 (grub_vbe_bios_set_memory_window): ... to this.
17337 (grub_vbe_get_memory_window): Renamed from this...
17338 (grub_vbe_bios_get_memory_window): ... to this.
17339 (grub_vbe_set_scanline_length): Renamed from this...
17340 (grub_vbe_set_scanline_length): ... to this.
17341 (grub_vbe_get_scanline_length): Renamed from this...
17342 (grub_vbe_bios_get_scanline_length): ... to this.
17343 (grub_vbe_set_display_start): Renamed from this...
17344 (grub_vbe_bios_set_display_start): ... to this.
17345 (grub_vbe_get_display_start): Renamed from this...
17346 (grub_vbe_bios_get_display_start): ... to this.
17347 (grub_vbe_set_palette_data): Renamed from this...
17348 (grub_vbe_bios_set_palette_data): ... to this.
17349 (grub_vbe_set_pixel_rgb): Removed.
17350 (grub_vbe_set_pixel_index): Likewise.
17351
17352 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
17353 from this...
17354 (grub_vbe_bios_get_controller_info): ... to this.
17355 (grub_vbe_get_mode_info): Renamed from this...
17356 (grub_vbe_bios_get_mode_info): ... to this.
17357 (grub_vbe_set_mode): Renamed from this...
17358 (grub_vbe_bios_set_mode): ... to this.
17359 (grub_vbe_get_mode): Renamed from this...
17360 (grub_vbe_bios_get_mode): ... to this.
17361 (grub_vbe_set_memory_window): Renamed from this...
17362 (grub_vbe_bios_set_memory_window): ... to this.
17363 (grub_vbe_get_memory_window): Renamed from this...
17364 (grub_vbe_bios_get_memory_window): ... to this.
17365 (grub_vbe_set_scanline_length): Renamed from this...
17366 (grub_vbe_set_scanline_length): ... to this.
17367 (grub_vbe_get_scanline_length): Renamed from this...
17368 (grub_vbe_bios_get_scanline_length): ... to this.
17369 (grub_vbe_set_display_start): Renamed from this...
17370 (grub_vbe_bios_set_display_start): ... to this.
17371 (grub_vbe_get_display_start): Renamed from this...
17372 (grub_vbe_bios_get_display_start): ... to this.
17373 (grub_vbe_set_palette_data): Renamed from this...
17374 (grub_vbe_bios_set_palette_data): ... to this.
17375 (grub_vbe_bios_get_controller_info): Fixed problem with registers
17376 getting corrupted after calling it. Added more pushes and pops.
17377 (grub_vbe_bios_set_mode): Likewise.
17378 (grub_vbe_bios_get_mode): Likewise.
17379 (grub_vbe_bios_get_memory_window): Likewise.
17380 (grub_vbe_bios_set_scanline_length): Likewise.
17381 (grub_vbe_bios_get_scanline_length): Likewise.
17382 (grub_vbe_bios_get_display_start): Likewise.
17383 (grub_vbe_bios_set_palette_data): Likewise.
17384
17385 * normal/cmdline.c (cl_set_pos): Refresh the screen.
17386 (cl_insert): Likewise.
17387 (cl_delete): Likewise.
17388
17389 * term/gfxterm.c: New file.
17390
17391 * term/i386/pc/vesafb.c: Removed file.
17392
17393 * video/video.c: New file.
17394
17395 * video/i386/pc/vbe.c (real2pm): Added new function.
17396 (grub_video_vbe_draw_pixel): Likewise.
17397 (grub_video_vbe_get_video_ptr): Likewise.
17398 (grub_video_vbe_get_pixel): Likewise
17399 (grub_video_vbe_init): Likewise.
17400 (grub_video_vbe_fini): Likewise.
17401 (grub_video_vbe_setup): Likewise.
17402 (grub_video_vbe_get_info): Likewise.
17403 (grub_video_vbe_set_palette): Likewise.
17404 (grub_video_vbe_get_palette): Likewise.
17405 (grub_video_vbe_set_viewport): Likewise.
17406 (grub_video_vbe_get_viewport): Likewise.
17407 (grub_video_vbe_map_color): Likewise.
17408 (grub_video_vbe_map_rgb): Likewise.
17409 (grub_video_vbe_map_rgba): Likewise.
17410 (grub_video_vbe_unmap_color): Likewise.
17411 (grub_video_vbe_fill_rect): Likewise.
17412 (grub_video_vbe_blit_glyph): Likewise.
17413 (grub_video_vbe_blit_bitmap): Likewise.
17414 (grub_video_vbe_blit_render_target): Likewise.
17415 (grub_video_vbe_scroll): Likewise.
17416 (grub_video_vbe_swap_buffers): Likewise.
17417 (grub_video_vbe_create_render_target): Likewise.
17418 (grub_video_vbe_delete_render_target): Likewise.
17419 (grub_video_vbe_set_active_render_target): Likewise.
17420 (grub_vbe_set_pixel_rgb): Remove function.
17421 (grub_vbe_set_pixel_index): Likewise.
17422 (index_color_mode): Remove static variable.
17423 (active_mode): Likewise.
17424 (framebuffer): Likewise.
17425 (bytes_per_scan_line): Likewise.
17426 (grub_video_vbe_adapter): Added new static variable.
17427 (framebuffer): Likewise.
17428 (render_target): Likewise.
17429 (initial_mode): Likewise.
17430 (mode_in_use): Likewise.
17431 (mode_list): Likewise.
17432
5f97350b 174332006-03-10 Marco Gerards <marco@gnu.org>
17434
17435 * configure.ac (AC_INIT): Bumped to 1.93.
17436
17437 * DISTLIST: Added `include/grub/hfs.h'.
17438
a3c5c6f8 174392006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
17440
17441 * boot/i386/pc/boot.S (general_error): Before looping, try INT
17442 18H, which might help the BIOS falling back to next boot media.
17443
6de53d26 174442006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
17445
17446 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
17447 Poe Chen <poe.poechen@gmail.com>.
17448
77c4a393 174492006-01-17 Marco Gerards <marco@gnu.org>
17450
17451 * include/grub/normal.h: Include <grub/script.h>.
17452 (grub_command_list): Removed struct.
17453 (grub_command_list_t): Removed type.
17454 (grub_menu_entry): Remove members `num' and `command_list'. Add
17455 members `commands' and `sourcecode'.
17456 * include/grub/script.h: Add inclusion guards.
17457 (grub_script_cmd_menuentry): New struct.
17458 (grub_script_execute_menuentry): New prototype.
17459 (grub_script_lexer_record_start): Likewise.
17460 (grub_script_lexer_record_stop): Likewise.
17461 * normal/execute.c (grub_script_execute_menuentry): New function.
17462 * normal/lexer.c (record, recording, recordpos, recordlen): New
17463 variables.
17464 (grub_script_lexer_record_start): New function.
17465 (grub_script_lexer_record_stop): Likewise.
17466 (recordchar): Likewise.
17467 (nextchar): Likewise.
17468 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
17469 2048 as the buffer size. Add the tokens `menuentry' and `@'.
17470 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
17471 (current_menu): New variable.
17472 (free_menu): Mainly rewritten.
17473 (grub_normal_menu_addentry): New function.
17474 (read_config_file): Rewritten.
17475 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 17476 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 17477 the menu entry.
17478 (run): Mainly rewritten.
17479 * normal/parser.y (menu_entry): New variable.
17480 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
17481 (menuentry): New rule.
17482 (command): Add `menuentry'.
17483 (if_statement): Allow additional returns before `fi'.
17484 * normal/script.c (grub_script_create_cmdmenu): New function.
17485
144f1f98 174862006-01-03 Marco Gerards <marco@gnu.org>
17487
17488 * INSTALL: GNU Bison is required.
17489 * configure.ac: Rewritten the test to detect Bison.
17490 * Makefile.in (YACC): New variable. Reported by Xun Sun
17491 <xun.sun.cn@gmail.com>.
17492
af4b2d89 174932006-01-03 Marco Gerards <marco@gnu.org>
17494
17495 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
17496 the HFS+ filesystem to filesystem blocks.
17497 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
17498 GCC warning is silenced.
17499
15643b71 175002006-01-03 Marco Gerards <marco@gnu.org>
17501
17502 * partmap/apple.c (apple_partition_map_iterate): Convert the data
17503 read from disk from big endian to host byte order.
17504
00905879 175052006-01-03 Hollis Blanchard <hollis@penguinppc.org>
17506
17507 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
17508 documentation.
17509 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
17510 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
17511 embedded HFS+ filesystem.
17512 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
17513 (grub_hfs_sblock): Move from here...
17514 * include/grub/hfs.h: To here... New file.
17515 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
17516 documentation.
17517 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
17518 New macros.
17519 (grub_hfsplus_volheader): Change type of member `magic' to
17520 `grub_uint16_t'.
17521 (grub_hfsplus_data): Add new member `embedded_offset'.
17522 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
17523 returned block.
17524 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
17525 Calculate the offset.
17526
8899bc3e 175272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17528
17529 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
17530 Removed.
17531 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
17532
ae8c0277 175332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17534
17535 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
17536 ENV->NAME is NULL after allocating ENV->VALUE.
17537
07084456 175382005-12-25 Marco Gerards <marco@gnu.org>
17539
17540 * kern/env.c (grub_env_set): Rewritten the error handling code.
17541
4750f5f1 175422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17543
17544 * geninit.sh: Made more robust, and more portable.
17545
50214199 175462005-12-25 Marco Gerards <marco@gnu.org>
17547
17548 Add support for Apple HFS+ filesystems.
f19dbdb7 17549
50214199 17550 * fs/hfsplus.c: New file.
17551
17552 * DISTLIST: Added `fs/hfsplus.c'.
17553
17554 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
17555 (hfsplus_mod_SOURCES): New variable.
17556 (hfsplus_mod_CFLAGS): Likewise.
17557 (hfsplus_mod_LDFLAGS): Likewise.
17558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
17559 (grub_setup_SOURCES): Likewise.
17560 (grub_mkdevicemap_SOURCES): Likewise.
17561 (grub_emu_SOURCES): Likewise.
17562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17563
17564 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
17565
17566 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
17567
befaed6c 175682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17569
17570 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
17571 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
17572 include/grub/parser.h, include/grub/script.h, kern/parser.c,
17573 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
17574 normal/lexer.c, normal/parser.y, normal/script.c, and
17575 partmap/gpt.c.
17576 Removed kern/sparc64/cache.c.
17577
17578 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
17579 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
17580 grub_emu_init.c.
17581
17582 * configure.ac (AC_INIT): Bumped to 1.92.
17583
6a124103 175842005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
17585
17586 * kern/err.c (grub_error_push): Added new function to support error
17587 stacks.
17588 (grub_error_pop): Likewise.
17589 (grub_error_stack_items): New local variable to support error stacks.
17590 (grub_error_stack_pos): Likewise.
17591 (grub_error_stack_assert): Likewise.
17592 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
17593 stack depth.
17594 (grub_print_error): Added support to print errors from error stack.
17595
17596 * include/grub/err.h (grub_error_push): Added function prototype.
17597 (grub_error_pop): Likewise.
17598
be973c1b 175992005-12-09 Hollis Blanchard <hollis@penguinppc.org>
17600
17601 * configure.ac: Accept `powerpc64' as host_cpu.
17602 (amd64): Rename to `biarch32'.
17603
17604 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
17605 non-cacheline-aligned addresses.
17606
17607 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
17608 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
17609 if `size' is non-zero.
17610
b04216ab 176112005-12-03 Marco Gerards <mgerards@xs4all.nl>
17612
17613 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
17614 and `cd' to make sure the filename is not prefixed with a
17615 directory name.
17616 (pkgdata_MODULES): Add `gpt.mod'.
17617 (gpt_mod_SOURCES): New variable.
17618 (gpt_mod_CFLAGS): Likewise.
17619 (gpt_mod_LDFLAGS): Likewise.
17620
17621 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
17622
17623 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
17624 New macro.
17625
17626 * partmap/gpt.c: New file.
17627
17628 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
17629 GPT partition map is detected.
17630
41730ed9 176312005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
17632
17633 * commands/i386/pc/play.c: New file.
17634 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
17635 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
17636 macros.
f19dbdb7 17637
95dc3643 176382005-11-27 Marco Gerards <mgerards@xs4all.nl>
17639
17640 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
17641 ((unused))' to silence gcc warning.
17642
1569ec51 176432005-11-26 Hollis Blanchard <hollis@penguinppc.org>
17644
17645 * configure.ac: Correct `AC_PROG_YACC' test.
17646
9abde152 176472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17648
17649 * util/powerpc/ieee1275/grub-install.in: Run the mount point
17650 check before installing files.
17651
44b83271 176522005-11-22 Mike Small <smallm@panix.com>
17653
17654 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
17655 number regex so multidigit numbers are recognized correctly.
17656
176572005-11-22 Mike Small <smallm@panix.com>
17658
17659 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
17660 debugging message before attempting to claim memory.
17661 (grub_rescue_cmd_initrd): Add a claim debugging message and try
17662 multiple addresses in case of failure.
17663
9c12956b 176642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17665
17666 * term/tparm.c (get_space): Remove empty `if' statement.
17667
17668 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
17669
17670 * kern/parser.c (check_varstate): Rename `state' to 's'.
17671
aeaf81d9 176722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17673
17674 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
17675 variable definitions to the beginning of each function. Sort stack
17676 variables by size.
17677 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
17678 `buf' argument to `char *'.
17679
79bbb63f 176802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17681
17682 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
17683 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17684 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 17685 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17686 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17687 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17688 configfile.mod, search.mod, gzio.mod and test.mod.
17689 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17690 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17691 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17692 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17693 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17694 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17695 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17696 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17697 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17698 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17699 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17700 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17701 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17702 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17703 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17704 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17705 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17706 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17707 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17708 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17709 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17710 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17711 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
17712
17713 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
17714 `grep --include'.
17715 (pkgdata_MODULES): Add test.mod.
17716
233b1628 177172005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17718
17719 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
17720 appending to variables with "+=".
17721 (PModule): Use full pathname to generate *.lst filenames.
17722
17723 * Makefile.in: Fixed list rules moved from genmk.rb.
17724 (.DELETE_ON_ERROR): New special target.
17725 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
17726
17727 * conf/i386-pc.rmk: Include conf/common.mk.
17728 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17729 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 17730 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17731 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17732 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17733 configfile.mod, search.mod, gzio.mod and test.mod.
17734 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17735 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17736 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17737 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17738 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17739 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17740 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17741 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17742 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17743 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17744 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17745 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17746 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17747 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17748 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17749 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17750 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17751 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17752 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17753 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17754 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17755 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17756 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
17757 here...
17758 * conf/common.rmk: ... to here. New file.
17759
17760 * conf/common.mk: New file.
17761
16f820c8 177622005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
17763
17764 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
17765 (grub_script.tab.c): ... here.
17766
17767 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
17768 (grub_script.tab.c): ... here.
17769
17770 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
17771 (grub_script.tab.c): ... here.
17772
17773 * normal/command.c (grub_command_find): Fixed a memory leak of
17774 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
17775
63ba1554 177762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17777
17778 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
17779 "@" which marks the start of a comment on ARM.
17780 (VARIABLE): Likewise.
17781
7f67dc13 177822005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17783
79bbb63f 17784 Add support for Linux/ADFS partition tables.
7f67dc13 17785
17786 * partmap/acorn.c: New file.
17787
17788 * include/grub/acorn_filecore.h: Likewise.
17789
17790 * DISTLIST: Added `partmap/acorn.c' and
17791 `include/grub/acorn_filecore.h'.
f19dbdb7 17792
7f67dc13 17793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17794 `partmap/acorn.c'.
17795 (pkgdata_MODULES): Add `acorn.mod'.
17796 (acorn_mod_SOURCES): New variable.
17797 (acorn_mod_CFLAGS): Likewise.
17798
17799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17800 `partmap/acorn.c'.
17801 (pkgdata_MODULES): Add `acorn.mod'.
17802 (acorn_mod_SOURCES): New variable.
17803 (acorn_mod_CFLAGS): Likewise.
17804
17805 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
17806 (pkgdata_MODULES): Add `acorn.mod'.
17807 (acorn_mod_SOURCES): New variable.
17808 (acorn_mod_CFLAGS): Likewise.
17809 (acorn_mod_LDFLAGS): Likewise.
17810
17811 * include/types.h (grub_disk_addr_t): New typedef.
17812
6d099807 178132005-11-13 Marco Gerards <mgerards@xs4all.nl>
17814
17815 * geninit.sh: New file.
17816
17817 * geninitheader.sh: Likewise.
17818
17819 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
17820 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
17821 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
17822 * commands/configfile.c (grub_configfile_init)
17823 (grub_configfile_fini): Likewise.
17824 * commands/default.c (grub_default_init, grub_default_fini):
17825 Likewise.
17826 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
17827 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
17828 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
17829 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
17830 Likewise.
17831 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
17832 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
17833 Likewise.
17834 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 17835 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 17836 Likewise.
17837 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
17838 Likewise.
fe6b695a 17839 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 17840 Likewise.
17841 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
17842 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
17843 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
17844 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
17845 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
17846 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
17847 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
17848 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
17849 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
17850 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
17851 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
17852 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
17853 * partmap/amiga.c (grub_amiga_partition_map_init)
17854 (grub_amiga_partition_map_fini): Likewise.
17855 * partmap/apple.c (grub_apple_partition_map_init)
17856 (grub_apple_partition_map_fini): Likewise.
17857 * partmap/pc.c (grub_pc_partition_map_init)
17858 (grub_pc_partition_map_fini): Likewise.
17859 * partmap/sun.c (grub_sun_partition_map_init,
17860 grub_sun_partition_map_fini): Likewise.
17861 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
17862 Likewise.
17863
17864 * util/grub-emu.c: Include <grub_modules_init.h>.
17865 (main): Don't initialize and de-initialize any modules directly,
17866 use `grub_init_all' and `grub_fini_all' instead.
17867
17868 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
17869 `grub_vesafb_mod_init'.
17870 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
17871 all users.
17872 * term/i386/pc/vga.c (grub_vga_init): Renamed to
17873 `grub_vga_mod_init'. Updated all users.
17874 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 17875
6d099807 17876 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
17877 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
17878 rules.
17879
17880 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
17881 Generate a function to initialize the module in utilities.
17882 Updated all callers.
17883 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
17884 initialize the module in utilities. Updated all callers.
17885
9046bcf0 178862005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17887
17888 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
17889 escape sequence and a literal ^L to clear the screen.
17890
17891 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
17892 when returning from Open Firmware.
17893
d13ea639 178942005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17895
17896 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
17897 (grub_ofconsole_height): Likewise.
17898 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
17899 manually insert a '\n'.
17900 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
17901 `grub_ofconsole_height'. Return early if these are already set.
17902
a8fcf206 179032005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
17904
17905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17906 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
17907 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
17908 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
17909 and `normal/script.c'.
17910 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17911 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17912 (test_mod_SOURCES): New variable.
17913 (test_mod_CFLAGS): Likewise.
17914 (test_mod_LDFLAGS): Likewise.
17915 (pkgdata_MODULES): Add `test.mod'.
17916 (grub_script.tab.c): New rule.
17917 (grub_script.tab.h): Likewise.
17918
b6b32745 179192005-11-07 Marco Gerards <mgerards@xs4all.nl>
17920
17921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17922 `commands/test.c', `normal/execute.c', `normal/lexer.c',
17923 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17924 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17925 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17926 (test_mod_SOURCES): New variable.
17927 (test_mod_CFLAGS): Likewise.
17928 (pkgdata_MODULES): Add `test.mod'.
17929 (grub_script.tab.c): New rule.
17930 (grub_script.tab.h): Likewise.
17931
daac212a 179322005-11-06 Marco Gerards <mgerards@xs4all.nl>
17933
17934 Add initial scripting support.
17935
17936 * commands/test.c: New file.
17937 * include/grub/script.h: Likewise.
17938 * normal/execute.c: Likewise.
17939 * normal/function.c: Likewise.
17940 * normal/lexer.c: Likewise.
17941 * normal/parser.y: Likewise.
17942 * normal/script.c: Likewise.
17943
17944 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 17945
daac212a 17946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
17947 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
17948 `normal/function.c' and `normal/script.c'.
17949 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17950 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 17951 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
17952 variables.
daac212a 17953 (pkgdata_MODULES): Add `test.mod'.
17954 (grub_script.tab.c): New rule.
17955 (grub_script.tab.h): Likewise.
17956
17957 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
17958
17959 * include/grub/normal.h (grub_test_init): New prototype.
17960 (grub_test_fini): Likewise.
f19dbdb7 17961
daac212a 17962 * normal/command.c: Include <grub/script.h>.
17963 (grub_command_execute): Rewritten.
f19dbdb7 17964
daac212a 17965 * util/grub-emu.c (main): Call `grub_test_init' and
17966 `grub_test_fini'.
17967
77500b2b 179682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17969
17970 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
17971 to 0.
17972 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
17973 there are no pending characters.
17974
e45deb9e 179752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17976
17977 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
17978 `grub_strndup' to drop device arguments. Replace unnecessary
17979 `grub_strndup' with `grub_strdup'.
17980
4ce32619 179812005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17982
17983 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
17984 `debug' environment variable has been set.
17985
179862005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 17987
4ce32619 17988 * Makefile.in (install-local): Use $(DATA).
17989 (uninstall): Likewise.
17990 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
17991 (sbin_UTILITIES): ... to here.
17992 (sbin_SCRIPTS): New variable.
17993 (grub_install_SOURCES): New variable.
17994 * util/powerpc/ieee1275/grub-install.in: New file.
17995 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
17996 variable.
17997 (add_segments): Call `grub_util_get_path'.
17998
25fe6f03 179992005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
18000
18001 From Timothy Baldwin:
18002 * commands/ls.c (grub_ls_list_files): Close FILE with
18003 grub_file_close.
18004 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
18005
04ccf3ec 180062005-10-24 Marco Gerards <mgerards@xs4all.nl>
18007
18008 * include/grub/parser.h: New file.
18009
18010 * kern/parser.c: Likewise.
18011
18012 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
18013 (grub_setup_SOURCES): Likewise.
18014 (grub_probefs_SOURCES): Likewise.
18015 (grub_emu_SOURCES): Likewise.
18016 (kernel_img_HEADERS): Add `parser.h'.
18017
18018 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18019 (grub_emu_SOURCES): Add `kern/parser.c'.
18020 (grubof_SOURCES): Likewise.
18021
18022 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
18023 (grubof_SOURCES): Add `kern/parser.c'.
18024
18025 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
18026
18027 * kern/misc.c (grub_split_cmdline): Removed function.
18028
18029 * kern/rescue.c: Include <grub/parser.h>.
18030 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
18031 of `grub_split_cmdline'.
18032
18033 * normal/command.c: Include <grub/parser.h>.
18034 (grub_command_execute): Use `grub_parser_split_cmdline' instead
18035 of `grub_split_cmdline'.
18036
18037 * normal/completion.c: Include <grub/parser.h>.
18038 (cmdline_state): New variable.
18039 (iterate_dir): End the filename with a quote depending on the
18040 command line state.
18041 (get_state): new function.
18042 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
18043 split the arguments and determine the current argument. When the
18044 argument string is not quoted, escape all spaces.
18045
6d8f4b0e 180462005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18047
18048 * normal/sparc64/setjmp.S: New file.
18049
15cf03ed 180502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18051
18052 * include/grub/sparc64/libgcc.h: New file.
18053 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
18054 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
18055 normal/sparc64/setjmp.c.
18056
03e8661a 180572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
18058
18059 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
18060 * kern/sparc64/cache.S: New file.
18061 * kern/sparc64/cache.c: Removed.
18062 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
18063 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
18064 -mtune=ultrasparc.
18065 (COMMON_LDFLAGS): Add -melf64_sparc.
18066 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
18067 (grubof_SOURCES): Use cache.S instead of cache.c.
18068 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
18069 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
18070 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
18071 commented though.
18072 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
18073 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
18074 (linux_mod_CFLAGS): Commented out.
18075 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
18076 out because module isn't built.
18077 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
18078 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
18079 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
18080 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
18081 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
18082 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18083 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18084 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
18085 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
18086 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
18087 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
18088 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
18089 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
18090 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
18091
34eeec8a 180922005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
18093
18094 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
18095 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
18096 longer, because HFS should not be used on PC.
18097
708367a3 180982005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
18099
18100 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
18101 consistently within the loop.
18102
6fa1251a 181032005-10-15 Marco Gerards <mgerards@xs4all.nl>
18104
18105 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
18106 directory can not be read.
18107
4801580b 181082005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18109
18110 * configure.ac (AC_INIT): Increase the version number to 1.91.
18111
18112 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
18113 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
18114 term/i386/pc/serial.c.
18115
219ad426 181162005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18117
18118 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
18119 file size must be permitted.
18120
18121 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
18122 between %ah and %al.
18123
688e5699 181242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
18125
18126 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
18127 grub_uint64_t.
18128 Call the hook with a NUL-terminated filename.
18129 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
18130 grub_cpu_to_be32.
18131
18132 * kern/term.c (cursor_state): New variable.
18133 (grub_term_set_current): Reset the cursor state on a new
18134 terminal.
18135 (grub_setcursor): Rewritten to use CURSOR_STATE.
18136 (grub_getcursor): New function.
18137
18138 * include/grub/term.h (grub_getcursor): New prototype.
18139
18140 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
18141 integers on ARM. Reported by Timothy Baldwin
18142 <T.E.Baldwin99@members.leeds.ac.uk>.
18143
bb34586c 181442005-10-11 Marco Gerards <mgerards@xs4all.nl>
18145
18146 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
18147 allocated.
18148 (grub_sfs_dir): Likewise.
18149
9a909877 181502005-10-09 Marco Gerards <mgerards@xs4all.nl>
18151
18152 Add support for the SFS filesystem.
18153
18154 * fs/sfs.c: New file.
18155
18156 * DISTLIST: Added `fs/sfs.c'.
18157
18158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
18159 (grub_probefs_SOURCES): Likewise.
18160 (grub_emu_SOURCES): Likewise.
18161 (pkgdata_MODULES): Add `sfs.mod'.
18162 (sfs_mod_SOURCES): New variable.
18163 (sfs_mod_CFLAGS): Likewise.
18164 (sfs_mod_LDFLAGS): Likewise.
18165
18166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
18167 (pkgdata_MODULES): Add `sfs.mod'.
18168 (sfs_mod_SOURCES): New variable.
18169 (sfs_mod_CFLAGS): Likewise.
18170
18171 * util/grub-emu.c (main): Call `grub_sfs_init' and
18172 `grub_sfs_fini'.
18173
18174 * include/grub/fs.h (grub_sfs_init): New prototype.
18175 (grub_sfs_fini): Likewise.
18176
57bdbde3 181772005-10-07 Marco Gerards <mgerards@xs4all.nl>
18178
18179 Add support for the AFFS filesystem.
18180
18181 * fs/affs.c: New file.
18182
18183 * DISTLIST: Added `fs/affs.c'.
18184
18185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
18186 (grub_probefs_SOURCES): Likewise.
18187 (grub_emu_SOURCES): Likewise.
18188 (pkgdata_MODULES): Add `affs.mod'.
18189 (affs_mod_SOURCES): New variable.
18190 (affs_mod_CFLAGS): Likewise.
18191 (affs_mod_LDFLAGS): Likewise.
18192
18193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
18194 (pkgdata_MODULES): Add `affs.mod'.
18195 (affs_mod_SOURCES): New variable.
18196 (affs_mod_CFLAGS): Likewise.
18197
18198 * util/grub-emu.c (main): Call `grub_affs_init' and
18199 `grub_affs_fini'.
18200
18201 * include/grub/fs.h (grub_affs_init): New prototype.
18202 (grub_affs_fini): Likewise.
18203
047b67e0 182042005-10-01 Marco Gerards <mgerards@xs4all.nl>
18205
18206 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
18207
59b8208a 182082005-10-01 Marco Gerards <mgerards@xs4all.nl>
18209
18210 * configure.ac: Accept `x86_64' as host_cpu. In that case add
18211 `-m32' to CFLAGS.
18212
18213 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
18214 linking.
f19dbdb7 18215
59b8208a 18216 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
18217 (COMMON_LDFLAGS): New variable.
18218 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
18219 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
18220 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
18221 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
18222 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
18223 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
18224 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
18225 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
18226 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
18227 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
18228 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
18229 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
18230 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
18231 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
18232 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
18233 variables.
18234 (normal_mod_ASFLAGS): Add `-m32'.
18235
18236 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
18237 (grub_host_size_t, grub_host_ssize_t): New types.
18238 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 18239 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 18240 `GRUB_HOST_SIZEOF_VOID_P'.
18241
18242 * include/grub/kernel.h (struct grub_module_header): Type of
18243 member offset changed to `grub_host_off_t'. Type of member size
18244 changed to `grub_host_size_t'.
18245 (struct grub_module_info): Type of member offset changed to
18246 `grub_host_off_t'. Type of member size changed to
18247 `grub_host_size_t'.
18248
b4093103 182492005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
18250
18251 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 18252
b4093103 18253 * kern/i386/pc/startup.S (multiboot_header): New label.
18254 (multiboot_entry): Likewise.
18255 (multiboot_trampoline): Likewise.
18256
18257 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18258 Increased to 0x4A0.
18259
18260 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
18261 put parentheses after a question mark.
18262 [!GRUB_UTIL] (my_mod): New variable.
18263
18264 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
18265
b2499b29 182662005-09-28 Marco Gerards <mgerards@xs4all.nl>
18267
18268 Adds support for the XFS filesystem. Btrees are not supported
18269 yet.
18270
18271 * fs/xfs.c: New file.
18272
18273 * DISTLIST: Added `fs/xfs.c'.
18274
18275 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
18276 (grub_probefs_SOURCES): Likewise.
18277 (grub_emu_SOURCES): Likewise.
18278 (pkgdata_MODULES): Add `xfs.mod'.
18279 (xfs_mod_SOURCES): New variable.
18280 (xfs_mod_CFLAGS): Likewise.
18281
18282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
18283 (pkgdata_MODULES): Add `xfs.mod'.
18284 (xfs_mod_SOURCES): New variable.
18285 (xfs_mod_CFLAGS): Likewise.
18286
18287 * util/grub-emu.c (main): Call `grub_xfs_init' and
18288 `grub_xfs_fini'.
18289
18290 * include/grub/fs.h (grub_xfs_init): New prototype.
18291 (grub_xfs_fini): Likewise.
18292
f19dbdb7 18293
83d37a62 182942005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
18295
18296 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
18297 color modes, allow greater than 16 colors to be configured as
18298 a default palette.
18299
47d2d65e 183002005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18301
18302 * normal/completion.c (complete_arguments): Add the qualifier
18303 const into OPTIONS.
18304
18305 From Omniflux <omniflux+lists@omniflux.com>:
18306 * include/grub/terminfo.h: New file.
18307 * include/grub/tparm.h: Likewise.
18308 * include/grub/i386/pc/serial.h: Likewise.
18309 * term/terminfo.c: Likewise.
18310 * term/tparm.c: Likewise.
18311 * term/i386/pc/serial.c: Likewise.
18312 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
18313 serial.mod.
18314 (terminfo_mod_SOURCES): New variable.
18315 (terminfo_mod_CFLAGS): Likewise.
18316 (serial_mod_SOURCES): Likewise.
18317 (serial_mod_CFLAGS): Likewise.
18318
48b671ff 183192005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
18320
18321 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
18322 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
18323 and kern/powerpc/ieee1275/cmain.c, respectively.
18324
18325 * boot/powerpc/ieee1275/crt0.S: Moved to ...
18326 * kern/powerpc/ieee1275/crt0.S: ... here.
18327
18328 * boot/powerpc/ieee1275/cmain.c: Moved to ...
18329 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 18330
48b671ff 18331 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
18332 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
18333 instead of boot/powerpc/ieee1275/crt0.S and
18334 boot/powerpc/ieee1275/cmain.c, respectively.
18335
18336 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
18337 sectors. It was not used anyway.
18338
09fc77a7 183392005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18340
18341 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
18342 `unused parameter' warning.
18343
003789c7 183442005-08-30 Hollis Blanchard <hollis@penguinppc.org>
18345
18346 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
18347 function.
18348 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
18349 getcharwidth.
18350
67f44c86 183512005-08-28 Marco Gerards <metgerards@student.han.nl>
18352
18353 * include/grub/normal.h (enum grub_completion_type): Added
18354 `GRUB_COMPLETION_TYPE_ARGUMENT'.
18355
18356 * normal/cmdline.c (print_completion): Handle
18357 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
18358 * normal/menu_entry.c (store_completion): Likewise.
18359
18360 * normal/completion.c (complete_arguments): New function.
18361 (grub_normal_do_completion): Call `complete_arguments' when the
18362 current words start with a dash.
18363
0b5abe02 183642005-08-27 Marco Gerards <metgerards@student.han.nl>
18365
18366 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
18367 `gzio.mod' instead of `io.mod').
18368
d9864ee1 183692005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
18370
18371 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
18372 (DISTDIRS): Added io and video.
18373 Rewrite the search routine to make an output consistently.
18374
18375 * DISTLIST: Added conf/sparc64-ieee1275.mk,
18376 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
18377 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
18378 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
18379 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
18380 util/powerpc/ieee1275/misc.c.
f19dbdb7 18381
d9864ee1 18382 * include/grub/gzio.h: New file.
18383 * io/gzio.c: Likewise.
f19dbdb7 18384
d9864ee1 18385 * kern/file.c (grub_file_close): Call grub_device_close only if
18386 FILE->DEVICE is not NULL.
18387
18388 * include/grub/mm.h [!NULL] (NULL): New macro.
18389
18390 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
18391
18392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
18393 (pkgdata_MODULES): Added gzio.mod.
18394 (gzio_mod_SOURCES): New variable.
18395 (gzio_mod_CFLAGS): Likewise.
18396
18397 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
18398 (pkgdata_MODULES): Added gzio.mod.
18399 (gzio_mod_SOURCES): New variable.
18400 (gzio_mod_CFLAGS): Likewise.
18401
18402 * commands/cat.c: Include grub/gzio.h.
18403 (grub_cmd_cat): Use grub_gzfile_open instead of
18404 grub_file_open.
f19dbdb7 18405
d9864ee1 18406 * commands/cmp.c: Include grub/gzio.h.
18407 (grub_cmd_cmp): Use grub_gzfile_open instead of
18408 grub_file_open.
18409
18410 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
18411 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
18412 grub_file_open.
18413 (grub_rescue_cmd_module): Likewise.
18414
fa46f4b5 184152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18416
18417 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
18418 kern/sparc64/ieee1275/init.c because it contains _start.
18419 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
18420
e9211b5d 184212005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
18422
18423 * configure.ac: Add support for sparc64 host with ieee1275
18424 firmware.
18425 * configure: Generated from configure.ac.
18426 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
18427 instead of int.
18428 (grub_ofdisk_read): Likewise.
18429 (grub_ofdisk_open): Use %p to print pointer values, and cast the
18430 pointers as (void *) to remove a warning.
18431 (grub_ofdisk_close): Likewise.
18432 (grub_ofdisk_read): Likewise.
18433 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
18434 returns, so make it return void to remove a warning.
18435 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
18436 Corresponding prototype change.
18437 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
18438 values, and cast the pointers as (void *) to remove a warning.
18439 (grub_mm_dump): Likewise.
18440 * conf/sparc64-ieee1275.mk: New file.
18441 * conf/sparc64-ieee1275.rmk: Likewise.
18442 * include/grub/sparc64/setjmp.h: Likewise.
18443 * include/grub/sparc64/types.h: Likewise.
18444 * include/grub/sparc64/ieee1275/console.h: Likewise.
18445 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18446 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18447 * include/grub/sparc64/ieee1275/time.h: Likewise.
18448 * kern/sparc64/cache.c: Likewise.
18449 * kern/sparc64/dl.c: Likewise.
18450 * kern/sparc64/ieee1275/init.c: Likewise.
18451 * kern/sparc64/ieee1275/openfw.c: Likewise.
18452
385c6a92 184532005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
18454
18455 * util/console.c (grub_ncurses_putchar): If C is greater than
18456 0x7f, set C to a question mark.
18457 (grub_ncurses_getcharwidth): New function.
18458 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
18459 getcharwidth.
18460
18461 * normal/menu.c (print_entry): Made aware of Unicode. First,
18462 convert TITLE to UCS-4, and predict the cursor position by
18463 grub_getcharwidth.
18464
18465 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
18466 const to SRC.
18467 * kern/misc.c (grub_utf16_to_utf8): Likewise.
18468
16ccb8b1 184692005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18470
18471 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
18472 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18473 grub_strcat.
18474
18475 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
18476 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18477 grub_strcpy and grub_strlen. Take it into account that a space
18478 character is inserted as a delimiter.
18479
6a85ce79 184802005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18481
18482 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 18483 invalid magic in the error.
6a85ce79 18484
18485 * commands/search.c: New file.
f19dbdb7 18486
6a85ce79 18487 * util/grub-emu.c (main): Call grub_search_init and
18488 grub_search_fini.
18489
18490 * kern/rescue.c (grub_rescue_print_disks): Removed.
18491 (grub_rescue_print_devices): New function.
18492 (grub_rescue_cmd_ls): Use grub_device_iterate with
18493 grub_rescue_print_devices instead of grub_disk_dev_iterate with
18494 grub_rescue_print_disks.
18495
18496 * kern/partition.c (grub_partition_iterate): Return the result of
18497 PARTMAP->ITERATE instead of GRUB_ERRNO.
18498
18499 * kern/device.c: Include grub/partition.h.
18500 (grub_device_iterate): New function.
18501
18502 * include/grub/partition.h (grub_partition_iterate): Return int
18503 instead of grub_err_t.
18504
18505 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
18506 prototype.
18507 [GRUB_UTIL] (grub_search_fini): Likewise.
18508
18509 * include/grub/device.h (grub_device_iterate): New prototype.
18510
18511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18512 commands/search.c.
18513 (pkgdata_MODULES): Added search.mod.
18514 (search_mod_SOURCES): New variable.
18515 (search_mod_CFLAGS): Likewise.
18516
18517 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
18518 (pkgdata_MODULES): Added search.mod.
18519 (search_mod_SOURCES): New variable.
18520 (search_mod_CFLAGS): Likewise.
18521
18522 * commands/ls.c (grub_ls_list_disks): Renamed to ...
18523 (grub_ls_list_devices): ... this, and use grub_device_iterate.
18524 All callers changed.
18525
18526 * DISTLIST: Added commands/search.c.
18527
ef095434 185282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18529
18530 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
18531 conversion.
18532 (grub_getcharwidth): New function.
18533
18534 * kern/misc.c (grub_utf8_to_ucs4): New function.
18535
18536 * include/grub/term.h (struct grub_term): Added a new member
18537 "getcharwidth".
18538 (grub_getcharwidth): New prototype.
18539
18540 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
18541
18542 * term/i386/pc/console.c (map_char): New function. Segregated from
18543 grub_console_putchar.
18544 (grub_console_putchar): Use map_char.
18545 (grub_console_getcharwidth): New function.
18546 (grub_console_term): Specified grub_console_getcharwidth as
18547 getcharwidth.
18548
18549 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
18550 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
18551
18552 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
18553 GRUB_ERRNO.
18554 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
18555 on grub_strtoul completely.
18556 (write_char): Declare local variables in the beginning of the
18557 function.
18558 (grub_vesafb_getcharwidth): New function.
18559 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
18560 getcharwidth.
18561
1f0a95e4 185622005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
18563
18564 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
18565 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
18566 commands/i386/pc/vbetest.c.
18567
18568 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
18569 call grub_vbe_get_controller_info again, because the returned
18570 information is volatile.
18571 (grub_vbe_set_video_mode): Mostly rewritten.
18572 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
18573 grub_vbe_status_t correctly.
18574 (grub_vbe_get_video_mode_info): Likewise.
18575 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
18576 several if statements.
18577
18578 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
18579 * commands/i386/pc/vbeinfo.c: ... this.
18580
18581 * commands/i386/pc/vbe_test.c: Renamed to ...
18582 * commands/i386/pc/vbetest.c: ... this.
18583
18584 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
18585 ...
18586 (grub_cmd_vbeinfo): ... this. Save video modes before
18587 iterating. Skip a video mode, if it is not available, not enough
18588 information is given or it is monochrome. Show the memory
18589 model. Leave the interpretation of MODEVAR to grub_strtoul
18590 completely.
18591 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
18592 (GRUB_MOD_FINI): Likewise.
18593
18594 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
18595 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
18596 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
18597 duplicated grub_env_get. Leave the interpretation of MODEVAR to
18598 grub_strtoul completely.
18599 (real2pm): Removed.
18600 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
18601 (GRUB_MOD_FINI): Likewise.
18602
18603 * normal/misc.c: Include grub/mm.h.
18604
18605 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
18606 vbe_list_modes with vbetest.mod and vbeinfo.mod.
18607 (vbe_list_modes_mod_SOURCES): Removed.
18608 (vbe_list_modes_mod_CFLAGS): Likewise.
18609 (vbe_test_mod_SOURCES): Likewise.
18610 (vbe_test_mod_CFLAGS): Likewise.
18611 (vbeinfo_mod_SOURCES): New variable.
18612 (vbeinfo_mod_CFLAGS): Likewise.
18613 (vbetest_mod_SOURCES): Likewise.
18614 (vbetest_mod_CFLAGS): Likewise.
18615
992ffbbe 186162005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
18617
18618 * normal/misc.c: New file.
18619
18620 * DISTLIST: Added normal/misc.c.
f19dbdb7 18621
992ffbbe 18622 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
18623 DISK to HOOK. Call HOOK with DISK.
18624 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18625 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18626 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18627
18628 * normal/menu_entry.c (struct screen): Added a new member
18629 "completion_shown".
18630 (completion_buffer): New global variable.
18631 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
18632 (store_completion): New function.
18633 (complete): Likewise.
18634 (clear_completions): Likewise.
18635 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
18636 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
18637 a tab, call complete.
18638
18639 * normal/completion.c (disk_dev): Removed.
18640 (print_simple_completion): Likewise.
18641 (print_partition_completion): Likewise.
18642 (print_func): New global variable.
18643 (add_completion): Do not take the arguments WHAT or PRINT any
18644 longer. Added a new argument TYPE. Instead of printing directly,
18645 call PRINT_FUNC if not NULL.
18646 All callers changed.
18647 (complete_device): Use a local variable DEV instead of
18648 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
18649 (grub_normal_do_completion): Take a new argument HOOK. Do not
18650 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
18651 empty string, return NULL instead.
18652 All callers changed.
18653
18654 * normal/cmdline.c (print_completion): New function.
18655
18656 * kern/partition.c (grub_partition_iterate): Add an argument DISK
18657 to HOOK.
18658 All callers changed.
18659
18660 * kern/disk.c (grub_print_partinfo): Removed.
18661
18662 * include/grub/partition.h (struct grub_partition_map): Add a new
18663 argument DISK into HOOK of ITERATE.
18664 (grub_partition_iterate): Add a new argument DISK to HOOK.
18665
18666 * include/grub/normal.h (enum grub_completion_type): New enum.
18667 (grub_completion_type_t): New type.
18668 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
18669 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
18670 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
18671 (GRUB_COMPLETION_TYPE_FILE): Likewise.
18672 (grub_normal_do_completion): Added a new argument HOOK.
18673 (grub_normal_print_device_info): New prototype.
18674
18675 * include/grub/disk.h (grub_print_partinfo): Removed.
18676
18677 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
18678 (normal_mod_SOURCES): Likewise.
18679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18680 (normal_mod_SOURCES): Likewise.
18681
18682 * commands/ls.c (grub_ls_list_disks): Use
18683 grub_normal_print_device_info instead of grub_print_partinfo. Free
18684 PNAME.
18685 (grub_ls_list_files): Use grub_normal_print_device_info instead of
18686 duplicating the code.
18687
0bd41162 186882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18689
18690 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 18691 follow GCS more precisely.
18692 * commands/i386/pc/vbe_test.c: Likewise.
18693 * include/grub/i386/pc/vbe.h: Likewise.
18694 * term/i386/pc/vesafb.c: Likewise.
18695 * video/i386/pc/vbe.c: Likewise.
0bd41162 18696
6323696a 186972005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18698
18699 * DISTLIST: Added term/i386/pc/vesafb.c
18700 DISTLIST: Added video/i386/pc/vbe.c
18701 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
18702 DISTLIST: Added commands/i386/pc/vbe_test.c.
18703 * commands/i386/pc/vbe_list_modes.c: New file.
18704 * commands/i386/pc/vbe_test.c: Likewise.
18705 * term/i386/pc/vesafb.c: Likewise.
18706 * video/i386/pc/vbe.c: Likewise.
18707 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
18708 (grub_vbe_probe) Added prototype.
18709 (grub_vbe_set_video_mode) Likewise.
18710 (grub_vbe_get_video_mode) Likewise.
18711 (grub_vbe_get_video_mode_info) Likewise.
18712 (grub_vbe_set_pixel_rgb) Likewise.
18713 (grub_vbe_set_pixel_index) Likewise.
18714 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
18715 (pkgdata_MODULES): Added vesafb.mod.
18716 (pkgdata_MODULES): Added vbe_list_modes.mod.
18717 (pkgdata_MODULES): Added vbe_test.mod.
18718 (vbe_mod_SOURCES): Added.
18719 (vbe_mod_CFLAGS): Likewise.
18720 (vesafb_mod_SOURCES): Likewise.
18721 (vesafb_mod_CFLAGS): Likewise.
18722 (vbe_list_modes_mod_SOURCES): Likewise.
18723 (vbe_list_modes_mod_CFLAGS): Likewise.
18724 (vbe_test_mod_SOURCES): Likewise.
18725 (vbe_test_mod_CFLAGS): Likewise.
18726
0a74e62f 187272005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
18728
0a74e62f 18729 * normal/command.c (grub_command_execute): If INTERACTIVE is
18730 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
18731 CMDLINE. Disable the pager if INTERACTIVE is true.
18732 All callers are changed.
18733
18734 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
18735 before reading a config file.
18736 * normal/main.c (read_config_file): Even if a command is not
18737 found, register it if it is within an entry.
18738
18739 * util/grub-emu.c: Include sys/types.h and unistd.h.
18740 (options): Added --hold.
18741 (struct arguments): Added a new member "hold".
18742 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
18743 missing.
18744 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
18745 cleared by a debugger, if it is not zero.
18746
18747 * include/grub/normal.h (grub_command_execute): Add an argument
18748 INTERACTIVE.
18749
e51f85ae 187502005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
18751
18752 * DISTLIST: Added include/grub/i386/pc/vbe.h.
18753
e9c6f39b 187542005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
18755
18756 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
18757 program with another one, because the old one didn't detect a bug
18758 in gcc-3.4. Always use regparm 2, because the new test is still
18759 not enough for gcc-4.0. Someone must investigate a simple test
18760 case which detects a bug in gcc-4.0.
18761
8de3495c 187622005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
18763
18764 * DISTLIST: Added normal/completion.c.
18765
18766 * normal/completion.c: New file.
f19dbdb7 18767
8de3495c 18768 * term/i386/pc/console.c (grub_console_getwh): New function.
18769 (grub_console_term): Assign grub_console_getwh to getwh.
18770
18771 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
18772 function is defined in normal/completion.c as
18773 grub_normal_do_completion.
18774 (grub_cmdline_get): Use grub_normal_do_completion instead of
18775 grub_tab_complete.
18776
18777 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
18778 returns non-zero, otherwise return 0.
18779 (grub_partition_iterate): First, probe the partition map. Then,
18780 call ITERATE only for this partition map.
18781
18782 * kern/misc.c (grub_strncmp): Rewritten.
18783
18784 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
18785 returns non-zero. Otherwise return 0.
18786
18787 * include/grub/partition.h (grub_partition_map_iterate): Return
18788 int instead of void.
18789
18790 * include/grub/normal.h (grub_normal_do_completion): New prototype.
18791
18792 * include/grub/misc.h (grub_strncmp): Change the type of N to
18793 grub_size_t.
18794
18795 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
18796 of void.
18797
18798 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 18799 unsigned explicitly before comparing it with I.
8de3495c 18800
18801 * kern/main.c (grub_env_write_root): Add the attribute unused into
18802 VAR.
18803
18804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18805 normal/completion.c.
18806 (normal_mod_SOURCES): Likewise.
18807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18808 (normal_mod_SOURCES): Likewise.
18809
18810 * normal/command.c (grub_iterate_commands): If ITERATE returns
18811 non-zero, return one immediately.
18812
e85e144b 188132005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
18814
18815 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
18816 * kern/i386/pc/startup.S: Updated Global Descriptor table's
18817 descriptions.
18818 (grub_vbe_get_controller_info): New function.
18819 (grub_vbe_get_mode_info): Likewise.
18820 (grub_vbe_set_mode): Likewise.
18821 (grub_vbe_get_mode): Likewise.
18822 (grub_vbe_set_memory_window): Likewise.
18823 (grub_vbe_get_memory_window): Likewise.
18824 (grub_vbe_set_scanline_length): Likewise.
18825 (grub_vbe_get_scanline_length): Likewise.
18826 (grub_vbe_set_display_start): Likewise.
18827 (grub_vbe_get_display_start): Likewise.
18828 (grub_vbe_set_palette_data): Likewise.
18829 * include/grub/i386/pc/vbe.h: New file.
18830
c46153d2 188312005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18832
18833 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18834 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
18835 * DISTLIST: Likewise.
18836 * kern/ieee1275/of.c: Moved to ...
18837 * kern/ieee1275/ieee1275.c: ... here.
18838
0cb90c45 188392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18840
18841 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
18842 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
18843 Pass 0 as `end' parameter to grub_strtoul().
18844
a19fb360 188452005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18846
18847 * include/grub/powerpc/ieee1275/console.h: Do not include
18848 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
18849 ifdef.
18850 (grub_console_cur_color): Remove i386-specific prototype.
18851 (grub_console_real_putchar): Likewise.
18852 (grub_console_checkkey): Likewise.
18853 (grub_console_getkey): Likewise.
18854 (grub_console_getxy): Likewise.
18855 (grub_console_gotoxy): Likewise.
18856 (grub_console_cls): Likewise.
18857 (grub_console_setcursor): Likewise.
18858 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
18859 Include <grub/machine/console.h>.
18860 * term/ieee1275/ofconsole.c: Likewise.
18861
4ac9bd04 188622005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
18863
18864 * Makefile.in (LIBLZO): New variable.
18865
18866 * configure.ac: Check for LZO version 2.
18867
18868 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
18869 lzo/lzo1x.h instead of lzo1x.h.
18870
18871 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
18872 of -llzo.
18873
18874 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
18875 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
18876
18877 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
18878 copying the data from PARTITION to P.
18879
f4917dfd 188802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18881
18882 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
18883 negative, unload the module.
18884
18885 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
18886 map is "pc_partition_map" but not "pc".
18887 (usage): Fix the description. The options are --boot-image and
18888 --core-image but not --boot-file or --core-file.
18889 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
18890 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
18891 DEFAULT_DIRECTORY.
18892
18893 * util/i386/pc/grub-install.in: Do not specify --boot-file or
18894 --core-file. Specify INSTALL_DEVICE as an argument.
18895
18896 * util/console.c: Include config.h.
18897 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
18898 [HAVE_NCURSES_H]: Include ncurses.h.
18899 [HAVE_CURSES_H]: Include curses.h.
18900 [!A_NORMAL] (A_NORMAL): Defined as zero.
18901 [!A_STANDOUT] (A_STANDOUT): Likewise.
18902
18903 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
18904 -lncurses.
18905 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
18906
18907 * configure.ac: Check for curses libraries and headers.
18908
18909 * Makefile.in (LIBCURSES): New variable.
18910
18911 * genmk.rb (Script::rule): Set the executable bits.
18912
18913 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
18914 name of the PC partition map is "pc_partition_map" but not "pc".
18915
0e143073 189162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18917
18918 * util/i386/pc/grub-install.in (grub_probefs): New variable.
18919 (modules): Likewise.
18920 (usage): Added descriptions for --modules and --grub-probefs.
18921 Handle --modules and --grub-probefs. Save the arguments in MODULES
18922 and GRUB_PROBEFS, respectively.
18923 Auto-detect a filesystem module against GRUBDIR. If the result is
18924 empty and modules are not specified explicitly, abort the
18925 installation. Add the result to MODULES.
18926
18927 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
18928 disk/powerpc/ieee1275/ofdisk.c,
18929 include/grub/powerpc/ieee1275/init.h and
18930 term/powerpc/ieee1275/ofconsole.c.
18931 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
18932 term/ieee1275/ofconsole.c.
18933
18934 * include/grub/powerpc/ieee1275/console.h: Resurrected.
18935
18936 * COPYING: Upgraded to the latest version. Only the address of the
18937 FSF office has changed.
f19dbdb7 18938
efd6e6d5 189392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18940
18941 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18942 kern/ieee1275.c with kern/ieee1275/of.c.
18943
18944 * kern/ieee1275.c: Moved to ...
18945 * kern/ieee1275/of.c: ... here.
18946
8ceafda2 189472005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
18948
18949 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 18950 readability.
8ceafda2 18951
18952 * config.guess: Updated to the latest version from gnulib.
18953 * config.sub: Likewise.
18954 * install.sh: Likewise.
18955 * mkinstalldirs: Likewise.
18956
18957 * include/grub/console.h: Removed. This file is arch-specific. Do
18958 not put this in include/grub.
18959
18960 * include/grub/i386/pc/console.h: Resurrected.
18961
18962 * util/console.c: Include grub/machine/console.h instead of
18963 grub/console.h.
18964 * util/grub-emu.c: Likewise.
18965
267f6cd9 189662005-08-04 Marco Gerards <metgerards@student.han.nl>
18967
18968 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
18969 hardcoded value.
f19dbdb7 18970
267f6cd9 18971 From Vincent Pelletier <subdino2004@yahoo.fr>
18972 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
18973 Redefined to use grub_getwh.
18974 (grub_term): New member named getwh.
18975 (grub_getwh): New prototype.
18976 * kern/term.c (grub_getwh): New function.
18977 * term/i386/pc/console.c (grub_console_getwh): New function.
18978 (grub_console_term): New member `getwh'.
18979 * term/i386/pc/vga.c (grub_vga_getwh): New function.
18980 (grub_vga_term): New member `getwh'.
0b5abe02 18981 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 18982 grub_ssize_t.
18983 (grub_ofconsole_getw): New function.
18984 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
18985 (grub_ofconsole_term): New field named getwh and new initial
18986 value.
18987
3be7266d 189882005-08-03 Hollis Blanchard <hollis@penguinppc.org>
18989
18990 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
18991 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
18992 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
18993 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
18994 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
18995 of <grub/machine/ieee1275.h>.
18996 * commands/ieee1275/reboot.c: Likewise.
18997 * boot/powerpc/ieee1275/ieee1275.c: Move ...
18998 * kern/ieee1275.c: ... to here. All users updated. Change all
18999 parameter structs to use new type `grub_ieee1275_cell_t'.
19000 * term/powerpc/ieee1275/ofconsole.c: Move ...
19001 * term/ieee1275/ofconsole.c: ... to here. All users updated.
19002 * disk/powerpc/ieee1275/ofdisk.c: Move ...
19003 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
19004 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
19005 to return int.
19006 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
19007 Remove unused prototypes. All users updated.
19008 * include/grub/powerpc/ieee1275/console.h: Removed.
19009 * include/grub/powerpc/ieee1275/ieee1275.h: Define
19010 `grub_ieee1275_cell_t'.
19011 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
19012 Cast comparisons with -1 to the correct type.
19013 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
19014 type to match `grub_ieee1275_entry_fn'.
19015
8b5f3938 190162005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
19017
19018 * DISTLIST: Added util/i386/pc/grub-probefs.c.
19019
19020 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
19021 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
19022 partmap/sun.c.
19023 (grub_probefs_SOURCES): New variable.
19024
19025 * util/i386/pc/grub-probefs.c: New file.
19026
19027 * util/i386/pc/grub-setup.c (main): Call
19028 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
19029 grub_hfs_init and grub_jfs_init to initialize the system. Call
19030 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
19031 grub_pc_partition_map_fini to finish the system.
19032
ea409713 190332005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
19034
19035 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
19036 function.
19037 (grub_multiboot_load_elf32): Likewise.
19038 (grub_multiboot_is_elf64): Likewise.
19039 (grub_multiboot_load_elf64): Likewise.
19040 (grub_multiboot_load_elf): Likewise.
19041 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
19042 an ELF32 or ELF64 file.
19043 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
19044
19045 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
19046 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
19047 NULL before calling FS->LABEL.
19048 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
19049 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
19050 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
19051 before calling FS->LABEL.
19052
141a288b 190532005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
19054
19055 * util/i386/pc/grub-install.in (datadir): New variable.
19056 (libdir): Removed.
19057 (pkgdatadir): New variable.
19058 (pkglibdir): Removed.
19059
0d5f8a54 190602005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
19061
19062 * DISTLIST: Added util/i386/pc/grub-install.in.
19063
19064 * util/i386/pc/grub-install.in: New file.
19065
19066 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
19067 (grub_install_SOURCES): Likewise.
19068
19069 * genmk.rb: Added support for scripts.
19070 (Script): New class.
19071 (scripts): New variable.
19072
19073 * Makefile.in (install-local): Install sbin_SCRIPTS by
19074 INSTALL_SCRIPT.
19075 (uninstall): Remove sbin_SCRIPTS.
19076
19077 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
19078 device, try to get a GRUB device by
19079 grub_util_biosdisk_get_grub_dev.
19080 Free DEST_DEV.
19081
19082 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
19083 description for --device-map.
19084
5f968e1e 190852005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
19086
19087 Change the semantics of variable hooks. They now return strings
19088 instead of error values.
f19dbdb7 19089
5f968e1e 19090 * util/i386/pc/grub-setup.c: Include grub/env.h.
19091 (setup): Use grub_device_set_root instead of grub_env_set.
19092
19093 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
19094 grub_env_get instead of grub_device_set_root and
19095 grub_device_get_root, respectively.
19096
19097 * kern/main.c (grub_env_write_root): New function.
19098 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
19099 grub_env_set instead of grub_device_set_root.
19100
19101 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
19102 many variables.
19103 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
19104 rather than calling ENV->WRITE_HOOK afterwards.
19105 (grub_env_get): Return the result of ENV->READ_HOOK rather than
19106 passing a pointer of a pointer.
19107 (grub_register_variable_hook): Change the types of "read_hook" and
19108 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
19109 respectively.
19110 Allocate the default empty string on the heap, because this string
19111 may be freed later.
19112
19113 * kern/device.c: Include grub/env.h.
19114 (grub_device_set_root): Removed.
19115 (grub_device_get_root): Likewise.
19116 (grub_device_open): Use grub_env_get instead of
19117 grub_device_get_root.
19118
19119 * include/grub/env.h (grub_env_read_hook_t): New type.
19120 (grub_env_write_hook_t): Likewise.
19121 (grub_env_var): Change the types of "read_hook" and "write_hook"
19122 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
19123 (grub_register_variable_hook): Likewise.
19124
19125 * include/grub/device.h (grub_device_set_root): Removed.
19126 (grub_device_set_root): Likewise.
19127
19128 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
19129 make sure that DIRNAME terminates with '/', so that
19130 grub_fat_find_dir will fail if PATH is not a directory.
19131
19132 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
19133 from DIRNAME.
19134 Use the qualifier auto for print_files and print_files_long.
19135 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
19136 as a regular file.
19137 Put a newline only if there is no error.
19138 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
19139 used.
19140
896f0afd 191412005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
19142
19143 * kern/partition.c (grub_partition_probe): Initialize PART to
19144 NULL. Otherwise, when no partition map is registered, this returns
19145 a garbage.
19146
b28b81b2 191472005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
19148
19149 * partmap/apple.c (apple_partition_map_iterate): Check if POS
19150 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
19151 valid.
19152
5f3607e0 191532005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
19154
19155 * commands/ls.c (grub_ls_list_disks): Print the filesystem
19156 information on each device, if it does not have partitions. Print
19157 "Device" instead of "Disk", because this function is not specific
19158 to disk devices.
19159
19160 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
19161 static to ensure that it is put on the memory rather than a
19162 register.
19163
502c87e8 191642005-07-17 Yoshinori Okuji <okuji@enbug.org>
19165
19166 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
19167 (grub_cat_init): Likewise.
19168 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
19169 (options): Likewise.
19170 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19171 (grub_configfile_init): Likewise.
19172 * font/manager.c (GRUB_MOD_INIT): Likewise.
19173 * commands/help.c (GRUB_MOD_INIT): Likewise.
19174 (grub_help_init): Likewise.
19175 * normal/command.c (grub_command_init): Likewise.
19176 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
19177 * disk/loopback.c (grub_loop_init): Likewise.
19178 (GRUB_MOD_INIT): Likewise.
19179 * commands/ls.c (grub_ls_init): Likewise.
19180 (GRUB_MOD_INIT): Likewise.
19181 (options): Likewise.
19182 * commands/boot.c (grub_boot_init): Likewise.
19183 (GRUB_MOD_INIT): Likewise.
19184 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
19185 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
19186 (GRUB_MOD_INIT): Likewise.
19187 * commands/cmp.c (grub_cmp_init): Likewise.
19188 (GRUB_MOD_INIT): Likewise.
19189
19190 * normal/arg.c: Use <> instead of "" to include header files.
19191 (SHORT_ARG_HELP): New macro.
19192 (SHORT_ARG_USAGE): Likewise.
19193 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
19194 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
19195 descriptions.
19196 (find_short): Check if C is 'h' or 'u' explicitly.
19197 (grub_arg_show_help): Use space characters instead of tabs. Treat
19198 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
19199 are shown with --help and --usage only if they are not used for
19200 the command itself.
19201 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
19202 'h' and 'u'.
19203
19204 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
19205 const into "longarg". Change the type of "shortarg" to int.
19206
f806d18e 192072005-07-17 Yoshinori Okuji <okuji@enbug.org>
19208
19209 * boot/i386/pc/boot.S (boot_drive_check): New label.
19210
19211 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
19212 macro.
19213
19214 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
19215 which do not pass a boot drive correctly. Copied from GRUB Legacy.
19216
e293232b 192172005-07-17 Yoshinori Okuji <okuji@enbug.org>
19218
19219 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
19220 When turning off Gate A20, skip the check and return immediately,
19221 because this is not fatal usually.
19222
ebedfd00 192232005-07-17 Yoshinori Okuji <okuji@enbug.org>
19224
19225 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
19226 be 0x7C00 instead of 0x8000.
19227
19228 * boot/i386/pc/pxeboot.S: Rewritten.
19229
19230 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
19231 EXT_C.
19232 (gate_a20_check_state): Read a byte from 0x108000. Invert the
19233 result.
19234
654fc59f 192352005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
19236
19237 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
19238 robustness. This routine now supports a BIOS call and System
19239 Control Port A to modify the gate A20.
19240
19241 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19242 Increased to 0x440.
19243
09f9923f 192442005-07-12 Hollis Blanchard <hollis@penguinppc.org>
19245
19246 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
19247 device path and resulting ihandle.
19248 (grub_ofdisk_close): dprintf the ihandle being closed.
19249 (grub_ofdisk_read): dprintf function parameters.
19250 * kern/mm.c (grub_mm_init_region): Likewise.
19251 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
19252 (grub_linux_boot): dprintf the Linux entry point, initrd address and
19253 size, and boot arguments.
19254 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
19255 before loading into memory.
19256 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
19257 before loading into memory.
19258
7ef504d8 192592005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
19260
19261 * kern/mm.c: Added much documentation.
19262 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
19263 8, set to 5 instead of 8.
19264
e0f050c2 192652005-07-10 Yoshinori Okuji <okuji@enbug.org>
19266
19267 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
19268
19269 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
19270 (grub_mkdevicemap_SOURCES): New variable.
19271
19272 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
19273 lib/device.c of GRUB Legacy.
19274
7224189a 192752005-07-10 Yoshinori Okuji <okuji@enbug.org>
19276
19277 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
19278 instead of PATH is NULL.
19279
68c864eb 192802005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
19281
19282 * commands/cmp.c (BUFFER_SIZE): New macro.
19283 (grub_cmd_cmp): Close the right file at the right time. Compare
19284 only data just read. Don't report files of different size as
19285 identical. Dynamically allocate buffers. Move variable
19286 declarations at the beginning of function.
19287
e6f3e614 192882005-07-09 Yoshinori Okuji <okuji@enbug.org>
19289
19290 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
19291 reverse.
19292
f8f1559a 192932004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
19294
19295 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
19296 when backspace is pressed at beginning of line.
19297
39c9d41d 192982005-07-03 Yoshinori Okuji <okuji@enbug.org>
19299
19300 * DISTLIST: Added genfslist.sh.
19301
19302 * normal/main.c (fs_module_list): New variable.
19303 (autoload_fs_module): New function.
19304 (read_fs_list): Likewise.
19305 (grub_normal_execute): Call read_fs_list.
19306
19307 * kern/fs.c (grub_fs_autoload_hook): New variable.
19308 (grub_fs_probe): Added support for auto-loading.
19309
19310 * include/grub/normal.h (struct grub_fs_module_list): New struct.
19311 (grub_fs_module_list_t): New type.
19312
19313 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
19314 (grub_fs_autoload_hook): New prototype.
19315
19316 * genfslist.sh: New file.
f19dbdb7 19317
39c9d41d 19318 * genmk.rb: Added a rule to generate a filesystem list.
19319
121c1d83 193202005-06-30 Marco Gerards <metgerards@student.han.nl>
19321
19322 * configure.ac: Fix the test for cross-compiling.
19323
19324 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
19325 define GRUB_UTIL anymore.
19326
19327 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
19328 so this function works on other systems than just big endian.
19329 (load_modules): Likewise.
19330 (add_segments): Likewise.
19331
e75d76e1 193322005-06-23 Hollis Blanchard <hollis@penguinppc.org>
19333
19334 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
19335 contains `l' modifier, get a long from va_arg().
19336
50b5a0a7 193372005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
19338
19339 * kern/mm.c (grub_free): If the next free block which is being
19340 merged is the first free block, set the first block to the block
19341 being freed.
19342 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
19343
89371b20 193442005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19345
19346 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
19347 `grub_ieee1275_chosen'.
19348
168d6e58 193492005-05-08 Hollis Blanchard <hollis@penguinppc.org>
19350
19351 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
19352 (grub_ieee1275_chosen): New variable.
19353 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
19354 `chosen'.
19355 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
19356 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19357 Rename first argument to `phandle' for consistency.
19358 (grub_ieee1275_get_property_length): Likewise.
19359 (grub_ieee1275_next_property): Likewise. Change type of first argument
19360 to grub_ieee1275_phandle_t.
19361 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
19362 Move export next to declaration.
19363 (grub_ieee1275_chosen): New variable.
19364 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
19365 Correct cosmetic typo.
19366 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
19367 `grub_ieee1275_chosen'.
19368 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
19369 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
19370 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
19371 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
19372 `grub_ieee1275_chosen'.
19373
ca5baa3f 193742005-05-10 Hollis Blanchard <hollis@penguinppc.org>
19375
19376 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
19377 /chosen/bootargs.
19378 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
19379 /chosen/bootargs as "variable=value" pairs.
19380
708b345f 193812005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
19382
19383 * include/grub/misc.h (grub_dprintf): New macro.
19384 (grub_real_dprintf): New prototype.
19385 (grub_strword): Likewise.
19386 (grub_iswordseparator): Likewise.
19387 * kern/misc.c (grub_real_dprintf): New function.
19388 (grub_strword): Likewise.
19389 (grub_iswordseparator): Likewise.
19390
f4c5e67c 193912005-04-30 Hollis Blanchard <hollis@penguinppc.org>
19392
19393 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
19394 (roundup): Remove macro.
19395 (grub_ieee1275_flags): Make static.
19396 (grub_ieee1275_realmode): Remove.
19397 (grub_ieee1275_test_flag): New function.
19398 (grub_ieee1275_set_flag): Likewise.
19399 (find_options): Rename to `grub_ieee1275_find_options'; update
19400 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
19401 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
19402 (cmain): New prototype.
19403 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
19404 `grub_ieee1275_flags' directly.
19405 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
19406 machine/biosdisk.h.
19407 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
19408 Don't include grub/machine/init.h.
19409 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
19410 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19411 Remove prototype.
19412 (grub_ieee1275_realmode): Likewise.
19413 (grub_ieee1275_flag): New enum.
19414 (grub_ieee1275_test_flag): New prototype.
19415 (grub_ieee1275_set_flag): New prototype.
19416 * include/grub/powerpc/ieee1275/init.h: Remove file.
19417 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
19418 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
19419 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
19420 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
19421 comment.
19422 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
19423 `grub_ieee1275_test_flag'.
19424 (grub_ieee1275_encode_devname): Likewise.
19425
ed16607e 194262005-04-21 Hollis Blanchard <hollis@penguinppc.org>
19427
19428 * include/grub/powerpc/ieee1275/ieee1275.h
19429 (grub_ieee1275_encode_devname): New prototype.
19430 (grub_ieee1275_get_filename): Likewise.
19431 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
19432 function.
19433 (grub_set_prefix): Likewise.
19434 (grub_machine_init): Call grub_set_prefix.
19435 * kern/powerpc/ieee1275/openfw.c: Fix typos.
19436 (grub_parse_type): New enum.
19437 (grub_ieee1275_get_devargs): New function.
19438 (grub_ieee1275_get_devname): Likewise.
19439 (grub_ieee1275_parse_args): Likewise.
19440 (grub_ieee1275_get_filename): Likewise.
19441 (grub_ieee1275_encode_devname): Likewise.
19442
be369920 194432005-03-30 Marco Gerards <metgerards@student.han.nl>
19444
19445 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
19446 `grub_loader_unset'.
19447
a5ce3a4a 194482005-03-26 Hollis Blanchard <hollis@penguinppc.org>
19449
19450 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
19451 instead of grub_ieee1275_interpret.
19452 (grub_halt_init): New function.
19453 (grub_halt_fini): Likewise.
19454 (GRUB_MOD_INIT): Correct message grammar.
19455 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
19456 instead of grub_ieee1275_interpret.
19457 (grub_reboot_init): New function.
19458 (grub_reboot_fini): Likewise.
19459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
19460 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
19461 util/i386/pc/misc.c with commands/ieee1275/halt.c,
19462 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
19463 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
19464 function.
19465 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
19466 Add prototype.
19467 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
19468 prototype.
19469 (grub_halt): Likewise.
19470 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
19471 (cmain): Remove __attribute__((unused)).
19472 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
19473 (grub_heap_len): Likewise.
19474 (grub_machine_fini): New function.
19475 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
19476 (grub_halt): Likewise.
19477 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
19478 function.
19479 * util/powerpc/ieee1275/misc.c: New file.
19480
0058f771 194812005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19482
19483 * DISTLIST: New file.
19484 * gendistlist.sh: Likewise.
f19dbdb7 19485
0058f771 19486 * Makefile.in (COMMON_DISTFILES): Removed.
19487 (BOOT_DISTFILES): Likewise.
19488 (CONF_DISTFILES): Likewise.
19489 (DISK_DISTFILES): Likewise.
19490 (FS_DISTFILES): Likewise.
19491 (INCLUDE_DISTFILES): Likewise.
19492 (KERN_DISTFILES): Likewise.
19493 (LOADER_DISTFILES): Likewise.
19494 (TERM_DISTFILES): Likewise.
19495 (UTIL_DISTFILES): Likewise.
19496 (DISTFILES): Likewise.
19497 (uninstall): Uninstall files in $(pkgdata_DATA).
19498 (DISTLIST): New target.
19499 (distdir): Use the contents of the file DISTLIST to get a list of
19500 distributed files.
19501
46b3b8a5 195022005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19503
19504 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
19505 descriptor. This is ported from GRUB Legacy.
19506
19507 * gencmdlist.sh: Added an extra semicolon to make it work with
19508 old sed versions. Reported by Robert Bihlmeyer
19509 <robbe@orcus.priv.at>.
19510
5822ff87 195112005-03-08 Yoshinori Okuji <okuji@enbug.org>
19512
19513 Automatic loading of commands is supported.
f19dbdb7 19514
5822ff87 19515 * normal/main.c (read_command_list): New function.
19516 (grub_normal_execute): Call read_command_list.
19517
19518 * normal/command.c (grub_register_command): Return zero or CMD.
19519 Allocate CMD->NAME from the heap.
19520 Initialize CMD->MODULE_NAME to zero.
19521 Find the same name as well. If the same command is found and it is
19522 a dummy command, overwrite members. If it is not a dummy command,
19523 return zero.
19524 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
19525 (grub_command_find): If a dummy command is found, load a module
19526 and retry to find a command only once.
19527
19528 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
19529 make sure that each command is loaded.
19530
19531 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
19532 macro.
19533 (struct grub_command): Remove const from the member `name'.
19534 Add a new member `module_name'.
19535 (grub_register_command): Return grub_command_t.
19536
19537 * commands/help.c (grub_cmd_help): Call grub_command_find to make
19538 sure that each command is loaded.
19539
19540 * genmk.rb (PModule::rule): Specify a module name without the
19541 suffix ".mod" to gencmdlist.sh.
19542
7b1f4b57 195432005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19544
19545 * gencmdlist.sh: New file.
f19dbdb7 19546
7b1f4b57 19547 * genmk.rb (PModule::rule): Generate a rule for a command list.
19548 Clean command.lst.
19549 Generate command.lst from $(COMMANDFILES).
19550
19551 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
19552 (DATA): Added $(pkgdata_DATA).
19553 (install-local): Install files in $(pkgdata_DATA).
19554
062aaf39 195552005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19556
19557 * term/i386/pc/vga.c (debug_command): Removed.
19558 (GRUB_MOD_INIT): Do not register the command "debug".
19559
19560 From Hollis Blanchard:
19561 * commands/configfile.c: New file.
19562 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19563 commands/configfile.c.
19564 (pkgdata_MODULES): Added configfile.mod.
19565 (configfile_mod_SOURCES): New variable.
19566 (configfile_mod_CFLAGS): Likewise.
19567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19568 commands/configfile.c.
19569 (pkgdata_MODULES): Added configfile.mod.
19570 (configfile_mod_SOURCES): New variable.
19571 (configfile_mod_CFLAGS): Likewise.
19572 * util/grub-emu.c (main): Call grub_configfile_init and
19573 grub_configfile_fini.
19574 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
19575 prototype.
19576 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 19577
cee01aa6 195782005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19579
19580 * normal/arg.c (grub_arg_show_help): Do not show the bug report
19581 address.
19582
19583 * commands/help.c (grub_cmd_help): Do not print newlines after
19584 the last command in print_command_help.
19585
93f3a1d8 195862005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19587
19588 * commands/default.h: New file.
19589 * commands/timeout.h: Likewise.
19590 * normal/context.c: Likewise.
f19dbdb7 19591
93f3a1d8 19592 * util/misc.c: Do not include sys/times.h.
19593 Include sys/time.h and grub/machine/time.h.
19594 (grub_get_rtc): Rewritten with gettimeofday.
19595
19596 * util/grub-emu.c (main): Call grub_default_init and
19597 grub_timeout_init before grub_normal_init, and call
19598 grub_timeout_fini and grub_default_fini after grub_main.
19599
19600 * util/console.c (grub_ncurses_checkkey): Return the read
19601 character or -1.
19602
19603 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
19604 timeouts.
19605
19606 * normal/main.c (read_config_file): Push MENU. If this fails,
19607 print an error and wait for a user input.
19608 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
19609 If a menu is empty or an error occurs, pop MENU.
19610 (grub_normal_execute): Pop and free MENU after grub_menu_run
19611 returns.
19612
19613 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
19614
19615 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
19616 include time.h.
19617 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19618 without GRUB_UTIL.
19619 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
19620 time.h.
19621 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19622 without GRUB_UTIL.
19623
19624 * include/grub/normal.h (struct grub_menu_list): New struct.
19625 (grub_menu_list_t): New type.
19626 (struct grub_context): New struct.
19627 (grub_context_t): New type.
19628 (grub_register_command): Got rid of EXPORT_FUNC.
19629 (grub_unregister_command): Likewise.
19630 (grub_context_get): New prototype.
19631 (grub_context_get_current_menu): Likewise.
19632 (grub_context_push_menu): Likewise.
19633 (grub_context_pop_menu): Likewise.
19634 [GRUB_UTIL] (grub_default_init): Likewise.
19635 [GRUB_UTIL] (grub_default_fini): Likewise.
19636 [GRUB_UTIL] (grub_timeout_init): Likewise.
19637 [GRUB_UTIL] (grub_timeout_fini): Likewise.
19638
19639 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
19640 commands/timeout.c and normal/context.c.
19641 (pkgdata_MODULES): Added default.mod and timeout.mod.
19642 (normal_mod_SOURCES): Added normal/context.c.
19643 (default_mod_SOURCES): New variable.
19644 (default_mod_CFLAGS): Likewise.
19645 (timeout_mod_SOURCES): Likewise.
19646 (timeout_mod_CFLAGS): Likewise.
19647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
19648 conf/i386-pc.rmk.
19649 (pkgdata_MODULES): Added default.mod and timeout.mod.
19650 (normal_mod_SOURCES): Added normal/context.c.
19651 (default_mod_SOURCES): New variable.
19652 (default_mod_CFLAGS): Likewise.
19653 (timeout_mod_SOURCES): Likewise.
19654 (timeout_mod_CFLAGS): Likewise.
19655
19656 * Makefile.in (all-local): Added $(MKFILES).
19657
4ed2e1dd 196582005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
19659
19660 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
19661 (grub_emu_SOURCES): Likewise.
19662 (pkgdata_MODULES): Add `sun.mod'.
19663 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19665 `partmap/sun.c'.
19666 (pkgdata_MODULES): Add `sun.mod'.
19667 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19668 * include/grub/partition.h (grub_sun_partition_map_init): New
19669 prototype.
19670 (grub_sun_partition_map_fini): Likewise.
19671 * partmap/sun.c: New file.
19672 * util/grub-emu.c (main): Initialize and de-initialize the sun
19673 partitionmap support.
19674
4d4e372e 196752005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
19676
19677 This implements an Emacs-like menu entry editor.
f19dbdb7 19678
4d4e372e 19679 * normal/menu_entry.c: New file.
f19dbdb7 19680
4d4e372e 19681 * util/console.c (grub_ncurses_putchar): Translate some Unicode
19682 characters to ASCII.
19683 (saved_char): New variable.
19684 (grub_ncurses_checkkey): Rewritten completely.
19685 (grub_ncurses_getkey): Likewise.
19686 (grub_ncurses_init): Call raw instead of cbreak.
19687
19688 * normal/menu.c (print_entry): Do not put a space.
19689 (init_page): Renamed to ...
19690 (grub_menu_init_page): ... this. All callers changed.
19691 (edit_menu_entry): Removed.
19692 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
19693
19694 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
19695
19696 * kern/misc.c (grub_vprintf): Call grub_refresh.
19697
19698 * normal/menu.c (DISP_LEFT): Renamed to ...
19699 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
19700 * normal/menu.c (DISP_UP): Renamed to ...
19701 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
19702 * normal/menu.c (DISP_RIGHT): Renamed to ...
19703 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
19704 * normal/menu.c (DISP_DOWN): Renamed to ...
19705 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
19706 * normal/menu.c (DISP_HLINE): Renamed to ...
19707 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
19708 * normal/menu.c (DISP_VLINE): Renamed to ...
19709 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
19710 * normal/menu.c (DISP_UL): Renamed to ...
19711 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
19712 * normal/menu.c (DISP_UR): Renamed to ...
19713 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
19714 * normal/menu.c (DISP_LL): Renamed to ...
19715 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
19716 * normal/menu.c (DISP_LR): Renamed to ...
19717 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
19718 * normal/menu.c (TERM_WIDTH): Renamed to ...
19719 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
19720 * normal/menu.c (TERM_HEIGHT): Renamed to ...
19721 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
19722 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
19723 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
19724 * normal/menu.c (TERM_MARGIN): Renamed to ...
19725 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
19726 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
19727 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
19728 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
19729 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
19730 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
19731 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
19732 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
19733 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
19734 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
19735 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
19736 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
19737 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
19738 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
19739 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
19740 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
19741 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
19742 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
19743 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
19744 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
19745 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
19746 All callers changed.
19747
19748 * include/grub/normal.h: New prototype.
19749
19750 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19751 normal/menu_entry.c.
19752 (normal_mod_SOURCES): Likewise.
19753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19754 (normal_mod_SOURCES): Likewise.
19755
e6b92c8a 197562005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
19757
19758 * include/grub/normal.h (grub_halt_init): New prototype.
19759 (grub_halt_fini): Likewise.
19760 (grub_reboot_init): Likewise.
19761 (grub_reboot_fini): Likewise.
19762
19763 * util/grub-emu.c: Include signal.h.
19764 (main_env): New global variable.
19765 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
19766 catch C-c.
19767 (grub_machine_fini): New function.
19768 (main): Call grub_halt_init and grub_reboot_init before
19769 grub_main, and grub_reboot_fini and grub_halt_fini after it.
19770 Call setjmp with MAIN_ENV to go back afterwards.
19771 Call grub_machine_fini right before return.
19772
19773 * include/grub/util/misc.h: Include setjmp.h.
19774 (main_env): New prototype.
19775
19776 * include/grub/kernel.h (grub_machine_fini): New prototype.
19777 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
19778 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
19779
19780 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
19781 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
19782 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 19783
e6b92c8a 19784 * util/i386/pc/misc.c: New file.
f19dbdb7 19785
e6b92c8a 19786 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19787 util/i386/pc/misc.c, commands/i386/pc/halt.c and
19788 commands/i386/pc/reboot.c.
19789
c642636f 197902005-02-14 Guillem Jover <guillem@hadrons.org>
19791
19792 * include/grub/dl.h (grub_dl_check_header): New prototype.
19793 (grub_arch_dl_check_header): Change return type to grub_err_t,
19794 remove size parameter and export function. Update all callers.
19795 * kern/dl.c (grub_dl_check_header): New function.
19796 (grub_dl_load_core): Use `grub_dl_check_header' instead of
19797 `grub_arch_dl_check_header'. Check ELF type. Check if sections
19798 are inside the core.
19799 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
19800 independent ELF header checks.
19801 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19802 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
19803 `grub_dl_check_header' instead of explicit checks. Check for the
19804 ELF type.
19805 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
19806 `grub_dl_check_header' instead of explicit checks. Remove arch
19807 specific ELF header checks.
19808
e6b92c8a 19809 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
19810 argument SIZE.
19811
5eabe94b 198122005-02-13 Hollis Blanchard <hollis@penguinppc.org>
19813
19814 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
19815 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
19816
1b14a681 198172005-02-12 Hollis Blanchard <hollis@penguinppc.org>
19818
19819 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 19820 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 19821 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 19822 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 19823 * partmap/amiga.c (amiga_partition_map_iterate): Return
19824 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
19825 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19826
aca108aa 198272005-02-01 Guillem Jover <guillem@hadrons.org>
19828
19829 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
19830 help info.
19831
c9f9c556 198322005-01-31 Marco Gerards <metgerards@student.han.nl>
19833
19834 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
19835 Removed prototype.
19836 (grub_rescue_cmd_linux): New prototype.
19837 (grub_rescue_cmd_initrd): Likewise.
19838 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
19839 `bi_rec'.
19840 (grub_linux_release_mem): Release the memory for the initrd.
19841 (grub_load_linux): Renamed from this...
19842 (grub_rescue_cmd_linux): ...To this. Changed all callers.
19843 Changed `entry' not to be static. Loop over memory regions to
19844 find another one when the default fails.
19845 (grub_rescue_cmd_initrd): New function.
19846 (grub_linux_init): Remove function.
19847 (grub_linux_fini): Likewise.
19848 (GRUB_MOD_INIT): Register `initrd'.
19849 (GRUB_MOD_FINI): Unregister `initrd'.
19850 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
19851 Function removed.
19852 (grub_linux_normal_fini): Likewise.
19853 (GRUB_MOD_INIT): Register `initrd'.
19854 (GRUB_MOD_FINI): Unregister `initrd'.
19855
990cf3aa 198562005-01-31 Marco Gerards <metgerards@student.han.nl>
19857
19858 * commands/help.c: New file.
19859 * normal/arg.c (show_help): Renamed to...
19860 (grub_arg_show_help): ... this.
19861 * commands/i386/pc/halt.c: New file.
19862 * commands/i386/pc/reboot.c: Likewise.
19863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
19864 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
19865 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
19866 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
19867 variables.
19868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19869 `commands/help.c'.
19870 (pkgdata_MODULES): Add `help.mod'.
19871 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
19872 * grub/i386/pc/init.h (grub_reboot): New prototype.
19873 (grub_halt): Likewise.
19874 * include/grub/normal.h (grub_arg_show_help): New prototype.
19875 (grub_help_init): Likewise.
19876 (grub_help_fini): Likewise.
19877 * util/grub-emu.c (main): Initialize and deinitialize the help
19878 command.
19879
19880 * normal/cmdline.c (grub_cmdline_get): Doc fix.
19881
19882 * normal/command.c (grub_command_init): Fixed the description of
19883 the `set' and `unset' commands.
19884
198852005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 19886
19887 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
19888 function.
19889 * commands/ieee1275/halt.c: New file.
19890 * commands/ieee1275/reboot.c: Likewise.
19891 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
19892 `__attribute__ ((unused))'. Some GCS related fixed.
19893 (grub_suspend_init) [GRUB_UTIL]: Function removed.
19894 (grub_suspend_fini): Likewise.
19895 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
19896 and `halt.mod'.
19897 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
19898 (halt_mod_CFLAGS): New variables.
19899 * include/grub/powerpc/ieee1275/ieee1275.h
19900 (grub_ieee1275_interpret): New prototype.
19901
1ab09cc7 199022005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
19903
19904 * include/grub/misc.h (memmove): New prototype.
19905 (memcpy): Likewise.
19906
8b8cbdb2 199072005-01-22 Hollis Blanchard <hollis@penguinppc.org>
19908
19909 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
19910 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
19911
e3741a27 199122005-01-22 Marco Gerards <metgerards@student.han.nl>
19913
19914 * kern/misc.c (grub_strndup): Function rewritten.
19915
776bd780 199162005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
19917
19918 * normal/menu.c (TERM_WIDTH): Macro redefined.
19919 (TERM_TOP_BORDER_Y): Likewise.
19920 (draw_border): Replaced while-loop by a for-loop. Make the number
19921 of lines consistent with the number of lines displayed in
19922 print_entries. Added a margin below the rectangle.
19923 (print_entry): Make the entry fit in the rectangle.
19924 (print_entries): Display the scroll arrows next to the right
19925 border.
19926
78026bce 199272005-01-21 Marco Gerards <metgerards@student.han.nl>
19928
19929 * fs/minix.c (grub_minix_find_file): Reserve more space for
19930 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
19931 `grub_strncpy' to copy `path' into it.
19932
67bbaf0f 199332005-01-21 Marco Gerards <metgerards@student.han.nl>
19934
19935 Add the loopback device, a device via which files can be accessed
19936 as devices.
f19dbdb7 19937
67bbaf0f 19938 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
19939 (pkgdata_MODULES): Add loopback.mod.
19940 (loopback_mod_SOURCES): New variable.
19941 (loopback_mod_CFLAGS): Likewise.
19942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19943 `disk/loopback.c'.
19944 (pkgdata_MODULES): Add loopback.mod.
19945 (loopback_mod_SOURCES): New variable.
19946 (loopback_mod_CFLAGS): Likewise.
19947 * disk/loopback.c: new file.
19948 * include/grub/normal.h (grub_loop_init): New prototype.
19949 (grub_loop_fini): New prototype.
19950 * util/grub-emu.c (main): Initialize and de-initialize loopback
19951 support.
19952 * include/grub/disk.h (grub_disk_dev_id): Add
19953 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
19954
6f1c18bd 199552005-01-20 Hollis Blanchard <hollis@penguinppc.org>
19956
19957 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
19958 function.
19959 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
19960 (suspend_mod_SOURCES): New variable.
19961 (suspend_mod_CFLAGS): Likewise.
19962 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
19963 New prototype.
19964 * commands/ieee1275/suspend.c: New file.
19965
b38551da 199662005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19967
19968 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 19969 ((unused))' to `__attribute__ ((used))'.
b38551da 19970 (GRUB_MOD_FINI): Likewise.
19971 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
19972 * genmk.rb (PModule): Assign space to common symbols when linking
19973 modules.
19974
777aff39 199752005-01-20 Marco Gerards <metgerards@student.han.nl>
19976
19977 * include/grub/mm.h (grub_mm_init_region): Change the type of the
19978 `unsigned' arguments to `grub_size_t'.
19979 (grub_malloc): Likewise.
19980 (grub_realloc): Likewise.
19981 (grub_memalign): Likewise.
19982 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
19983 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19984 * util/misc.c (grub_malloc): Likewise.
19985 (grub_realloc): Likewise.
19986 * kern/mm.c (get_header_from_pointer): Change the casts to
19987 `unsigned' into a cast to `grub_size_t'.
19988
19989 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
19990 point to `currnode' when `currnode' is changed.
19991
19992 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
19993 Schottelius <nico-linux@schottelius.org>.
19994
d0ff18e1 199952005-01-09 Hollis Blanchard <hollis@penguinppc.org>
19996
19997 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
19998 (note_path): Remove variable.
19999 (GRUB_IEEE1275_NOTE_NAME): New macro.
20000 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
20001 (grub_ieee1275_note_hdr): New structure.
20002 (grub_ieee1275_note_desc): Likewise.
20003 (grub_ieee1275_note): Likewise.
20004 (load_note): Remove `dir' argument. All callers updated. Remove
20005 `note_img' and `path'. Do not load a file from `note_path'.
20006 Initialize a struct grub_ieee1275_note and write that to `out'.
20007 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
20008
4ca7004c 200092005-01-05 Marco Gerards <metgerards@student.han.nl>
20010
20011 * util/misc.c (grub_util_read_image): Revert last change. It
20012 called `grub_util_read_at', which seeks from the beginning of the
20013 file.
20014
0b412211 200152005-01-04 Hollis Blanchard <hollis@penguinppc.org>
20016
20017 * TODO: Add note about endianness in grub-mkimage.
20018 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
20019 section.
20020 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
20021 (grub_mkimage_SOURCES): New target.
20022 * include/grub/kernel.h (grub_start_addr): Remove variable.
20023 (grub_end_addr): Likewise.
20024 (grub_total_module_size): Likewise.
20025 (grub_kernel_image_size): Likewise.
20026 (GRUB_MODULE_MAGIC): New constant.
20027 (grub_module_info): New structure.
20028 (grub_arch_modules_addr): New prototype.
20029 (grub_get_end_addr): Remove prototype.
20030 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
20031 * include/grub/powerpc/ieee1275/kernel.h: New file.
20032 * include/grub/util/misc.h (grub_util_get_fp_size): New
20033 prototype.
20034 (grub_util_read_at): Likewise.
20035 (grub_util_write_image_at): Likewise.
20036 * kern/main.c (grub_get_end_addr): Remove function.
20037 (grub_load_modules): Call grub_arch_modules_addr instead of using
20038 grub_end_addr. Look for a grub_module_info struct in memory. Use
20039 the grub_module_info fields instead of calling grub_get_end_addr
20040 as loop conditions. Move grub_add_unused_region code here.
20041 (grub_add_unused_region): Remove function.
20042 * kern/i386/pc/init.c: Include grub/cache.h.
20043 (grub_machine_init): Remove call to grub_get_end_addr. Remove
20044 one call to add_mem_region.
20045 (grub_arch_modules_addr): New function.
20046 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
20047 (grub_total_module_size): Likewise.
20048 Include grub/machine/kernel.h.
20049 (grub_arch_modules_addr): New function.
20050 * util/grub-emu.c (grub_end_addr): Remove variable.
20051 (grub_total_module_size): Likewise.
20052 (grub_arch_modules_addr): New function.
20053 * util/misc.c: Include unistd.h.
20054 (grub_util_get_fp_size): New function.
20055 (grub_util_read_at): Likewise.
20056 (grub_util_write_image_at): Likewise.
20057 (grub_util_read_image): Call grub_util_read_at.
20058 (grub_util_write_image): Call grub_util_write_image_at.
20059 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
20060 additional memory in kernel_img for a struct grub_module_info.
20061 Fill in that grub_module_info.
20062 * util/powerpc/ieee1275/grub-mkimage.c: New file.
20063
458786f8 200642005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20065
20066 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
20067 New function.
20068 * include/grub/powerpc/ieee1275/ieee1275.h
20069 (grub_ieee1275_milliseconds): New prototype.
20070 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
20071 Change to 1000.
20072 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
20073 grub_ieee1275_milliseconds.
20074
ac507d1b 200752005-01-03 Hollis Blanchard <hollis@penguinppc.org>
20076
20077 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
20078 variable.
20079 (find_options): New function.
20080 (cmain): Call find_options.
20081 * include/grub/powerpc/ieee1275/ieee1275.h
20082 (grub_ieee1275_realmode): New extern variable.
20083 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
20084 grub_map if grub_ieee1275_realmode is false.
20085
6b8fd1c4 200862004-12-29 Marco Gerards <metgerards@student.han.nl>
20087
20088 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
20089 lines are inserted and make it work like readline. Reported by
20090 Vincent Pelletier <subdino2004@yahoo.fr>.
20091
8514a1e0 200922004-12-28 Marco Gerards <metgerards@student.han.nl>
20093
20094 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
20095
20096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
20097 `kern/powerpc/cache.S'.
20098
924b6140 200992004-12-27 Marco Gerards <metgerards@student.han.nl>
20100
20101 * genmk.rb: Handle the `Program' class in the main loop. Written
20102 by Johan Rydberg <jrydberg@gnu.org>.
20103 (Program): New class.
20104 (programs): New variable.
20105 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
20106 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
20107 instead of "grub/kernel.h". Include <grub/machine/init.h>.
20108 (help_arch): Function removed.
20109 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
20110 `powerpc/libgcc.h' and `loader.h'.
20111 (pkgdata_PROGRAMS): New variable.
20112 (sbin_UTILITIES): Variable removed.
20113 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
20114 (grubof_SOURCES): Variable re-defined so it only includes the
20115 core functionality.
20116 (grubof_CFLAGS): Remove `-DGRUBOF'.
20117 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
20118 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
20119 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
20120 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
20121 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
20122 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
20123 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
20124 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
20125 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
20126 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
20127 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
20128 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
20129 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
20130 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
20131 (pc_mod_CFLAGS): New variables.
20132 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
20133 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
20134 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
20135 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
20136 Moved from here...
20137 * include/grub/i386/pc/init.h (grub_os_area_addr)
20138 (rub_os_area_size): ... to here.
20139 * include/grub/powerpc/ieee1275/ieee1275.h
20140 (grub_ieee1275_entry_fn): Export symbol.
20141 * include/grub/powerpc/ieee1275/init.h: New file.
20142 * include/grub/powerpc/libgcc.h: Likewise.
20143 * include/grub/cache.h: Likewise.
20144 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
20145 <hollis@penguinppc.org>.
20146 * kern/dl.c: Include <grub/cache.h>.
20147 (grub_dl_flush_cache): New function.
20148 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
20149 for this module.
20150 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
20151 (grub_console_init): Removed prototypes.
20152 (grub_machine_init): Don't initialize the modules anymore.
20153 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
20154 static.
20155 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
20156 Macro undef removed.
20157 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
20158 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
20159 relocation `R_PPC_REL32'. Return an error when the relocation is
20160 unknown.
20161 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
20162 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
20163 * util/misc.c (grub_arch_sync_caches): Likewise.
20164
e4b47e0c 201652004-12-19 Marco Gerards <metgerards@student.han.nl>
20166
20167 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
20168 `symlist.c', add `grubof_symlist.c'.
20169 (symlist.c): Variable removed.
20170 (grubof_HEADERS): Variable added.
20171 (grubof_symlist.c): New target.
20172 (kernel_syms.lst): Use `grubof_HEADERS' instead of
20173 `kernel_img_HEADERS'.
20174 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
20175 * kern/powerpc/dl.c: New file.
20176 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
20177 Function removed.
20178 (grub_arch_dl_relocate_symbols): Likewise.
20179 (grub_register_exported_symbols): Likewise.
20180
4ceb3636 201812004-12-13 Marco Gerards <metgerards@student.han.nl>
20182
20183 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
20184 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
20185 to fail instead. Reported by Vincent Pelletier
20186 <subdino2004@yahoo.fr>.
20187
20188 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
20189 it is not allocated. Reported by Vincent Pelletier
20190 <subdino2004@yahoo.fr>.
20191
20192 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
20193 output so the output looks better.
f19dbdb7 20194
3f1578fe 201952004-12-04 Marco Gerards <metgerards@student.han.nl>
20196
20197 Modulize the partition map support and add support for the amiga
20198 partition map.
f19dbdb7 20199
3f1578fe 20200 * commands/ls.c: Include <grub/partition.h> instead of
20201 <grub/machine/partition.h>.
20202 * kern/disk.c: Likewise.
20203 * kern/rescue.c: Likewise.
20204 * loader/i386/pc/chainloader.c: Likewise.
20205 * normal/cmdline.c: Likewise.
20206 * kern/powerpc/ieee1275/init.c: Likewise.
20207 (grub_machine_init): Call `grub_pc_partition_map_init',
20208 `grub_amiga_partition_map_init' and
20209 `grub_apple_partition_map_init'.
20210 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
20211 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
20212 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
20213 `partition.h' and `pc_partition.h'.
20214 (grub_setup_SOURCES): Remove
20215 `disk/i386/pc/partition.c'. Add `kern/partition.c',
20216 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20217 (grub_emu_SOURCES): Likewise.
20218 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
20219 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
20220 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
20221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20222 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
20223 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
20224 (grubof_SOURCES): Likewise.
20225 * disk/i386/pc/partition.c: File removed.
20226 * disk/powerpc/ieee1275/partition.c: Likewise.
20227 * include/grub/powerpc/ieee1275/partition.h: Likewise.
20228 * include/grub/i386/pc/partition.h: Likewise.
20229 * kern/partition.c: New file.
20230 * partmap/amiga.c: Likewise.
20231 * partmap/apple.c: Likewise.
20232 * partmap/pc.c: Likewise.
20233 * include/grub/partition.h: Likewise..
20234 * include/grub/pc_partition.h: Likewise.
20235 * util/grub-emu.c: Include <grub/partition.h> instead of
20236 <grub/machine/partition.h>.
20237 (main): Call `grub_pc_partition_map_init',
20238 `grub_amiga_partition_map_init' and
20239 `grub_apple_partition_map_init' and deinitialize afterwards.
20240 * util/i386/pc/biosdisk.c: Include `#include
20241 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20242 `<grub/machine/partition.h>'.
20243 * util/i386/pc/grub-setup.c: Likewise.
20244 * util/i386/pc/biosdisk.c: Likewise.
20245 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
20246 partition information in case of a PC partition.
20247 * util/i386/pc/grub-setup.c: Include `#include
20248 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
20249 `<grub/machine/partition.h>'.
20250 (setup): Only access the PC specific partition information in case
20251 of a PC partition.
20252
0ef4ced9 202532004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 20254
0ef4ced9 20255 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
20256 (grub_longjmp): Likewise.
20257 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
20258 20.
20259 * normal/powerpc/setjmp.S: New file.
20260 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20261 `normal/powerpc/setjmp.S'.
20262 (grubof_CFLAGS): Add `-DGRUBOF'.
20263 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
20264 [GRUB_UTIL && !GRUBOF].
f19dbdb7 20265
19950e29 202662004-11-16 Marco Gerards <metgerards@student.han.nl>
20267
20268 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
20269 property named `name'. Correctly handle the error returned by
20270 `grub_ieee1275_finddevice' if a device can not be opened.
20271
a2fea427 202722004-11-02 Hollis Blanchard <hollis@penguinppc.org>
20273
20274 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
20275 `actual' for negativity.
20276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
20277 kern/fshelp.c.
20278
41ea0ea3 202792004-11-01 Marco Gerards <metgerards@student.han.nl>
20280
20281 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
20282 (PAGE_OFFSET): New macro.
20283 (CRTC_ADDR_PORT): Likewise.
20284 (CRTC_DATA_PORT): Likewise.
20285 (START_ADDR_HIGH_REGISTER): Likewise.
20286 (START_ADDR_LOW_REGISTER): Likewise.
20287 (GRAPHICS_ADDR_PORT): Likewise.
20288 (GRAPHICS_DATA_PORT): Likewise.
20289 (READ_MAP_REGISTER): Likewise.
20290 (INPUT_STATUS1_REGISTER): Likewise.
20291 (INPUT_STATUS1_VERTR_BIT): Likewise.
20292 (page): New variable.
20293 (wait_vretrace): New function.
20294 (set_read_map): Likewise.
20295 (set_start_address): Likewise.
20296 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
20297 the right page.
20298 (check_vga_mem): Take the page into account.
20299 (write_char): Likewise.
20300 (write_cursor): Likewise.
20301 (scroll_up): Likewise. Copy the page to the page that is not
20302 shown and switch between both pages.
20303 (grub_vga_putchar): Fix off by one error.
20304 (grub_vga_cls): Wait for the vertical retrace. Take the page into
20305 account.
20306
ad0bd20b 203072004-11-01 Marco Gerards <metgerards@student.han.nl>
20308
20309 Add support for iso9660 (including rockridge).
f19dbdb7 20310
ad0bd20b 20311 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20312 (iso9660_mod_SOURCES): New variable.
20313 (iso9660_mod_CFLAGS): Likewise.
20314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
20315 * include/grub/fs.h (grub_iso9660_init): New prototype.
20316 * util/grub-emu.c (main): Call `grub_iso9660_init'.
20317 * fs/iso9660.c: New file.
20318
20319 * include/grub/misc.h (grub_strncat): New prototype.
20320 * kern/misc.c (grub_strncat): New function.
f19dbdb7 20321
ad0bd20b 20322 * fs/hfs.c (grub_hfs_mount): Translate the error
20323 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
20324 * fs/jfs.c (grub_jfs_mount): Likewise.
20325 * fs/ufs.c (grub_ufs_mount): Likewise.
20326
a5477a59 203272004-10-28 Hollis Blanchard <hollis@penguinppc.org>
20328
20329 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
20330 which initialized BAT registers.
20331 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
20332 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20333 Move from here...
20334 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
20335 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
20336 ... to here.
20337 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
20338 (grub_mapclaim): Likewise.
20339 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
20340 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
20341 hand.
20342
9304c1f8 203432004-10-19 Hollis Blanchard <hollis@penguinppc.org>
20344
20345 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
20346 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
20347 -ffreestanding and -msoft-float.
20348
86f4ae25 203492004-10-15 Hollis Blanchard <hollis@penguinppc.org>
20350
20351 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
20352 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
20353 set in grub_ieee1275_flags.
20354
38912228 203552004-10-14 Hollis Blanchard <hollis@penguinppc.org>
20356
20357 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
20358 prototype.
20359 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
20360 grub_console_init first.
20361 Change the memory range used for grub_ieee1275_claim and
20362 grub_mm_init_region.
20363 Print an error message if the claim fails.
20364 Include <grub/misc.h>.
20365
d1923dc8 203662004-10-13 Hollis Blanchard <hollis@penguinppc.org>
20367
20368 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
20369 Call grub_children_iterate for device nodes of type `scsi',
20370 `ide', or `ata'.
20371 (grub_ofdisk_open): Remove manual device alias resolution.
20372 Fix memory leak when device cannot be opened.
f19dbdb7 20373 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 20374 (grub_children_iterate): New prototype.
20375 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
20376 New function.
20377 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
20378 Return -1 if args.size was -1.
20379
4512e4f3 203802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20381
20382 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
20383 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
20384 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
20385 Open Firmware's memory for it; claim memory from _start to _end.
20386 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
20387 (_end): New extern.
20388 (_start): Zero BSS from __bss_start to _end.
20389 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
20390 New extern.
20391 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
20392
4d61feb0 203932004-10-11 Hollis Blanchard <hollis@penguinppc.org>
20394
ad0bd20b 20395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
20396 -1 if args.base was -1.
4d61feb0 20397
026fa2f9 203982004-10-08 Hollis Blanchard <hollis@penguinppc.org>
20399
20400 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
20401 escape sequence instead of a literal ^L. Also call
20402 grub_ofconsole_gotoxy.
20403
9f2220ef 204042004-10-03 Hollis Blanchard <hollis@penguinppc.org>
20405
20406 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
20407 void * arguments to grub_addr_t. All callers updated. Also make
20408 the `result' argument optional.
20409 (grub_ieee1275_release): change void * arguments to grub_addr_t.
20410 All callers updated.
20411
8a572cd7 204122004-09-22 Hollis Blanchard <hollis@penguinppc.org>
20413
20414 * commands/ls.c (grub_ls_list_files): Use the string following the
20415 initial ')', if present, as the filesystem path.
20416 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
20417
20418 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
20419
18aa81f2 204202004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
20421
20422 Make the source code of the menu interface more readable.
f19dbdb7 20423
18aa81f2 20424 * normal/menu.c: Include grub/mm.h.
20425 (TERM_WIDTH): New macro.
20426 (TERM_HEIGHT): Likewise.
20427 (TERM_INFO_HEIGHT): Likewise.
20428 (TERM_MARGIN): Likewise.
20429 (TERM_SCROLL_WIDTH): Likewise.
20430 (TERM_TOP_BORDER_Y): Likewise.
20431 (TERM_LEFT_BORDER_X): Likewise.
20432 (TERM_BORDER_WIDTH): Likewise.
20433 (TERM_MESSAGE_HEIGHT): Likewise.
20434 (TERM_BORDER_HEIGHT): Likewise.
20435 (TERM_NUM_ENTRIES): Likewise.
20436 (TERM_FIRST_ENTRY_Y): Likewise.
20437 (TERM_ENTRY_WIDTH): Likewise.
20438 (TERM_CURSOR_X): Likewise.
20439 (draw_border): Use macros instead of magic numbers.
20440 (print_entry): Likewise.
20441 (print_entries): Likewise.
20442 (run_menu): Likewise. Also, handle the key 'e'.
20443 (run_menu_entry): Ignore empty command lines.
20444 (print_message): Added a new argument EDIT. If EDIT is true,
20445 print a different message.
20446 (init_page): Likewise.
20447 (edit_menu_entry): New function. Not implemented yet.
20448
b47efe30 204492004-09-17 Marco Gerards <metgerards@student.han.nl>
20450
20451 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
20452 can be loaded from normal mode.
f19dbdb7 20453
b47efe30 20454 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
20455 `multiboot.mod'.
20456 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
20457 (multiboot_mod_CFLAGS): New variables.
20458 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 20459 * loader/i386/pc/multiboot_normal.c: Likewise.
20460
b47efe30 20461 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
20462 attribute `unused'.
f19dbdb7 20463
b47efe30 20464 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
20465 `fdiro' to read the mode information from instead of `diro'.
20466
20467 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
20468 looking up a symlink.
20469
20470 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
20471 macro.
20472 * normal/command.c (grub_command_execute): Don't parse the
20473 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
20474 flags of the command.
20475
20476 * normal/menu.c (grub_menu_run): Fix typo.
20477
da75ac71 204782004-09-14 Hollis Blanchard <hollis@penguinppc.org>
20479
20480 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
20481
20482 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
20483 `y + 1' instead of `y - 1'.
20484
20485 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 20486
062b24c2 204872004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
20488
20489 From Hollis Blanchard <hollis@penguinppc.org>:
20490 * kern/misc.c (memmove): New alias for grub_memmove.
20491 (memcmp): New alias for grub_memcmp.
20492 (memset): New alias for grub_memset.
f19dbdb7 20493 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 20494 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 20495 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 20496 (grub_ieee1275_get_property): Likewise.
f19dbdb7 20497
8ddad845 204982004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
20499
20500 Added normal mode command `chainloader' as module chain.mod, which
20501 depends on normal.mod and _chain.mod.
f19dbdb7 20502
8ddad845 20503 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
20504 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
20505 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
20506 Deleted prototype.
20507 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
20508 but arguments parsing moved to ...
20509 (grub_chainloader_cmd): ... here. New function.
20510 * include/grub/i386/pc/chainloader.h: New file.
20511 * loader/i386/pc/chainloader_normal.c: Likewise.
20512
2c1f4ce3 205132004-09-11 Marco Gerards <metgerards@student.han.nl>
20514
20515 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
20516 (grub_mkimage_LDFLAGS): Likewise.
20517 (grub_emu_SOURCES): Likewise.
20518 (kernel_img_HEADERS): Added fshelp.h.
20519 * fs/ext2.c: Include <grub/fshelp.h>.
20520 (FILETYPE_REG): New macro.
20521 (FILETYPE_INO_REG): Likewise.
20522 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
20523 Changed all users.
20524 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
20525 all users.
20526 (grub_fshelp_node): New struct.
20527 (grub_ext2_data): Added member `diropen'. Changed member `inode'
20528 to a pointer.
20529 (grub_ext2_get_file_block): Removed function.
20530 (grub_ext2_read_block): New function.
20531 (grub_ext2_read_file): Replaced parameter `data' by `node'.
20532 This function was written.
20533 (grub_ext2_mount): Read the root inode. Create a diropen struct.
20534 (grub_ext2_find_file): Removed function.
20535 (grub_ext2_read_symlink): New function.
20536 (grub_ext2_iterate_dir): Likewise.
20537 (grub_ext2_open): Rewritten.
20538 (grub_ext2_dir): Rewritten.
20539 * include/grub/fshelp.h: New file.
20540 * fs/fshelp.c: Likewise.
20541
3c52136a 205422004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
20543
20544 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
20545 (print_message): Add a missing newline.
20546 (run_menu): Added timeout support.
20547 (run_menu_entry): New local function.
20548 (grub_menu_run): Added support for booting.
20549
20550 * kern/loader.c (grub_loader_is_loaded): New function.
20551
20552 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
20553 (grub_get_rtc): Exported.
20554
20555 * include/grub/i386/pc/time.h: Include grub/symbol.h.
20556 (grub_get_rtc): Exported.
20557
20558 * include/grub/normal.h (struct grub_command_list): Remove
20559 constant from the member `command'.
20560
20561 * include/grub/loader.h (grub_loader_is_loaded): Declared.
20562
20563 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
20564
20565 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
20566
aa033560 205672004-08-28 Marco Gerards <metgerards@student.han.nl>
20568
20569 Add support for the JFS filesystem.
20570
20571 * fs/jfs.c: New file.
20572 * include/grub/fs.h (grub_jfs_init): New prototype.
20573 (grub_jfs_fini): New prototype.
20574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
20575 (grub_emu_SOURCES): Likewise.
20576 (pkgdata_MODULES): Add jfs.mod.
20577 (jfs_mod_SOURCES): New variable.
20578 (jfs_mod_CFLAGS): Likewise.
20579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
20580 (grubof_SOURCES): Likewise.
20581 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
20582
20583 * fs/fat.c (grub_fat_find_dir): Convert the filename little
20584 endian to the host endian.
20585 (grub_fat_utf16_to_utf8): Move function from there...
20586 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 20587 the endianness of the source string anymore.
aa033560 20588 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
20589
94bc45af 205902004-08-24 Marco Gerards <metgerards@student.han.nl>
20591
20592 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
20593 (grub_boot_fini) [GRUB_UTIL]: Likewise.
20594 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
20595 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 20596
94bc45af 20597 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
20598 (grub_hfs_iterate_dir): Make the function static. Add prototypes
20599 for `node_found' and `it_dir'.
20600 (grub_hfs_dir): Add prototype for `dir_hook'.
20601
20602 * fs/minix.c (grub_minix_get_file_block): Add prototype for
20603 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
20604 and `indir32' to silence a gcc warning.
20605
20606 * include/grub/fs.h (grub_hfs_init): New prototype.
20607 (grub_hfs_fini): Likewise.
f19dbdb7 20608
20609
97543f08 206102004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20611
20612 Each disk device has its own id now. This is useful to make use
20613 of multiple disk devices.
f19dbdb7 20614
97543f08 20615 * include/grub/disk.h (grub_disk_dev_id): New enum.
20616 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
20617 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
20618
20619 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
20620 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20621
20622 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
20623 GRUB_DISK_DEVICE_OFDISK_ID as an id.
20624
20625 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
20626 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20627
20628 * include/grub/disk.h (struct grub_disk_dev): Added a new member
20629 "id" which is used by the cache manager.
20630
20631 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
20632 of just "GRUB".
20633
64372eb4 206342004-08-18 Marco Gerards <metgerards@student.han.nl>
20635
20636 * fs/hfs.c: New file.
20637 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
20638 (grub_emu_SOURCES): Likewise.
20639 (pkgdata_MODULES): Add hfs.mod.
20640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
20641 (grubof_SOURCES): Likewise.
20642 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
20643
20644 * include/grub/misc.h (grub_strncasecmp): Add prototype.
20645 * kern/misc.c (grub_strncasecmp): Add function.
20646
cc61b58f 206472004-08-14 Marco Gerards <metgerards@student.han.nl>
20648
20649 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
20650 with parentheses.
20651
20652 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
20653 (grub_ext2_dir): In case the directory entry type is unknown, read
20654 it from the inode.
20655
0ef123f6 206562004-08-02 Peter Bruin <pjbruin@dds.nl>
20657
20658 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
20659 grub_load_linux instead of grub_rescue_cmd_linux as second
20660 argument of grub_rescue_register_command.
20661
20662 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
20663
a447c5df 206642004-07-27 Marco Gerards <metgerards@student.han.nl>
20665
20666 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
20667 function.
20668 * commands/boot.c: Remove the check for `GRUB_UTIL'.
20669 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20670 `loader/powerpc/ieee1275/linux.c',
20671 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
20672 * include/grub/powerpc/ieee1275/ieee1275.h
20673 (grub_ieee1275_release): New prototype.
20674 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
20675 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
20676 normal, boot, linux and linux_normal.
20677 * loader/powerpc/ieee1275/linux.c: New file.
20678 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20679
5a9e3546 206802004-07-12 Marco Gerards <metgerards@student.han.nl>
20681
20682 * normal/arg.c (grub_arg_parse): Correct error handling after
20683 reallocating the argumentlist (check if `argl' is not null instead
20684 of checking if `args' is not null).
20685 * kern/mm.c (grub_realloc): Return the same pointer when using the
20686 same region, instead of returning the header address.
20687
e15199cb 206882004-07-11 Marco Gerards <metgerards@student.han.nl>
20689
20690 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
20691 one block instead of two when looking for the initial partition.
20692 (grub_partition_probe): Initialize the local variable `p' with 0.
20693 Use base 10 for the grub_strtoul call.
20694 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
20695 need for one local variable.
20696 (grub_strtoul): Don't add the new value to `num', instead of that
20697 just assign it.
20698
020616c2 206992004-07-11 Marco Gerards <metgerards@student.han.nl>
20700
20701 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
20702 (pxeboot_img_SOURCES): New variable.
20703 (pxeboot_img_ASFLAGS): Likewise.
20704 (pxeboot_img_LDFLAGS): Likewise.
20705 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
20706 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
20707 <lode_leroy@hotmail.com>.
20708
6c51eb64 207092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20710
20711 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
20712 there was no input.
20713
cfb12aff 207142004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20715
20716 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
20717 the history buffer logic.
20718
6eabba74 207192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20720
20721 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
20722 (FILETYPE_INO_SYMLINK): New macros.
20723 (grub_ext2_find_file): Check if the node is a directory using the
20724 inode stat information instead of using the filetype in the
20725 dirent. Exclude the first character of an absolute symlink.
20726 (grub_ext2_dir): Mask out the filetype part of the mode member of
20727 the inode.
20728
66e19ef8 207292004-05-24 Marco Gerards <metgerards@student.han.nl>
20730
20731 Add support for UFS version 1 and 2. Add support for the minix
20732 filesystem version 1 and 2, both the variants with 14 and 30 long
20733 filenames.
f19dbdb7 20734
66e19ef8 20735 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
20736 fs/minix.c.
20737 (grub_emu_SOURCES): Likewise.
20738 (pkgdata_MODULES): Add ufs.mod and minix.mod.
20739 (ufs_mod_SOURCES): New variable.
20740 (ufs_mod_CFLAGS): Likewise.
20741 (minix_mod_SOURCES): Likewise.
20742 (minix_mod_CFLAGS): Likewise.
20743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
20744 fs/minix.c.
20745 (grubof_SOURCES): Likewise.
20746 * fs/ufs.c: New file.
20747 * fs/minix.c: New file.
20748 * include/grub/fs.h (grub_ufs_init): New prototype.
20749 (grub_ufs_fini): Likewise.
20750 (grub_minix_init): Likewise.
20751 (grub_minix_fini): Likewise.
20752 * util/grub-emu.c (main): Initialize and deinitialize UFS and
20753 minix fs.
20754
cc2e748a 207552004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
20756
20757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
20758 commands/ls.c, commands/terminal.c, commands/boot.c,
20759 commands/cmp.c and commands/cat.c.
20760 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
20761
20762 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
20763 "env.h"
20764
4b13b216 207652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20766
20767 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
20768 and grub_, respectively. Because the conversion is trivial and
20769 mechanical, I omit the details here. Please refer to the CVS
20770 if you need more information.
20771
6a142551 207722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20773
20774 * include/pupa: Renamed to ...
20775 * include/grub: ... this.
20776 * util/i386/pc/pupa-mkimage.c: Renamed to ...
20777 * util/i386/pc/grub-mkimage.c: ... this.
20778 * util/i386/pc/pupa-setup.c: Renamed to ...
20779 * util/i386/pc/grub-setup.c: ... this.
20780 * util/pupa-emu.c: Renamed to ...
20781 * util/grub-emu.c: ... this.
20782
e56cdf21 207832004-03-29 Marco Gerards <metgerards@student.han.nl>
20784
20785 Add support for the newworld apple macintosh (PPC). This has been
20786 tested on the powerbook 2000 only. It only adds support for
20787 generic ieee1275 functions, console and disk support. This should
20788 be easy to port to other architectures with support for Open
20789 Firmware.
f19dbdb7 20790
e56cdf21 20791 * configure.ac: Accept the powerpc as host_cpu. In the case of
20792 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
20793 specific tests are only executed while building for the i386.
20794 Inverse test for crosscompile.
20795 * genmk.rb (Utility): Allow assembler files.
20796 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
20797 * conf/powerpc-ieee1275.rmk: New file.
20798 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
20799 * disk/powerpc/ieee1275/partition.c: Likewise.
20800 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
20801 * include/pupa/powerpc/ieee1275/console.h: Likewise.
20802 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
20803 * include/pupa/powerpc/ieee1275/time.h: Likewise.
20804 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
20805 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
20806 * include/pupa/powerpc/ieee1275/loader.h
20807 * include/pupa/powerpc/setjmp.h: Likewise.
20808 * include/pupa/powerpc/types.h: Likewise.
20809 * kern/powerpc/ieee1275/init.c: Likewise.
20810 * kern/powerpc/ieee1275/openfw.c: Likewise.
20811 * term/powerpc/ieee1275/ofconsole.c: Likewise.
20812
20813 These files were written by Johan Rydberg
20814 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 20815
e56cdf21 20816 * boot/powerpc/ieee1275/cmain.c: New file.
20817 * boot/powerpc/ieee1275/crt0.S: Likewise.
20818 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
20819 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
20820
8c8cc205 208212004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
20822
20823 * Makefile.in: Update copyright.
20824 * genmodsrc.sh: Likewise.
20825 * gensymlist.sh: Likewise.
20826 * term/i386/pc/vga.c: Indent correctly.
20827
20828 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
20829 bugreporting address.
20830 * util/i386/pc/pupa-setup.c (usage): Likewise,
20831 (main): Call pupa_ext2_init and pupa_ext2_fini.
20832
f19dbdb7 20833 * fs/fat.c (log2): Renamed to ...
8c8cc205 20834 (fat_log2): ... this.
20835 All callers changed.
20836 * kern/misc.c (memcpy): Alias to pupa_memmove.
20837 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
20838 lvalue cast.
20839 * util/console.c (pupa_ncurses_fini): Return 0.
20840
20841 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
20842 Move fail label here.
20843 [__GNU__]: Don't warn when using stat.
20844 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
20845 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
20846 long int. Use strtol instead of strtoul.
f19dbdb7 20847
db1771cf 208482004-03-14 Marco Gerards <metgerards@student.han.nl>
20849
20850 * commands/boot.c: New file.
20851 * commands/cat.c: Likewise.
20852 * commands/cmp.c: Likewise.
20853 * commands/ls.c: Likewise.
20854 * commands/terminal.c: Likewise.
20855 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
20856 (pupa_register_command): Changed interface to match the new
20857 argument parser.
20858 (pupa_command_execute): Changed (almost rewritten) so it uses
20859 pupa_split_command. Added support for setting variables using the
20860 syntax `foo=bar'.
20861 (rescue_command): Changed to work with the new argument parser.
20862 (terminal_command): Moved from here to commands/terminal.c.
20863 (set_command): New function.
20864 (unset_command): New function.
20865 (insmod_command): New function.
20866 (rmmod_command): New function.
20867 (lsmod_command): New function.
20868 (pupa_command_init): Don't initialize the command terminal
20869 anymore. Initialize the commands set, unset, insmod, rmmod and
20870 lsmod.
20871 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
20872 (kernel_img_HEADERS): Add arg.h and env.h.
20873 (pupa_mkimage_LDFLAGS): Add kern/env.c.
20874 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
20875 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
20876 normal/arg.c.
20877 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
20878 terminal.mod.
20879 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
20880 (boot_mod_SOURCES): New variable.
20881 (terminal_mod_SOURCES): Likewise.
20882 (ls_mod_SOURCES): Likewise.
20883 (cmp_mod_SOURCES): Likewise.
20884 (cat_mod_SOURCES): Likewise.
20885
20886 * normal/arg.c: New file.
20887 * kern/env.c: Likewise.
20888 * include/pupa/arg.h: Likewise.
20889 * include/pupa/env.h: Likewise.
20890 * font/manager.c (font_command): Changed to match argument parsing
20891 interface changes.
20892 (PUPA_MOD_INIT): Likewise.
20893 * hello/hello.c (pupa_cmd_hello): Likewise.
20894 (PUPA_MOD_INIT): Likewise.
20895 * include/pupa/disk.h: Include <pupa/device.h>.
20896 (pupa_print_partinfo): New prototype.
20897 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
20898 (pupa_dl_get_prefix): Likewise.
20899 * include/pupa/misc.h: Include <pupa/err.h>.
20900 (pupa_isgraph): New prototype.
20901 (pupa_isdigit): Likewise.
20902 (pupa_split_cmdline): Likewise.
20903 * include/pupa/normal.h: Include <pupa/arg.h>.
20904 (pupa_command): Changed the prototype of the member `func' to
20905 match the argument parsing interface. Added member `options'.
20906 (pupa_register_command): Updated to match function.
20907 (pupa_arg_parse): New prototype.
20908 (pupa_hello_init) [PUPA_UTIL]: New prototype.
20909 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
20910 (pupa_ls_init) [PUPA_UTIL]: Likewise.
20911 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
20912 (pupa_cat_init) [PUPA_UTIL]: Likewise.
20913 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
20914 (pupa_boot_init) [PUPA_UTIL]: Likewise.
20915 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
20916 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
20917 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
20918 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
20919 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
20920 * kern/disk.c: Include <pupa/file.h>.
20921 (pupa_print_partinfo): New function.
20922 * kern/dl.c: Include <pupa/env.h>.
20923 (pupa_dl_dir): Variable removed.
20924 (pupa_dl_load): Use the environment variable `prefix' instead of
20925 the variable pupa_dl_dir.
20926 (pupa_dl_set_prefix): Function removed.
20927 (pupa_dl_get_prefix): Likewise.
20928 * kern/i386/pc/init.c: Include <pupa/env.h>.
20929 (pupa_machine_init): Use the environment variable `prefix' instead of
20930 using pupa_dl_set_prefix to set the prefix.
20931 * kern/main.c: Include <pupa/env.h>.
20932 (pupa_set_root_dev): Use the environment variable `prefix' instead of
20933 using pupa_dl_get_prefix to get the prefix.
20934 * kern/misc.c: Include <pupa/env.h>.
20935 (pupa_isdigit): New function.
20936 (pupa_isgraph): Likewise.
20937 (pupa_ftoa): Likewise.
20938 (pupa_vsprintf): Added support for printing values of the type
20939 `double'. Make it possible to format variable output when using
20940 formatting like `%1.2%f'.
20941 (pupa_split_cmdline): New function.
20942 * kern/rescue.c: Include <pupa/env.h>.
20943 (next_word): Removed function.
20944 (pupa_rescue_cmd_prefix): Likewise.
20945 (pupa_rescue_cmd_set): New function.
20946 (pupa_rescue_cmd_unset): New function.
20947 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
20948 split the command line instead of splitting it here. Added
20949 support for setting variables using the syntax `foo=bar'. Don't
20950 initialize the prefix command anymore. Initialized the set and
20951 unset commands.
20952 * normal/cmdline.c: Include <pupa/env.h>.
20953 (pupa_tab_complete): Added prototypes for print_simple_completion,
20954 print_partition_completion, add_completion, iterate_commands,
20955 iterate_dev, iterate_part and iterate_dir. Moved code to print
20956 partition information from here to kern/disk.c.
fe6b695a 20957 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 20958 * normal/main.c: Include <pupa/env.h>.
20959 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
20960 instead of using pupa_dl_get_prefix to get the prefix.
20961 * term/i386/pc/vga.c: Include <pupa/arg.h>.
20962 (check_vga_mem): Cast pointers to `void *' to silence a gcc
20963 warning.
20964 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
20965 (pupa_vga_setcolor): Declare unused variables with `__attribute__
20966 ((unused))' to silence a gcc warning.
20967 (pupa_vga_setcolor): Likewise.
20968 (debug_command): Changed to match argument parsing
20969 interface changes.
20970 * util/pupa-emu.c: Include <pupa/env.h>.
20971 (options): Added 0's for unused fields to silence a gcc warning.
20972 (argp): Likewise.
20973 (main): Use the environment variable `prefix' instead of using
20974 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
20975 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
20976 and terminal.
20977
20978 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
20979 * util/misc.c: Include <malloc.h>.
20980 (pupa_malloc): Rewritten so errors are correctly reported.
20981 (pupa_realloc): Likewise.
20982 (pupa_memalign): Likewise.
20983 (pupa_mm_init_region): Declare unused variables with
20984 `__attribute__ ((unused))' to silence a gcc warning.
20985 * normal/i386/setjmp.S: Remove tab at the end of the file to
20986 silence a gcc warning.
20987 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
20988 variables with `__attribute__ ((unused))' to silence a gcc
20989 warning.
20990 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
20991 local variable i unsigned to silence a gcc warning.
20992
20993 * kern/term.c: Include <pupa/misc.h>.
20994 (pupa_more_lines): New variable.
20995 (pupa_more): Likewise.
20996 (pupa_putcode): When the pager is active pause at the end of every
20997 screen.
20998 (pupa_set_more): New function.
20999 * include/pupa/term.h (pupa_set_more): New prototype.
21000
21001
3b1139cb 210022004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
21003
21004 Now this project is GRUB 2 rather than PUPA. The location of
21005 the CVS repository was moved to GRUB's.
f19dbdb7 21006
3b1139cb 21007 * configure.ac: Use bug-grub as the reporting address.
21008 Use GRUB instead of PUPA.
21009 Change the version number to 1.90.
21010
8367695c 210112004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
21012
21013 * genkernsyms.sh: Updated copyright information.
21014 * genmk.rb: Likewise.
21015 * genmodsrc.sh: Likewise.
21016 * gensymlist.sh: Likewise.
21017 * boot/i386/pc/boot.S: Likewise.
21018 * boot/i386/pc/diskboot.S: Likewise.
21019 * disk/i386/pc/biosdisk.c: Likewise.
21020 * disk/i386/pc/partition.c: Likewise.
21021 * font/manager.c: Likewise.
21022 * fs/ext2.c: Likewise.
21023 * fs/fat.c: Likewise.
21024 * include/pupa/boot.h: Likewise.
21025 * include/pupa/device.h: Likewise.
21026 * include/pupa/disk.h: Likewise.
21027 * include/pupa/dl.h: Likewise.
21028 * include/pupa/elf.h: Likewise.
21029 * include/pupa/err.h: Likewise.
21030 * include/pupa/file.h: Likewise.
21031 * include/pupa/font.h: Likewise.
21032 * include/pupa/fs.h: Likewise.
21033 * include/pupa/kernel.h: Likewise.
21034 * include/pupa/loader.h: Likewise.
21035 * include/pupa/misc.h: Likewise.
21036 * include/pupa/mm.h: Likewise.
21037 * include/pupa/net.h: Likewise.
21038 * include/pupa/normal.h: Likewise.
21039 * include/pupa/rescue.h: Likewise.
21040 * include/pupa/setjmp.h: Likewise.
21041 * include/pupa/symbol.h: Likewise.
21042 * include/pupa/term.h: Likewise.
21043 * include/pupa/types.h: Likewise.
21044 * include/pupa/i386/setjmp.h: Likewise.
21045 * include/pupa/i386/types.h: Likewise.
21046 * include/pupa/i386/pc/biosdisk.h: Likewise.
21047 * include/pupa/i386/pc/boot.h: Likewise.
21048 * include/pupa/i386/pc/console.h: Likewise.
21049 * include/pupa/i386/pc/init.h: Likewise.
21050 * include/pupa/i386/pc/kernel.h: Likewise.
21051 * include/pupa/i386/pc/linux.h: Likewise.
21052 * include/pupa/i386/pc/loader.h: Likewise.
21053 * include/pupa/i386/pc/memory.h: Likewise.
21054 * include/pupa/i386/pc/multiboot.h: Likewise.
21055 * include/pupa/i386/pc/partition.h: Likewise.
21056 * include/pupa/i386/pc/time.h: Likewise.
21057 * include/pupa/i386/pc/vga.h: Likewise.
21058 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
21059 * include/pupa/util/getroot.h: Likewise.
21060 * include/pupa/util/misc.h: Likewise.
21061 * include/pupa/util/resolve.h: Likewise.
21062 * kern/device.c: Likewise.
21063 * kern/disk.c: Likewise.
21064 * kern/dl.c: Likewise.
21065 * kern/err.c: Likewise.
21066 * kern/file.c: Likewise.
21067 * kern/fs.c: Likewise.
21068 * kern/loader.c: Likewise.
21069 * kern/main.c: Likewise.
21070 * kern/misc.c: Likewise.
21071 * kern/mm.c: Likewise.
21072 * kern/rescue.c: Likewise.
21073 * kern/term.c: Likewise.
21074 * kern/i386/dl.c: Likewise.
21075 * kern/i386/pc/init.c: Likewise.
21076 * kern/i386/pc/lzo1x.S: Likewise.
21077 * kern/i386/pc/startup.S: Likewise.
21078 * loader/i386/pc/chainloader.c: Likewise.
21079 * loader/i386/pc/linux.c: Likewise.
21080 * loader/i386/pc/multiboot.c: Likewise.
21081 * normal/cmdline.c: Likewise.
21082 * normal/command.c: Likewise.
21083 * normal/main.c: Likewise.
21084 * normal/menu.c: Likewise.
21085 * normal/i386/setjmp.S: Likewise.
21086 * term/i386/pc/console.c: Likewise.
21087 * term/i386/pc/vga.c: Likewise.
21088 * util/console.c: Likewise.
21089 * util/genmoddep.c: Likewise.
21090 * util/misc.c: Likewise.
21091 * util/pupa-emu.c: Likewise.
21092 * util/resolve.c: Likewise.
21093 * util/unifont2pff.rb: Likewise.
21094 * util/i386/pc/biosdisk.c: Likewise.
21095 * util/i386/pc/getroot.c: Likewise.
21096 * util/i386/pc/pupa-mkimage.c: Likewise.
21097 * util/i386/pc/pupa-setup.c: Likewise.
21098
e6eced71 210992004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
21100
21101 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
21102 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
21103 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
21104 reading and reset it after reading.
21105 (pupa_ext2_close): Return PUPA_ERR_NONE.
21106
21107 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
21108 Correct value.
21109 (struct linux_kernel_header): Add kernel_version and
21110 initrd_addr_max.
21111 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
21112 pupa_file_read succeeds.
21113 (pupa_rescue_cmd_initrd): Implement.
21114
5aded270 211152003-12-03 Marco Gerards <metgerards@student.han.nl>
21116
21117 * fs/ext2.c (pupa_ext2_label): New function.
21118 (pupa_ext2_fs): Added label.
21119 * fs/fat.c (pupa_fat_label): New function.
21120 (pupa_fat_fs): Added label.
21121 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
21122
21123 * kern/misc.c (pupa_strndup): New function.
21124 * include/pupa/misc.h (pupa_strndup): New prototype.
21125
21126 * include/pupa/normal.h: Include <pupa/err.h>.
21127 (pupa_set_history): New prototype.
21128 (pupa_iterate_commands): New prototype.
21129 * normal/cmdline.c: Include <pupa/machine/partition.h>,
21130 <pupa/disk.h>, <pupa/file.h>.
21131 (hist_size): New variable.
21132 (hist_lines): Likewise.
21133 (hist_end): Likewise.
21134 (hist_used): Likewise.
21135 (pupa_set_history): New function.
21136 (pupa_history_get): Likewise.
21137 (pupa_history_add): Likewise.
21138 (pupa_history_replace): Likewise.
21139 (pupa_tab_complete): Likewise.
21140 (pupa_cmdline_run): Added tab completion and history buffer. Tab
21141 completion shows partitionnames while completing partitions, this
21142 feature was suggested by Jeff Bailey.
21143 * normal/command.c (pupa_iterate_commands): New function.
21144 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
21145 (pupa_normal_init): Initialize history buffer.
21146 (PUPA_MOD_INIT): Likewise.
21147 (pupa_normal_fini): Free the history buffer.
21148 (PUPA_MOD_FINI): Likewise.
21149
21150 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
21151 key.
21152
21153 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
21154 * configure.ac [i386]: Check for regparam bug.
21155 (NESTED_FUNC_ATTR) [! i386]: Defined.
21156
1f7315a3 211572003-11-17 Marco Gerards <metgerards@student.han.nl>
21158
21159 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
21160 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
21161 (pupa_emu_SOURCES): New variable.
21162 (pupa_emu_LDFLAGS): Likewise.
21163 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
21164 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
21165 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
21166 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
21167 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
21168 (pupa_jmp_buf): New typedef.
21169 (pupa_setjmp) [PUPA_UTIL]: New macro.
21170 (pupa_longjmp) [PUPA_UTIL]: Likewise.
21171 * include/pupa/term.h (struct pupa_term): New member `refresh'.
21172 (pupa_refresh): New prototype.
21173 * include/pupa/util/getroot.h: New file.
21174 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
21175 it.
21176 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
21177 (pupa_rescue_cmd_cat): Likewise.
21178 (pupa_rescue_cmd_ls): Likewise.
21179 (pupa_rescue_cmd_testload): Likewise.
21180 (pupa_rescue_cmd_lsmod): Likewise.
21181 * normal/cmdline.c (pupa_cmdline_get): Likewise.
21182 * normal/menu.c (run_menu): Likewise.
21183 * kern/term.c (pupa_cls): Likewise.
21184 (pupa_refresh): New function.
21185 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
21186 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
21187 * util/console.c: New file.
f19dbdb7 21188
1f7315a3 21189 * util/i386/pc/getroot.c: New file.
21190 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
21191 (pupa_putchar): New function.
21192 (pupa_refresh): Likewise.
21193 (xgetcwd): Function moved to ...
21194 (strip_extra_slashes): Likewise.
21195 (get_prefix): Likewise.
f19dbdb7 21196 * util/i386/pc/getroot.c: ... here.
1f7315a3 21197 (find_root_device): Function moved and renamed to...
21198 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
21199 Changed all callers.
21200 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
21201 and renamed to...
21202 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
21203 Changed all callers.
21204 * util/misc.c (pupa_memalign): New function.
21205 (pupa_mm_init_region): Likewise.
21206 (pupa_register_exported_symbols): Likewise.
21207 (pupa_putchar): Function removed.
21208 * util/pupa-emu.c: New file.
21209
9a5c1ade 212102003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
21211
21212 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
21213 (_multiboot_mod_SOURCES): New variable.
21214 (_multiboot_mod_CFLAGS): Likewise.
21215 * loader/i386/pc/multiboot.c: New file.
21216 * include/pupa/i386/pc/multiboot.h: Likewise.
21217 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
21218 (pupa_multiboot_real_boot): New function.
21219 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
21220 (pupa_multiboot_real_boot): New prototype.
21221 (pupa_rescue_cmd_multiboot): Likewise
21222 (pupa_rescue_cmd_module): Likewise.
21223
21224 * kern/loader.c (pupa_loader_set): Continue when
21225 pupa_loader_unload_func() fails.
21226 (pupa_loader_unset): New function.
21227 * include/pupa/loader.h (pupa_loader_unset): New prototype.
21228
21229 * kern/misc.c (pupa_stpcpy): New function.
21230 * include/pupa/misc.h (pupa_stpcpy): New prototype.
21231
8e72a9c0 212322003-11-12 Marco Gerards <metgerards@student.han.nl>
21233
21234 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
21235 for available extensions.
21236
21237 * include/pupa/i386/pc/time.h: New file.
21238 * kern/disk.c: Include <pupa/machine/time.h>.
21239 (PUPA_CACHE_TIMEOUT): New macro.
21240 (pupa_last_time): New variable.
21241 (pupa_disk_open): Flush the cache when there was a timeout.
21242 (pupa_disk_close): Reset the timer.
21243 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
21244 pupa_currticks.
21245 * util/misc.c: Include <sys/times.h>
21246 (pupa_get_rtc): New function.
21247
c4adbd32 212482003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21249
21250 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
21251 as blocks.
21252 (pupa_ext2_get_file_block): Use blocks member.
21253
21254 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
21255 first block. Return -1 instead of pupa_errno on error.
21256
bfd30f06 212572003-10-27 Marco Gerards <metgerards@student.han.nl>
21258
21259 * README: In the pupa-mkimage example use _chain instead of chain
21260 and ext2 instead of fat.
21261 * TODO: Replace ext2fs with jfs as an example. Add an item for
21262 adding journal playback for ext2fs.
21263 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
21264 (pkgdata_MODULES): Added ext2.mod.
21265 (ext2_mod_SOURCES): New variable.
21266 (ext2_mod_CFLAGS): Likewise.
21267 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
21268 * include/pupa/misc.h (pupa_strncpy): New prototype.
21269 (pupa_strcat): Likewise.
21270 (pupa_strncmp): Likewise.
21271 * kern/misc.c (pupa_strcat): Enable function.
21272 (pupa_strncpy): New function.
21273 (pupa_strncmp): Likewise.
21274 * fs/ext2.c: New file.
f19dbdb7 21275
bfd30f06 21276 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
21277 when the read failed before retrying.
21278 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
21279 (_FILE_OFFSET_BITS): Likewise.
21280 * configure.ac: Added AC_SYS_LARGEFILE.
21281
98d15063 212822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21283
21284 * genmk.rb (PModule#rule): Make sure to get only symbol names
21285 from the output of nm.
21286 Reported by Robert Millan <zeratul2@wanadoo.es>.
21287
18d9c7cd 212882003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
21289
21290 I forgot to check in these changes for a long time. This adds
21291 incomplete support for VGA console, and this is still very
21292 buggy. Also, a lot of consideration is required for I18N,
21293 UNICODE, and VGA font issues. Therefore, assume that this is
21294 such that "better than nothing".
f19dbdb7 21295
18d9c7cd 21296 * font/manager.c: New file.
21297 * include/pupa/font.h: Likewise.
21298 * include/pupa/i386/pc/vga.h: Likewise.
21299 * term/i386/pc/vga.c: Likewise.
21300 * util/unifont2pff.rb: Likewise.
21301
21302 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
21303 (pkgdata_MODULES): Added vga.mod and font.mod.
21304 (vga_mod_SOURCES): New variables.
21305 (vga_mod_CFLAGS): Likewise.
21306 (font_mod_SOURCES): Likewise.
21307 (font_mod_CFLAGS): Likewise.
21308
21309 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
21310
21311 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 21312 (struct pupa_term): Added init and fini.
18d9c7cd 21313 Changed the argument of putchar to pupa_uint32_t.
21314
21315 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
21316 (pupa_console_real_putchar): New prototype.
21317 (pupa_console_putchar): Removed.
21318 (pupa_console_checkkey): Exported.
21319 (pupa_console_getkey): Likewise.
21320
21321 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
21322 characters.
21323
21324 * kern/term.c (pupa_term_set_current): Rewritten.
21325 (pupa_putchar): Likewise.
21326 (pupa_putcode): New function.
21327
21328 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
21329 (pupa_console_real_putchar): ... this.
21330 (pupa_vga_set_mode): New function.
21331 (pupa_vga_get_font): Likewise.
21332
21333 * normal/command.c: Include pupa/term.h.
21334 (terminal_command): New function.
21335 (pupa_command_init): Register the command "terminal".
21336
21337 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
21338 (DISP_UP): Likewise.
21339 (DISP_RIGHT): Likewise.
21340 (DISP_DOWN): Likewise.
21341 (DISP_HLINE): Likewise.
21342 (DISP_VLINE): Likewise.
21343 (DISP_UL): Likewise.
21344 (DISP_UR): Likewise.
21345 (DISP_LL): Likewise.
21346 (DISP_LR): Likewise.
21347
21348 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 21349
977329f5 213502003-02-08 NIIBE Yutaka <gniibe@m17n.org>
21351
21352 * util/resolve.c (pupa_util_resolve_dependencies): BUG
21353 FIX. Reverse the path_list.
21354
21355 * include/pupa/normal.h: Export pupa_register_command and
21356 pupa_unregister_command.
21357
21358 * hello/hello.c (pupa_cmd_hello): New module.
21359 * conf/i386-pc.rmk: Added hello.mod.
21360
1f5ab428 213612003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
21362
21363 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 21364
1f5ab428 21365 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
21366 (compress_kernel): New variable.
21367 (generate_image): Heavily modified to support compressing a
21368 large part of the core image.
21369
21370 * util/misc.c (pupa_util_read_image): Fix a file descriptor
21371 leak.
21372 (pupa_util_load_image): New function.
21373
21374 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
21375 (pupa_compressed_size): New variable.
21376 (codestart): Enable Gate A20 here.
21377 Decompress the compressed part of the core image.
21378 Rearrange the code to put functions and variables which are
21379 required for initialization in the non-compressed part.
21380 Include lzo1x.S.
21381
21382 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
21383 here.
21384
21385 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
21386
f19dbdb7 21387 * include/pupa/i386/pc/kernel.h
1f5ab428 21388 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
21389 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
21390 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21391 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21392 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
21393
21394 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
21395
21396 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
21397 (Utility#rule): Likewise.
21398
21399 * configure.ac: Check if LZO is available.
21400
ce5bf700 214012003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
21402
21403 * include/pupa/normal.h: New file.
21404 * include/pupa/setjmp.h: Likewise.
21405 * include/pupa/i386/setjmp.h: Likewise.
21406 * normal/cmdline.c: Likewise.
21407 * normal/command.c: Likewise.
21408 * normal/main.c: Likewise.
21409 * normal/menu.c: Likewise.
21410 * normal/i386/setjmp.S: Likewise.
f19dbdb7 21411
ce5bf700 21412 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
21413 (pupa_rescue_cmd_initrd): Likewise.
21414
21415 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
21416 Likewise.
21417
21418 * kern/i386/pc/startup.S (translation_table): New variable.
21419 (translate_keycode): New function.
21420 (pupa_console_getkey): Call translate_keycode.
21421
21422 * kern/rescue.c (attempt_normal_mode): New function.
21423 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
21424 it failed, print a message.
21425
21426 * kern/mm.c (pupa_real_malloc): Print more information when a
21427 free magic is broken.
21428 (pupa_free): If the first free header is not free actually, set
21429 it to P.
21430
21431 * kern/main.c (pupa_load_normal_mode): Just load the module
21432 "normal".
21433 (pupa_main): Don't print the message
21434 "Entering into rescue mode..." here.
21435
21436 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
21437 Declared.
21438 (pupa_rescue_cmd_initrd): Likewise.
21439 (pupa_rescue_cmd_initrd): Likewise.
21440
21441 * include/pupa/symbol.h (FUNCTION): Specify the type.
21442 (VARIABLE): Likewise.
21443
21444 * include/pupa/err.h (pupa_err_t): Added
21445 PUPA_ERR_UNKNOWN_COMMAND.
21446
21447 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
21448 (pupa_dl_get_prefix): Likewise.
21449
21450 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
21451 Added _chain.mod and _linux.mod instead of chain.mod and
21452 linux.mod.
21453 (chain_mod_SOURCES): Renamed to ...
21454 (_chain_mod_SOURCES): ... this.
21455 (chain_mod_CFLAGS): Renamed to ...
21456 (_chain_mod_CFLAGS): ... this.
21457 (linux_mod_SOURCES): Renamed to ...
21458 (_linux_mod_SOURCES): ... this.
21459 (linux_mod_CFLAGS): Renamed to ...
21460 (_linux_mod_CFLAGS): ... this.
21461 (normal_mod_SOURCES): New variable.
21462 (normal_mod_CFLAGS): Likewise.
21463 (normal_mod_ASFLAGS): Likewise.
21464
214652003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
21466
21467 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
21468 possible.
21469
fe6b695a 21470 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 21471 recursively.
21472 (pupa_dl_unref): Unrefer depending modules recursively.
21473 Don't call pupa_dl_unload implicitly, because PUPA can crash if
21474 a module is unloaded before one depending on that module is
21475 unloaded.
21476 (pupa_dl_unload): Unload depending modules explicitly,
21477 if possible.
21478
c04da074 214792003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
21480
21481 * include/pupa/i386/pc/linux.h: New file.
21482 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 21483
c04da074 21484 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
21485 Removed.
21486 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
21487 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
21488 of PUPA_CHAINLOADER_BOOT_SECTOR.
21489
21490 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
21491 (pupa_linux_prot_size): New variable.
21492 (pupa_linux_tmp_addr): Likewise.
21493 (pupa_linux_real_addr): Likewise.
21494 (pupa_linux_boot_zimage): New function.
21495 (pupa_linux_boot_bzimage): Likewise.
21496
21497 * kern/i386/pc/init.c (struct mem_region): New structure.
21498 (MAX_REGIONS): New macro.
21499 (mem_regions): New variable.
21500 (num_regions): Likewise.
21501 (pupa_os_area_addr): Likewise.
21502 (pupa_os_area_size): Likewise.
21503 (pupa_lower_mem): Likewise.
21504 (pupa_upper_mem): Likewise.
21505 (add_mem_region): New function.
21506 (compact_mem_regions): Likewise.
21507 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
21508 the size of the conventional memory and that of so-called upper
21509 memory (before the first memory hole).
21510 Instead of adding each found region to free memory, use
21511 add_mem_region and add them after removing overlaps.
21512 Also, add only 1/4 of the upper memory to free memory. The rest
21513 is used for loading OS images. Maybe this is ad hoc, but this
21514 makes it much easier to relocate OS images when booting.
21515
21516 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
21517 (pupa_enter_rescue_mode): Don't register initrd and module.
21518
21519 * kern/mm.c: Include pupa/dl.h.
21520
21521 * kern/main.c: Include pupa/file.h and pupa/device.h.
21522
21523 * kern/loader.c (pupa_loader_load_module_func): Removed.
21524 (pupa_loader_load_module): Likewise.
21525
21526 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
21527 ``.o''.
21528
21529 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
21530 (pupa_linux_tmp_addr): Likewise.
21531 (pupa_linux_real_addr): Likewise.
21532 (pupa_linux_boot_zimage): Likewise.
21533 (pupa_linux_boot_bzimage): Likewise.
21534
21535 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
21536 (pupa_upper_mem): Likewise.
21537 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
21538 module is too dangerous.
21539
21540 * include/pupa/loader.h (pupa_os_area_addr): Declared.
21541 (pupa_os_area_size): Likewise.
21542 (pupa_loader_set): Remove the first argument. Loader doesn't
21543 manage modules or initrd any longer.
21544 (pupa_loader_load_module): Removed.
21545
21546 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
21547 (linux_mod_SOURCES): New variable.
21548 (linux_mod_CFLAGS): Likewise.
21549
a13f9237 215502003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
21551
21552 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
21553 the length of a blocklist correctly.
21554
21555 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
21556 Use ioctl only if the OS file is a block device.
21557 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
21558 not very useful for normal files.
21559
21560 * kern/main.c (pupa_set_root_dev): New function.
21561 (pupa_load_normal_mode): Likewise.
21562 (pupa_main): Call those above.
21563
21564 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
21565 pupa_uint16_t.
21566
21567 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
21568
a5ffe966 215692003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21570
21571 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
21572 (setup): Configure the installed partition information and the
21573 dl prefix.
21574
21575 * loader/i386/pc/chainloader.c (my_mod): New variable.
21576 (pupa_chainloader_unload): New function.
21577 (pupa_rescue_cmd_chainloader): Refer itself.
21578 (PUPA_MOD_INIT): Save its own module in MY_MOD.
21579
21580 * kern/i386/pc/startup.S (install_partition): Removed.
21581 (version_string): Likewise.
21582 (config_file): Likewise.
21583 (pupa_install_dos_part): New variable.
21584 (pupa_install_bsd_part): Likewise.
21585 (pupa_prefix): Likewise.
21586 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
21587
21588 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
21589 and pupa/misc.h.
21590 (make_install_device): New function.
21591 (pupa_machine_init): Set the dl prefix.
21592
21593 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
21594 (buf): Renamed to ...
21595 (linebuf): ... this.
21596 (pupa_rescue_cmd_prefix): New function.
21597 (pupa_rescue_cmd_insmod): Likewise.
21598 (pupa_rescue_cmd_rmmod): Likewise.
21599 (pupa_rescue_cmd_lsmod): Likewise.
21600 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
21601 rmmod and lsmod.
21602
21603 * kern/mm.c (pupa_memalign): If failed even after invalidating
21604 disk caches, unload unneeded modules and retry.
21605
21606 * kern/misc.c (pupa_memmove): New function.
21607 (pupa_memcpy): Removed.
21608 (pupa_strcpy): New function.
21609 (pupa_itoa): Made static.
21610
21611 * kern/dl.c (pupa_dl_iterate): New function.
21612 (pupa_dl_ref): Likewise.
21613 (pupa_dl_unref): Likewise.
21614 (pupa_dl_unload): Return if succeeded or not.
21615 (pupa_dl_unload_unneeded): New function.
21616 (pupa_dl_unload_all): Likewise.
21617 (pupa_dl_init): Renamed to ...
21618 (pupa_dl_set_prefix): ... this.
21619 (pupa_dl_get_prefix): New function.
21620
21621 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
21622 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
21623 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21624 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21625 (pupa_install_dos_part): Declared.
21626 (pupa_install_bsd_part): Likewise.
21627 (pupa_prefix): Likewise.
21628 (pupa_boot_drive): Likewise.
21629
21630 * include/pupa/types.h: Fix a typo.
21631
21632 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
21633 pupa_memmove.
21634 (pupa_memmove): Declared.
21635 (pupa_strcpy): Likewise.
21636
21637 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
21638 pupa_mod_init takes one argument, its own module.
21639 (pupa_dl_unload_unneeded): Declared.
21640 (pupa_dl_unload_all): Likewise.
21641 (pupa_dl_ref): Likewise.
21642 (pupa_dl_unref): Likewise.
21643 (pupa_dl_iterate): Likewise.
21644 (pupa_dl_init): Renamed to ...
21645 (pupa_dl_set_prefix): ... this.
21646 (pupa_dl_get_prefix): Declared.
21647
21648 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 21649 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 21650 unloaded.
21651 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
21652 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
21653
21654 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
21655 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
21656
012d7999 216572003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21658
21659 * util/i386/pc/pupa-setup.c (setup): Define the internal
21660 function find_first_partition_start at the top level, because GCC
21661 3.0.x cannot compile internal functions in deeper scopes
21662 correctly.
21663 (find_root_device): Use lstat instead of stat.
21664 Don't follow symbolic links.
21665 Fix the path-constructing code.
21666
21667 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
21668 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
21669 by a BLKGETSIZE ioctl first, because block devices don't fill
21670 the member st_mode of the structure stat on Linux.
21671 [__linux__] (linux_find_partition): Use a temporary buffer
21672 REAL_DEV for the working space. Copy it to DEV before returning.
21673 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
21674 buffer cache consistent.
21675 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
21676 strncmp. The previous value was merely wrong.
21677 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
21678
21679 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
21680 FAT size is 12. The previous value was merely wrong.
21681
21682 * kern/main.c (pupa_main): Don't split the starting message from
21683 newlines.
21684
21685 * kern/term.c (pupa_putchar): Put CR after LF instead of before
21686 LF, because BIOS goes crazy about character attributes in this
21687 case.
21688
1cc73a62 216892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21690
21691 * include/i386/pc/util/biosdisk.h: New file.
21692 * util/i386/pc/biosdisk.c: Likewise.
21693 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 21694
1cc73a62 21695 * Makefile.in (INCLUDE_DISTFILES): Added
21696 include/pupa/i386/pc/util/biosdisk.h.
21697 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
21698 directory util/i386/pc.
21699 (install-local): Added a rule for sbin_UTILITIES.
21700 (uninstall): Likewise.
21701
21702 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
21703
21704 * util/misc.c (xrealloc): New function.
21705 (pupa_malloc): Likewise.
21706 (pupa_free): Likewise.
21707 (pupa_realloc): Likewise.
21708 (pupa_stop): Likewise.
21709 (pupa_putchar): Likewise.
21710
21711 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
21712
21713 * include/pupa/util/misc.h (xrealloc): Declared.
21714
21715 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
21716 macro.
21717 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
21718 (PUPA_BOOT_MACHINE_BPB_END): ... this.
21719
21720 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
21721 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21722
21723 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
21724 way should be implemented.
21725 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21726
21727 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
21728 the size of NAME for safety.
21729 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
21730 0x88.
21731
21732 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
21733 (pupa_setup_SOURCES): Likewise.
21734
21735 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
21736
08b70fe8 217372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21738
21739 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
21740 bunch of pushl's from pusha, because this destroys the return
21741 value.
21742
62ddcc8f 217432002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21744
21745 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
21746 This means that any missing prototypes could be fatal. Also, you
21747 must take care when writing assembly code. See the comments at
21748 the beginning of startup.S, for more details.
f19dbdb7 21749
62ddcc8f 21750 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
21751 compilation mechanism.
21752 (pupa_chainloader_real_boot): Likewise.
21753 (pupa_biosdisk_rw_int13_extensions): Likewise.
21754 (pupa_biosdisk_rw_standard): Likewise.
21755 (pupa_biosdisk_check_int13_extensions): Likewise.
21756 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
21757 (pupa_biosdisk_get_diskinfo_standard): Likewise.
21758 (pupa_get_memsize): Likewise.
21759 (pupa_get_mmap_entry): Likewise.
21760 (pupa_console_putchar): Likewise.
21761 (pupa_console_setcursor): Likewise.
21762 (pupa_getrtsecs): Use pushl instead of push.
21763
21764 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
21765 memory instead of the stack for a mmap entry, because some
21766 BIOSes may ignore the maximum size and overflow.
21767
21768 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
21769
21770 * genmk.rb (PModule#rule): Compile automatically generated
21771 sources with module-specific CFLAGS as well as other sources.
21772
9962ed99 217732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21774
21775 * configure.ac: Check ld.
21776 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
21777 respectively, before checking endianness and sizes.
21778
21779 * Makefile.in (LD): New variable.
f19dbdb7 21780
abdfc3c5 217812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21782
21783 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
21784
6a161fa9 217852002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21786
21787 * Changelog: New file.
21788