]> git.proxmox.com Git - grub2.git/blame - ChangeLog
remove leading / in dprintf output
[grub2.git] / ChangeLog
CommitLineData
ebd65b82
BC
12010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2
3 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4 dprintf output.
5
b4c1aae0
VS
62010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 9 Reported by: Ian Turner
b4c1aae0 10
8920a08d
VS
112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14 timeout to avoid indefinite boot stalling.
15
f21db033
VS
162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19 (grub_env_write_color_highlight): Likewise.
20
9a9de209
VS
212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/normal/term.c (print_more): Return to normal and not
24 to standard state after printing "---MORE---".
25
3dca01d7
VS
262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
29 Mask out the bit 0x80 since it has other meaning that specifiing color.
30
0b986c40
VS
312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
32
33 New relocator. Allows for more kernel support and more straightforward
34 loader writing.
35
36 * Makefile.am (BOOTTARGET): New variable.
37 (QEMU32): Likewise.
38 (linux.init.x86_64): New target.
39 (linux.init.i386): Likewise.
40 (multiboot.elf): Likewise.
41 (kfreebsd.elf): Likewise.
42 (kfreebsd.aout): Likewise.
43 (pc-chainloader.elf): Likewise.
44 (pc-chainloader.bin): Likewise.
45 (ntldr.elf): Likewise.
46 (ntldr.bin): Likewise.
47 (multiboot2.elf): Likewise.
48 (kfreebsd.init.x86_64): Likewise.
49 (kfreebsd.init.i386): Likewise.
50 (knetbsd.init.i386): Likewise.
51 (kopenbsd.init.i386): Likewise.
52 (knetbsd.init.x86_64): Likewise.
53 (kopenbsd.init.x86_64): Likewise.
54 (linux-initramfs.i386): Likewise.
55 (linux-initramfs.x86_64): Likewise.
56 (kfreebsd-mfsroot.i386.img): Likewise.
57 (knetbsd.image.i386): Likewise.
58 (kopenbsd.image.i386): Likewise.
59 (kopenbsd.image.x86_64): Likewise.
60 (knetbsd.miniroot-image.i386.img): Likewise.
61 (kfreebsd-mfsroot.x86_64.img): Likewise.
62 (knetbsd.image.x86_64): Likewise.
63 (knetbsd.miniroot-image.x86_64.img): Likewise.
64 (kfreebsd-mfsroot.i386.gz): Likewise.
65 (bootcheck-kfreebsd-i386): Likewise.
66 (kfreebsd-mfsroot.x86_64.gz): Likewise.
67 (bootcheck-kfreebsd-x86_64): Likewise.
68 (knetbsd.miniroot-image.i386.gz): Likewise.
69 (bootcheck-knetbsd-i386): Likewise.
70 (bootcheck-kopenbsd-i386): Likewise.
71 (bootcheck-kopenbsd-x86_64): Likewise.
72 (knetbsd.miniroot-image.x86_64.gz): Likewise.
73 (bootcheck-knetbsd-x86_64): Likewise.
74 (bootcheck-linux-i386): Likewise.
75 (bootcheck-linux-x86_64): Likewise.
76 (bootcheck-linux16-i386): Likewise.
77 (bootcheck-linux16-x86_64): Likewise.
78 (bootcheck-multiboot): Likewise.
79 (bootcheck-multiboot2): Likewise.
80 (bootcheck-kfreebsd-aout): Likewise.
81 (bootcheck-pc-chainloader): Likewise.
82 (bootcheck-ntldr): Likewise.
83 (CLEANFILES): Add new targets.
84 (BOOTCHECKS): New variable.
85 (.PHONY): Add bootchecks.
86 (SUCCESSFUL_BOOT_STRING): New variable.
87 (BOOTCHECK_TIMEOUT): Likewise.
88 (bootcheck): New target
89 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
90 * configure.ac: Correct efiemu excuse.
91 * docs/grub.texi (Supported kernels): New chapter.
92 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
93 include/grub/mm_private.h. Simplify inclusion of
94 include/grub/boot.h, include/grub/loader.h
95 and include/grub/msdos_partition.h
96 (KERNEL_HEADER_FILES) [i386_coreboot]:
97 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
98 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
99 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
100 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
101 include/grub/machine/loader.h.
102 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
103 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
104 extra_dist.
105 (pci.mod): Enable on i386-multiboot.
106 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
107 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
108 i386-qemu.
109 (relocator.mod): Rewritten.
110 (aout.mod): Enable on all x86.
111 (bsd.mod): Likewise.
112 (ntldr.mod): New module.
113 (linux.mod): Use loader/i386/linux.c on all x86.
114 (xnu.mod): Enable on all x86.
115 (vga_text.mod): disable on EFI and QEMU.
116 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
117 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
118 * grub-core/efiemu/loadcore.c: Likewise.
119 * grub-core/efiemu/main.c: Likewise.
120 (grub_efiemu_exit_boot_services): Removed.
121 (grub_efiemu_finish_boot_services): Likewise.
122 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
123 function.
124 * grub-core/efiemu/i386/nocfgtables.c: New file.
125 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
126 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
127 (grub_efi_finish_boot_services): Moved from here ...
128 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
129 Fille finish memory map and related data.
130 (finish_mmap_buf): New variable.
131 (grub_efi_uintn_t finish_mmap_size): Likewise.
132 (grub_efi_uintn_t finish_key): Likewise.
133 (grub_efi_uintn_t finish_desc_size): Likewise.
134 (grub_efi_uint32_t finish_desc_version): Likewise.
135 (grub_efi_is_finished): Likewise.
136 (grub_efi_get_memory_map): Use saved memory map if EFI is already
137 finished.
138 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
139 (grub_elf64_phdr_iterate): Likewise.
140 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
141 (grub_os_area_size): Likewise.
142 (grub_machine_init): Don't reserve os area.
143 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
144 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
145 * grub-core/kern/i386/loader.S: Removed.
146 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
147 (grub_os_area_size): Likewise.
148 (grub_machine_init): Don't reserve os area.
149 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
150 Don't call grub_dl_unload_all.
151 Don't include loader.S.
152 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
153 Declare the memory after _end as available.
154 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 155 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 156 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
157 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
158 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
159 * include/grub/mm_private.h (grub_mm_header): ... here.
160 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
161 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
162 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
163 (grub_mm_region): ..here. Removed addr. Added pre_size.
164 All users updated.
165 * grub-core/kern/mm.c (base): Renamed to ...
166 (grub_mm_base): ... this. Made global.
167 (grub_real_malloc): Alloc from end of region.
168 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
169 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
170 * grub-core/kern/powerpc/cache_flush.S: ... here.
171 * grub-core/lib/efi/relocator.c: New file.
172 * grub-core/lib/i386/relocator.c: Rewritten.
173 * grub-core/lib/i386/relocator16.S: New file.
174 * grub-core/lib/i386/relocator32.S: Likewise.
175 * grub-core/lib/i386/relocator64.S: Likewise.
176 * grub-core/lib/i386/relocator_asm.S: Rewritten.
177 * grub-core/lib/i386/relocator_common.S: New file.
178 * grub-core/lib/ieee1275/relocator.c: Likewise.
179 * grub-core/lib/mips/relocator.c: Rewritten.
180 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
181 stylistic adjustments.
182 * grub-core/lib/powerpc/relocator.c: New file.
183 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
184 * grub-core/lib/relocator.c: Rewritten.
185 * grub-core/lib/x86_64/relocator_asm.S: New file.
186 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
187 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
188 (bsd_tag): New struct.
189 (tags): New variable.
190 (tags_last): Likewise.
191 (netbsd_module): New struct.
192 (netbsd_mods): New variable.
193 (netbsd_mods_last): Likewise.
194 (openbsd_opts): New parameter "serial".
195 (OPENBSD_SERIAL_ARG): New definition.
196 (netbsd_opts): New parameter "serial".
197 (NETBSD_SERIAL_ARG): New definition.
198 (grub_freebsd_add_meta): Reorganised into ...
199 (grub_bsd_add_meta): ...this. All users updated.
200 (grub_freebsd_add_mmap): Reorganised into ...
201 (generate_e820_mmap): ...this...
202 (grub_bsd_add_mmap): ...and this. All users updated.
203 (grub_freebsd_list_modules): Use tags.
204 (grub_netbsd_add_meta_module): New function.
205 (grub_netbsd_list_modules): Likewise.
206 (grub_freebsd_boot): Use relocator and finish EFI.
207 (grub_openbsd_boot): Likewise.
208 (grub_netbsd_setup_video): New function.
209 (grub_netbsd_add_modules): Likewise.
210 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
211 and finish EFI.
212 (grub_bsd_unload): Unload tags.
213 (grub_bsd_load_aout): Use relocator.
214 (grub_bsd_elf32_size_hook): New function.
215 (grub_bsd_elf32_hook): Use relocator.
216 (grub_bsd_elf64_size_hook): New function.
217 (grub_bsd_elf64_hook): Use relocator.
218 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
219 (grub_bsd_load): Zero-out openbsd_ramdisk.
220 (grub_bsd_load): Use relocator.
221 (grub_cmd_openbsd): Support serial.
222 (grub_cmd_netbsd): Support modules.
223 (grub_cmd_freebsd_module): Use relocator.
224 (grub_netbsd_module_load): New function.
225 (grub_cmd_netbsd_module): Likewise.
226 (grub_cmd_openbsd_ramdisk): Likewise.
227 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
228 kopenbsd_ramdisk.
229 (GRUB_MOD_FINI): Unregister new commands.
230 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
231 (grub_freebsd_load_elfmodule_obj): Use relocator.
232 (grub_freebsd_load_elfmodule): Likewise.
233 (grub_freebsd_load_elf_meta): Likewise.
234 (grub_netbsd_load_elf_meta): New function.
235 (grub_openbsd_find_ramdisk): Likewise.
236 * grub-core/loader/i386/bsd_helper.S: Removed.
237 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
238 * grub-core/loader/i386/bsd_trampoline.S: Removed.
239 * grub-core/loader/i386/efi/linux.c: Likewise.
240 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
241 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
242 (DEFAULT_VIDEO_MODE): Likewise.
243 (real_mode_target): New variable.
244 (prot_mode_target): Likewise.
245 (initrd_mem_target): Likewise.
246 (relocator): Likewise.
247 (efi_mmap_buf): Likewise.
248 (efi_mmap_size): Likewise.
249 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
250 (free_pages): Use relocator.
251 (allocate_pages): Account for efi_mmap and use relocator. Return error.
252 (grub_linux_setup_video): Return error.
253 (grub_linux_trampoline_start): Removed.
254 (grub_linux_trampoline_end): Likewise.
255 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
256 andd video parameters depending on firmware.
257 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
258 [GRUB_MACHINE_EFI]: Pass EFI parameters.
259 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
260 (grub_cmd_initrd): Use relocator.
261 * grub-core/loader/i386/linux_trampoline.S: Removed.
262 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
263 (elf_sec_entsize): Likewise.
264 (elf_sec_shstrndx): Likewise.
265 (elf_sections): Likewise.
266 (grub_multiboot_load): Use relocator.
267 (grub_multiboot_get_mbi_size): Account for sections.
268 (grub_multiboot_make_mbi): Use relocator and support sections.
269 (grub_multiboot_add_elfsyms): New function.
270 (grub_multiboot_free_mbi): Free sections.
271 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
272 (grub_linux_real_target): Likewise.
273 (grub_linux_real_chunk): Likewise.
274 (grub_linux16_prot_size): Likewise.
275 (grub_linux16_boot): Use relocator.
276 (grub_linux_unload): Unload relocator.
277 (grub_cmd_linux): Use relocator.
278 (grub_cmd_initrd): Likewise.
279 * grub-core/loader/i386/pc/ntldr.c: New file.
280 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
281 Don't try to guess CPU frequency.
282 (grub_xnu_set_video): Stretch bitmap.
283 (grub_xnu_boot): Use relocator.
284 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
285 (grub_linux_unload): Free relocator.
286 (grub_linux_load32): Use relocator.
287 (grub_linux_load64): Likewise.
288 (grub_cmd_initrd): Likewise.
289 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
290 (grub_multiboot_unload): Unload relocator.
291 (grub_cmd_multiboot): Use relocator.
292 (grub_cmd_module): Likewise.
293 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
294 Use relocator and support sections.
295 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
296 (elf_sec_entsize): Likewise.
297 (elf_sec_shstrndx): Likewise.
298 (elf_sections): Likewise.
299 (grub_multiboot_load): Use relocator.
300 (grub_multiboot_get_mbi_size): Account for sections.
301 (grub_multiboot_make_mbi): Use relocator and support sections.
302 (grub_multiboot_add_elfsyms): New function.
303 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
304 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
305 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
306 Prototype changed. All users updated.
307 (grub_xnu_align_heap): Simplified.
308 (grub_xnu_writetree_toheap): Likewise.
309 (grub_xnu_unload): Unload relocator.
310 (grub_cmd_xnu_kernel): Use relocator.
311 (grub_cmd_xnu_kernel64): Likewise.
312 (grub_xnu_register_memory): Simplified.
313 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
314 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
315 EFI is finished.
316 (grub_console_checkkey): Likewise.
317 (grub_console_getkey): Likewise.
318 (grub_console_getwh): Likewise.
319 (grub_console_getxy): Likewise.
320 (grub_console_gotoxy): Likewise.
321 (grub_console_cls): Likewise.
322 (grub_console_setcolorstate): Likewise.
323 (grub_console_setcursor): Likewise.
324 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
325 * grub-core/tests/boot/kbsd.init-i386.S: New file.
326 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
327 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
328 * grub-core/tests/boot/kernel-8086.S: Likewise.
329 * grub-core/tests/boot/kernel-i386.S: Likewise.
330 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
331 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
332 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
333 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
334 * grub-core/tests/boot/knetbsd.cfg: Likewise.
335 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
336 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
337 * grub-core/tests/boot/linux.cfg: Likewise.
338 * grub-core/tests/boot/linux.init-i386.S: Likewise.
339 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
340 * grub-core/tests/boot/linux16.cfg: Likewise.
341 * grub-core/tests/boot/multiboot.cfg: Likewise.
342 * grub-core/tests/boot/multiboot2.cfg: Likewise.
343 * grub-core/tests/boot/ntldr.cfg: Likewise.
344 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
345 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
346 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
347 New definition.
348 * include/grub/dl.h (grub_dl_unload_all): Removed.
349 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
350 (grub_efi_finish_boot_services): Change prototype.
351 (grub_efi_is_finished): New variable.
352 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
353 Changed prototype.
354 (grub_efiemu_finish_boot_services): Removed.
355 (grub_machine_efiemu_init_tables): New prototype.
356 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
357 (grub_elf64_phdr_iterate): Likewise.
358 * include/grub/i386/bsd.h: Include relocator.h.
359 (freebsd_tag_header): New struct.
360 (grub_openbsd_bios_mmap): Removed.
361 (grub_unix_real_boot): Removed.
362 (grub_freebsd_load_elfmodule32): Changed prototype.
363 (grub_freebsd_load_elfmodule_obj64): Likewise.
364 (grub_freebsd_load_elf_meta32): Likewise.
365 (grub_freebsd_load_elf_meta64): Likewise.
366 (grub_freebsd_add_meta): Removed.
367 (grub_netbsd_load_elf_meta32): New prototype.
368 (grub_netbsd_load_elf_meta64): Likewise.
369 (grub_bsd_add_meta): Likewise.
370 (grub_openbsd_ramdisk_descriptor): New struct.
371 (grub_openbsd_find_ramdisk32): New prototype.
372 (grub_openbsd_find_ramdisk64): Likewise.
373 * include/grub/i386/coreboot/loader.h: Removed.
374 * include/grub/i386/efi/loader.h: Likewise.
375 * include/grub/i386/ieee1275/loader.h: Likewise.
376 * include/grub/i386/linux.h (linux_kernel_header): Change void *
377 to grub_uint32_t.
378 * include/grub/i386/loader.h: Removed.
379 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
380 value.
381 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
382 (grub_phys_addr_t): New type.
383 (grub_vtop): New inline function.
384 (grub_map_memory): Likewise.
385 (grub_unmap_memory): Likewise.
386 * include/grub/i386/multiboot/loader.h: Removed.
387 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
388 (NETBSD_BTINFO_CONSOLE): New definition.
389 (NETBSD_BTINFO_SYMTAB): Likewise.
390 (NETBSD_BTINFO_MODULES): Likewise.
391 (NETBSD_BTINFO_FRAMEBUF): Likewise.
392 (grub_netbsd_bootinfo): New struct.
393 (grub_netbsd_btinfo_common): Use explicit bitsize.
394 (grub_netbsd_btinfo_mmap_entry): Removed.
395 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
396 (grub_netbsd_btinfo_bootdisk): New struct.
397 (grub_netbsd_btinfo_symtab): Likewise.
398 (grub_netbsd_btinfo_serial): Likewise.
399 (grub_netbsd_btinfo_modules): Likewise.
400 (grub_netbsd_btinfo_framebuf): Likewise.
401 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
402 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
403 Likewise.
404 (grub_openbsd_bootargs): Use explicit bitsize.
405 (grub_openbsd_bootarg_console): New struct.
406 (GRUB_OPENBSD_COM_MAJOR): New definition.
407 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
408 * include/grub/i386/pc/efiemu.h: Removed.
409 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
410 * include/grub/i386/qemu/loader.h: Removed.
411 * include/grub/i386/relocator.h: Rewritten.
412 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
413 * include/grub/mips/memory.h: New file.
414 * include/grub/mips/multiboot.h: Rewritten.
415 * include/grub/mips/relocator.h: Rewritten.
416 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
417 (grub_vtop): New function.
418 (grub_map_memory): Likewise.
419 (grub_unmap_memory): Likewise.
420 * include/grub/misc.h (ALIGN_DOWN): New definition.
421 * include/grub/mm.h (grub_mm_check_real): New proto.
422 (GRUB_MM_CHECK): New definition.
423 * include/grub/mm_private.h: New file.
424 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
425 (grub_multiboot_get_mbi_size): Removed.
426 (grub_multiboot_make_mbi): Change prottype.
427 (grub_multiboot_set_accepts_video): New proto.
428 (grub_multiboot_add_elfsyms): Likewise.
429 (grub_multiboot_payload_eip): New variable.
430 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
431 New prototype.
432 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
433 New definition.
434 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
435 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
436 * include/grub/powerpc/ieee1275/loader.h: Removed.
437 * include/grub/powerpc/memory.h: New file.
438 * include/grub/powerpc/relocator.h: Likewise.
439 * include/grub/relocator.h: Likewise.
440 * include/grub/relocator_private.h: Likewise.
441 * include/grub/sparc64/ieee1275/loader.h: Removed.
442 * include/grub/x86_64/memory.h: New file.
443 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
444 (grub_xnu_heap_malloc): Likewise.
445 (grub_xnu_heap_real_start): Removed.
446 (grub_xnu_heap_start): Likewise.
447 (grub_xnu_relocator): New variable.
448 (grub_xnu_heap_target_start): Likewise.
449 * tests/util/grub-shell.in: Support non-pc.
450 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 451
5303b85d
VS
4522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
455 on malloc error.
456 (grub_bidi_logical_to_visual): Check that malloc succeded.
457 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
458 puts.
459 (grub_xputs_normal): Likewise.
460
d768d159
VS
4612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
464 extra_dist.
465
4662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/efiemu/runtime/efiemu.sh: Removed.
469
5bf84df4
VS
4702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
473
3626810e
VS
4742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
477 dprintf.
478
a7363f53
BC
4792010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
480
481 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
482
902f75f6
VS
4832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/normal/term.c (print_more): Fix a memory leak.
486 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
487 (grub_xputs_normal): Likewise.
488
3c707967
VS
4892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
492 the begining of the string
493
2053cc07
VS
4942010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/script/script.c (grub_script_parse): Free parsed on
497 failure.
498
46422ebf
VS
4992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
502 on failure.
503
9e0fa3f6
VS
5042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
507 return.
508
3393cf16
VS
5092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
512 (scroll_up): Fix a memory leak.
513
b17540cb
VS
5142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
517 errors.
518
67140446
VS
5192010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Handle USB pendrives exposed as floppies.
522
523 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
524 floppy.
525 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
526 Check for partitions on all devices.
527
e35e46fc
VS
5282010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
531 (readkey): Likewise.
532
d24c6190
BC
5332010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
534
535 Multiple variable names support to "export" command.
536
537 * normal/context.c (grub_cmd_export): "export" command supports
538 multiple variable names.
539
04ddcc6a
ST
5402010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
541
542 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
543 --target=drive output to Mach device name.
544
0c8b61d8
BC
5452010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
546
547 New Automake based build system for GRUB.
548
549 * ABOUT-NLS: New file.
550 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
551 in Makefile.util.def file.
552 * Makefile.util.def: New file. Autogen build definitions file for
553 GRUB host utils.
554 * conf/Makefile.common: New file. Common variables for GRUB host
555 utils and target modules.
556 * conf/Makefile.extra-dist: New file. Extra files for make dist.
557 * docs/Makefile.am: New file. Automake file for docs.
558 * gentpl.py: New file. Python script to generate Autogen
559 template.
560 * grub-core/Makefile.am: New file. GRUB target modules' rules
561 that doesn't fit in Makefile.core.def file.
562 * grub-core/Makefile.core.def: New file. Autogen build
563 definitions file for GRUB target modules.
564 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
565 specific setjmp.S file.
566 * po/Makefile.am: New file.
567
568 * .bzrignore: New ignores.
569 * INSTALL: New requirements, without Ruby.
570 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
571 * autogen.sh: Updated to invoke autogen as necessary.
572 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
573 and defines for Automake conditionals.
574 * geninit.sh: Refactoring.
575
576 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
577 necessary.
578 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
579 New prototype.
580
581 * include/grub/test.h: Fix functional test modules' naming.
582 * grub-core/tests/example_functional_test.c: Fix test module name.
583
584 * util/misc.c: Hosted versions' of grub functions for libgrub.a
585 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
586 * util/grub-editenv.c: Likewise.
587 * util/grub-fstest.c: Likewise.
588 * util/grub-mkdevicemap.c: Likewise.
589 * util/grub-mkfont.c: Likewise.
590 * util/grub-mkimage.c: Likewise.
591 * util/grub-mkpasswd-pbkdf2.c: Likewise.
592 * util/grub-probe.c: Likewise.
593 * util/grub-script-check.c: Likewise.
594 * util/i386/pc/grub-setup.c: Likewise.
595 * util/sparc64/ieee1275/grub-setup.c: Likewise.
596
597 * tests/util/grub-shell.in: Fix override directory path.
598 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
599 * util/import_gcry.py: Create Makefile.gcry.def file instead.
600
601 * util/lvm.c: Update #includes.
602 * util/raid.c: Likewise.
603 * util/resolve.c: Likewise.
604 * grub-core/bus/emu/pci.c: Likewise.
605 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
606 * grub-core/lib/posix_wrap/string.h: Likewise.
607 * grub-core/kern/emu/main.c: Likewise.
608
609 * grub-core/gensymlist.sh: New file. Script for generating kernel
610 symbols file.
611 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
612
613 * grub-core/gentrigtables.c: Fix unused variable warnings.
614
615 * Makefile.in: Removed.
616 * conf/any-emu.rmk: Removed.
617 * conf/common.rmk: Removed.
618 * conf/i386-coreboot.rmk: Removed.
619 * conf/i386-efi.rmk: Removed.
620 * conf/i386-ieee1275.rmk: Removed.
621 * conf/i386-multiboot.rmk: Removed.
622 * conf/i386-pc.rmk: Removed.
623 * conf/i386-qemu.rmk: Removed.
624 * conf/i386.rmk: Removed.
625 * conf/mips-yeeloong.rmk: Removed.
626 * conf/mips.rmk: Removed.
627 * conf/powerpc-ieee1275.rmk: Removed.
628 * conf/sparc64-ieee1275.rmk: Removed.
629 * conf/tests.rmk: Removed.
630 * conf/x86-efi.rmk: Removed.
631 * conf/x86_64-efi.rmk: Removed.
632 * gendistlist.sh: Removed.
633 * geninitheader.sh: Removed.
634 * genkernsyms.sh.in: Removed.
635 * genmk.rb: Removed.
636 * gensymlist.sh.in: Removed.
637 * mkinstalldirs: Removed.
638 * boot: Moved ...
639 * grub-core/boot: ... to here.
640 * bus: Moved ...
641 * grub-core/bus: ... to here.
642 * commands: Moved ...
643 * grub-core/commands: ... to here.
644 * disk: Moved ...
645 * grub-core/disk: ... to here.
646 * efiemu: Moved ...
647 * grub-core/efiemu: ... to here.
648 * font: Moved ...
649 * grub-core/font: ... to here.
650 * fs: Moved ...
651 * grub-core/fs: ... to here.
652 * gencmdlist.sh: Moved ...
653 * grub-core/gencmdlist.sh: ... to here.
654 * genemuinit.sh: Moved ...
655 * grub-core/genemuinit.sh: ... to here.
656 * genemuinitheader.sh: Moved ...
657 * grub-core/genemuinitheader.sh: ... to here.
658 * genfslist.sh: Moved ...
659 * grub-core/genfslist.sh: ... to here.
660 * genhandlerlist.sh: Moved ...
661 * grub-core/genhandlerlist.sh: ... to here.
662 * genmoddep.awk: Moved ...
663 * grub-core/genmoddep.awk: ... to here.
664 * genmodsrc.sh: Moved ...
665 * grub-core/genmodsrc.sh: ... to here.
666 * genpartmaplist.sh: Moved ...
667 * grub-core/genpartmaplist.sh: ... to here.
668 * genparttoollist.sh: Moved ...
669 * grub-core/genparttoollist.sh: ... to here.
670 * genterminallist.sh: Moved ...
671 * grub-core/genterminallist.sh: ... to here.
672 * gentrigtables.c: Moved ...
673 * grub-core/gentrigtables.c: ... to here.
674 * genvideolist.sh: Moved ...
675 * grub-core/genvideolist.sh: ... to here.
676 * gettext: Moved ...
677 * grub-core/gettext: ... to here.
678 * gfxmenu: Moved ...
679 * grub-core/gfxmenu: ... to here.
680 * gnulib: Moved ...
681 * grub-core/gnulib: ... to here.
682 * hello: Moved ...
683 * grub-core/hello: ... to here.
684 * hook: Moved ...
685 * grub-core/hook: ... to here.
686 * io: Moved ...
687 * grub-core/io: ... to here.
688 * kern: Moved ...
689 * grub-core/kern: ... to here.
690 * lib: Moved ...
691 * grub-core/lib: ... to here.
692 * loader: Moved ...
693 * grub-core/loader: ... to here.
694 * mmap: Moved ...
695 * grub-core/mmap: ... to here.
696 * normal: Moved ...
697 * grub-core/normal: ... to here.
698 * partmap: Moved ...
699 * grub-core/partmap: ... to here.
700 * parttool: Moved ...
701 * grub-core/parttool: ... to here.
702 * script: Moved ...
703 * grub-core/script: ... to here.
704 * term: Moved ...
705 * grub-core/term: ... to here
706 * tests/example_functional_test.c: Moved ...
707 * grub-core/tests/example_functional_test.c: ... to here.
708 * tests/lib/functional_test.c: Moved ...
709 * grub-core/tests/lib/functional_test.c: ... to here.
710 * tests/lib/test.c: Moved ...
711 * grub-core/tests/lib/test.c: ... to here.
712 * video: Moved ...
713 * grub-core/video: ... to here.
714
645586e6
BC
7152010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
716
717 Replace --enable-grub-emu-modules with grub-emu-lite.
718
719 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
720 cache.S.
721
722 * include/grub/emu/misc.h (grub_emu_init): New prototype.
723 * kern/emu/full.c: New file. For grub-emu specific initialization.
724 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
725 * kern/emu/main.c: Call initialization function grub_emu_init.
726
727 * Makefile.in: Include grub-emu-lite in install.
728 * commands/parttool.c: Use grub_no_autoload to differentiate
729 between grub-emu and grub-emu-lite.
730 * include/grub/misc.h: New variable grub_no_autoload.
731
732 * conf/any-emu.rmk: New rules for grub-emu-lite.
733 * configure.ac: Remove --enable-grub-emu-modules.
734 * genmk.rb: Cleanup unnecessary rules.
735 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
736
737 * normal/main.c: Don't load list files on grub-emu-lite.
738 * util/misc.c (grub_arch_sync_caches): Removed.
739
f86a4030
CW
7402010-08-23 Colin Watson <cjwatson@ubuntu.com>
741
742 * kern/mips/startup.S (grub_prefix): Update comment to refer to
743 grub-mkimage rather than grub-mkelfimage.
744 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
745
06776944
VS
7462010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
749 a key after CapsLock or NumLock. It's just a qemu bug.
750
df262419
VS
7512010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
754 needed by libusb wrapper.
755
b40ea81b
ST
7562010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
757
758 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
759
dee50575
VS
7602010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
763 --nounzip is passed.
764
fb1d7b79
VS
7652010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
766
767 USB hotunplugging and USB serial support.
768
769 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
770 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
771 (grub_uhci_transfer): Respect timeout and set *actual.
772 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
773 non-standard length.
774 (grub_usb_device_attach): Autoload modules.
775 (GRUB_MOD_INIT): Set grub_term_poll_usb.
776 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
777 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
778 users updated.
779 (grub_usb_add_hub): Fill nports and children.
780 (attach_root_port): Receive hub instead of controller.
781 All users updated. Fill hub->devices.
782 (grub_usb_root_hub): Allocate hub->devices.
783 (detach_device): New function.
784 (poll_nonroot_hub): Fill children and detach devices.
785 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
786 actual arguments. All users updated.
787 (grub_usb_bulk_read_extended): New function.
788 * bus/usb/serial/common.c: New file.
789 * bus/usb/serial/ftdi.c: Likewise.
790 * bus/usb/serial/pl2303.c: Likewise.
791 * commands/terminal.c (handle_command): Support wildcard.
792 * commands/usbtest.c: Output "Unknown" instead of empty string.
793 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
794 (usbserial_common_mod_SOURCES): New variable.
795 (usbserial_common_mod_CFLAGS): Likewise.
796 (usbserial_common_mod_LDFLAGS): Likewise.
797 (pkglib_MODULES): Add usbserial_pl2303.mod.
798 (usbserial_pl2303_mod_SOURCES): New variable.
799 (usbserial_pl2303_mod_CFLAGS): Likewise.
800 (usbserial_pl2303_mod_LDFLAGS): Likewise.
801 (pkglib_MODULES): Add usbserial_ftdi.mod.
802 (usbserial_ftdi_mod_SOURCES): New variable.
803 (usbserial_ftdi_mod_CFLAGS): Likewise.
804 (usbserial_ftdi_mod_LDFLAGS): Likewise.
805 (pkglib_MODULES): Add serial.mod.
806 (serial_mod_SOURCES): New variable.
807 (serial_mod_CFLAGS): Likewise.
808 (serial_mod_LDFLAGS): Likewise.
809 * conf/i386-pc.rmk: Likewise.
810 * conf/mips-yeeloong.rmk: Likewise.
811 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
812 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
813 * disk/usbms.c (first_available_slot): New variable.
814 (grub_usbms_attach): Don't reuse free slots due to potential cache
815 problems.
816 * include/grub/serial.h: Moved to ..
817 * include/grub/ns8250.h: ...this.
818 * include/grub/serial.h: New file.
819 * include/grub/term.h (grub_term_poll_usb): New variable.
820 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
821 readkey. All users updated.
822 (grub_terminfo_output_state): Pass term to put.
823 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
824 (grub_usb_controller_dev): Add timeout and actual arguments to
825 transfer. All users updated.
826 (grub_usb_interface): New field detach_data.
827 (grub_usb_device): New fields children and nports.
828 (grub_usb_ep_type_t): New type.
829 (grub_usb_get_ep_type): New function.
830 (grub_usb_bulk_read_extended): Likewise.
831 * include/grub/usbdesc.h (grub_usb_desc): New type.
832 * include/grub/usbserial.h: New file.
833 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
834 * kern/term.c (grub_term_poll_usb): New variable.
835 (grub_getkey): Call grub_term_poll_usb if set.
836 (grub_checkkey): Likewise.
837 (grub_getkeystatus): Likewise.
838 * term/serial.c: Moved controller-specific parts to ...
839 * term/ns8250.c: ... here.
840 * term/serial.c: Mostly rewritten.
841 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
842 according to spec.
843
21a313de
RM
8442010-08-20 Robert Millan <rmh@gnu.org>
845
846 Make kFreeBSD code more generic to support ext2fs as root, ufs as
847 a separate module and maybe other interesting combinations.
848
849 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
850 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
851 (kfreebsd_entry): Add generic filesystem module load routine.
852 Map GRUB `ext2' to kFreeBSD `ext2fs'.
853
63c734a6
CW
8542010-08-20 Colin Watson <cjwatson@ubuntu.com>
855
856 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
857 "numcenter" (I misunderstood the purpose of this entry).
858 * docs/grub.texi (sendkey): Likewise.
859
c4d16542
CW
8602010-08-20 Colin Watson <cjwatson@ubuntu.com>
861
862 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
863 status flag options; simply omitting the option is equivalent and
864 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
865 (keysym_table): Rename "num5numlock" to "numlock".
866 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
867 can uniformly say that only the last of multiple `sendkey'
868 invocations has any effect.
869 * docs/grub.texi (sendkey): New section.
870
93541d66
CW
8712010-08-19 Colin Watson <cjwatson@ubuntu.com>
872
873 * commands/i386/pc/sendkey.c (options): Fix three typos.
874
b4ece5e1
VS
8752010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
876
877 Implement sendkey support.
878
879 * commands/i386/pc/sendkey.c: New file.
880 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
881 (sendkey_mod_SOURCES): New variable.
882 (sendkey_mod_CFLAGS): Likewise.
883 (sendkey_mod_LDFLAGS): Likewise.
884
51f1f5af
CW
8852010-08-18 Colin Watson <cjwatson@ubuntu.com>
886
887 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
888 fix warnings from Autoconf.
889
9da94e05
CW
8902010-08-18 Colin Watson <cjwatson@ubuntu.com>
891
892 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
893 to avoid false positives with some assemblers that output things
894 like "someprefix_func" as part of their output.
895
729a0f2e
RM
8962010-08-15 Robert Millan <rmh@gnu.org>
897
898 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
899 errors.
900 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
901 grub_get_libzfs_handle() errors.
902
f3710e08
RM
9032010-08-14 Robert Millan <rmh@gnu.org>
904
905 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
906 filesystem is not ZFS.
907
7a3c13de
BC
9082010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
909
910 Fix for misspelled color names defaulting to black/black (bug
911 reported by Doug Nazar)
912
913 * include/grub/normal.h (grub_parse_color_name_pair): Add return
914 status to prototype.
915 * normal/color.c (grub_parse_color_name_pair): Return failure
916 status.
917 (grub_env_write_color_normal): Ignore bad color names.
918 (grub_env_write_color_highlight): Likewise.
919 * normal/main.c (GRUB_MOD_INIT): Set default color names.
920
ab8ba50d
BC
9212010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
922
923 "shift" command support to GRUB script.
924
925 * include/grub/script_sh.h (grub_script_shift): New prototype.
926 * script/execute.c (grub_script_shift): New function.
927 * script/main.c (grub_script_init): Register shift command.
928 (grub_script_fini): Unregister shift command.
929 * util/grub-script-check.c (grub_script_cmd_shift): New function.
930
931 * tests/grub_script_shift.in: New testcase.
932 * conf/tests.rmk: Rules for new testcase.
933
4d61999e
BC
9342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
935
936 "continue" command support to GRUB script.
937
938 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
939 (grub_script_break): Continue support.
940 * script/main.c (grub_script_init): Register continue command.
941 (grub_script_fini): Unregister continue command.
942
943 * tests/grub_script_continue.in: New testcase.
944 * conf/tests.rmk: Rules for new testcase.
945
4df51e00
BC
9462010-08-12 BVK Chaitanya <bvk@dbook>
947
948 "break" command support to GRUB script.
949
950 * conf/common.rmk: Rule updates to grub-script-check.
951 * include/grub/misc.h (grub_min): New function.
952 * include/grub/script_sh.h (grub_script_init): New prototype.
953 (grub_script_fini): New prototype.
954 (grub_script_break): New prototype.
955 * script/main.c (grub_script_init): New function.
956 (grub_script_fini): New function.
957 * script/execute.c (grub_script_break): New function.
958 * normal/main.c: Calls to grub_script_{init,fini}.
959 * util/grub-script-check.c (grub_script_break): New function.
960
961 * tests/grub_script_break.in: New testcase.
962 * conf/tests.rmk: Rules for new test case.
963
f12c8420
BC
9642010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
965
966 Function parameters support to GRUB script.
967
968 * script/yylex.l (VARIABLE): Regular expression update.
969 * script/function.c (grub_script_function_call): Moved ...
970 * script/execute.c (grub_script_function_call): ... to here.
971 (grub_script_execute_arglist_to_argv): Removed.
972 (grub_script_arglist_to_argv): New function.
973 * script/argv.c: New file.
974 (grub_script_argv_free): New function.
975 (grub_script_argv_next): Likewise.
976 (grub_script_argv_append): Likewise.
977 (grub_script_argv_split_append): Likewise.
978 * include/grub/script_sh.h (grub_script_argv): New struct.
979 (grub_script_argv_free): New function.
980 (grub_script_argv_next): Likewise.
981 (grub_script_argv_append): Likewise.
982 (grub_script_argv_split_append): Likewise.
983
984 * conf/common.rmk (normal.mod): New source script/argv.c.
985
986 * tests/grub_script_echo1.in: More tests.
987 * tests/grub_script_vars1.in: Likewise.
988 * tests/grub_script_functions.in: New test case.
989 * conf/tests.rmk: Rules for new testcase.
990
8022b748
BC
9912010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
992
993 Remove grub_script_cmdblock struct.
994
995 * include/grub/script_sh.h: Remove grub_script_cmdblock.
996 * script/parser.y: Likewise.
997 * script/execute.c: Rename cmdblock suffix to cmdlist.
998 * script/script.c: Likewise.
999 * util/grub-script-check.c: Likewise.
1000
79a6ba61
YB
10012010-08-11 Yves Blusseau <blusseau@zetam.org>
1002
1003 * .bzrignore: add grub-macho2img
1004
d04b9414
VS
10052010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
1008
f947ab49
VS
10092010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 Remove the dump of sm712 initialisation sequence.
1012
1013 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
1014 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
1015 (GRUB_VGA_IO_MISC_WRITE): Likewise.
1016 (GRUB_VGA_CR_*): Added many registers.
1017 (GRUB_VGA_SR_*): Likewise.
1018 (GRUB_VGA_GR_*): Likewise.
1019 (grub_vga_write_arx): New function.
1020 (grub_video_hw_config): New struct.
1021 (grub_vga_set_geometry): New function.
1022 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
1023 GRUB_PCI_CLASS_SUBCLASS_VGA.
1024 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
1025 * video/sm712.c (grub_sm712_write_reg): New function
1026 (grub_sm712_read_reg): Likewise.
1027 (grub_sm712_sr_write): Likewise.
1028 (grub_sm712_gr_write): Likewise.
1029 (grub_sm712_cr_write): Likewise.
1030 (grub_sm712_write_arx): Likewise.
1031 (grub_sm712_cr_shadow_write): Likewise.
1032 (grub_sm712_write_dda_lookup): Likewise.
1033 (grub_video_sm712_setup): Initialise the video rather then
1034 blindly replay the dump.
1035 (main) [TEST]: Add a routine to be able to compile as standalone for
1036 tests.
1037 * video/sm712_init.c (sm712_init): Removed.
1038 (sm712_sr_seq1): New array.
1039 (sm712_sr_seq2): Likewise.
1040
f0206638
VS
10412010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * include/grub/vga.h: Add missing grub/pci.h include.
1044
2764da3b
YB
10452010-08-10 Yves Blusseau <blusseau@zetam.org>
1046
1047 * util/grub-macho2img.c (main): fix typo
1048
cf0c775e
VS
10492010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
1052 (grub_vga_gr_read): Likewise.
1053 (grub_vga_cr_write): Likewise.
1054 (grub_vga_cr_read): Likewise.
1055 (grub_vga_sr_write): Likewise.
1056 (grub_vga_sr_read): Likewise.
1057 (grub_vga_palette_read): Likewise.
1058 (grub_vga_palette_write): Likewise.
1059 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
1060 (grub_sm712_sr_read): New function.
1061 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
1062 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
1063
07f360e9
RM
10642010-08-09 Robert Millan <rmh@gnu.org>
1065
1066 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
1067 out unused variables on non-ZFS build.
1068
346c2072
RM
10692010-08-08 Robert Millan <rmh@gnu.org>
1070
1071 Fix path generation for sub-filesystems in ZFS.
1072
1073 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
1074 missing slash.
1075
71175420
RM
10762010-08-08 Robert Millan <rmh@gnu.org>
1077
1078 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
1079
0d8286f3
RM
10802010-08-08 Robert Millan <rmh@gnu.org>
1081
1082 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
1083 exist, issue a proper error message (rely on `ls' for translated
1084 strings).
1085
55dd2924
RM
10862010-08-08 Robert Millan <rmh@gnu.org>
1087
1088 Fix grub-probe invocation.
1089
1090 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
1091
d3dd9e80
RM
10922010-08-04 Robert Millan <rmh@gnu.org>
1093
1094 * configure.ac: Remove checks for getfsstat() and getmntany().
1095 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
1096 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
1097 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
1098 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
1099 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
1100 function.
1101 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
1102 via find_mount_point_from_dir() and getfsstat() / getmntany().
1103
0de22aa9
RM
11042010-08-04 Robert Millan <rmh@gnu.org>
1105
1106 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1107 (grub_find_zpool_from_mount_point): Merge into ...
1108 (grub_find_zpool_from_dir): ... this.
1109 * kern/emu/misc.c: Likewise.
1110
1111 * kern/emu/misc.c
1112 (grub_make_system_path_relative_to_its_root): Replace
1113 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
1114 with grub_find_zpool_from_dir().
1115 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
1116
62858144
RM
11172010-08-04 Robert Millan <rmh@gnu.org>
1118
1119 Support OpenSolaris in ZFS device resolution.
1120
1121 * configure.ac: Check for getmntany().
1122 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
1123 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
1124 support.
1125
9dd6fd50
RM
11262010-08-03 Robert Millan <rmh@gnu.org>
1127
1128 Fix grub-emu build.
1129
1130 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
1131 * include/grub/emu/misc.h: ... here.
1132
1133 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
1134 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
1135
1136 * util/misc.c: Remove `<grub/util/libzfs.h>'.
1137 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
1138 (grub_get_libzfs_handle): Move to ...
1139 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
1140 (grub_get_libzfs_handle): ... here.
1141
c9f7ff97
BC
11422010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
1143
1144 * script/execute.c (grub_script_execute_cmdline): Check for NULL
1145 as command name case.
1146
a870a783
CW
11472010-08-02 Colin Watson <cjwatson@ubuntu.com>
1148
1149 * disk/raid.c (insert_array): Select unique numbers for named arrays
1150 as well, for use as keys in the disk cache.
1151
c7db243b
RM
11522010-08-01 Robert Millan <rmh@gnu.org>
1153
1154 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
1155 kFreeBSD device name, except on ZFS where the filesystem label is
1156 used.
1157 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
1158 `/boot/zfs/zpool.cache'.
1159 Set mountfrom kernel variable using ${kfreebsd_device}.
1160
f7abdefb
RM
11612010-08-01 Robert Millan <rmh@gnu.org>
1162
1163 Make it even harder to use uninitialized `libzfs_handle' (and
1164 make the interface a bit simpler).
1165
1166 * include/grub/util/misc.h (grub_util_init_libzfs)
1167 (libzfs_handle): Remove.
1168 (grub_get_libzfs_handle): New prototype.
1169
1170 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
1171 attribute.
1172 (grub_util_init_libzfs): Remove.
1173 (grub_get_libzfs_handle): New function.
1174
1175 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
1176 grub_get_libzfs_handle() to obtain a libzfs handle instead of
1177 accessing `libzfs_handle' directly.
1178
c882acc0
RM
11792010-08-01 Robert Millan <rmh@gnu.org>
1180
1181 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1182 (grub_find_zpool_from_mount_point): New function prototypes.
1183
1184 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1185 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1186
1187 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1188 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1189 `static' attribute.
1190
1191 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
1192 finding zpool from mount point into ...
1193 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
1194
1195 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
1196 requested path is part of a ZFS pool, use
1197 grub_find_zpool_from_mount_point() to detect its filesystem name,
1198 and generate a path with `/fsname@path' syntax.
1199
8bfe31d8
CW
12002010-08-01 Colin Watson <cjwatson@ubuntu.com>
1201
1202 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
1203 (void) rather than () so that this is a proper prototype.
1204
553df63d
VS
12052010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
1208
8687cf07
VS
12092010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
1212 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
1213
ea9be8ea
CW
12142010-08-01 Colin Watson <cjwatson@ubuntu.com>
1215
1216 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
1217
6eea041a
CW
12182010-08-01 Colin Watson <cjwatson@ubuntu.com>
1219
1220 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
1221
2cfb45df
CW
12222010-08-01 Colin Watson <cjwatson@ubuntu.com>
1223
1224 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
1225 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
1226 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
1227 disable gfxpayload.
1228 (Shell-like scripting): Add real content.
1229 (Serial terminal): Suggest `terminal_input serial; terminal_output
1230 serial' rather than putting the two commands on separate lines,
1231 since console input will be inoperative after the first command.
1232 (menuentry): Document --class, --users, and --hotkey options.
1233 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
1234 Vladimir Serbinenko).
1235
7decd202
VS
12362010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12372010-08-01 Colin Watson <cjwatson@ubuntu.com>
1238
1239 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
1240
c882acc0
RM
12412010-08-01 Robert Millan <rmh@gnu.org>
1242
1243 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1244 (grub_find_zpool_from_mount_point): New function prototypes.
1245
1246 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1247 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1248
1249 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1250 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1251 `static' attribute.
1252
1253 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
1254 finding zpool from mount point into ...
1255 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
1256
1257 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
1258 requested path is part of a ZFS pool, use
1259 grub_find_zpool_from_mount_point() to detect its filesystem name,
1260 and generate a path with `/fsname@path' syntax.
1261
deb0caa3
RM
12622010-08-01 Robert Millan <rmh@gnu.org>
1263
1264 Prevent accidental use of uninitialized libzfs_handle.
1265
1266 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
1267 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
1268 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
1269
ce04ef47
CW
12702010-08-01 Colin Watson <cjwatson@ubuntu.com>
1271
1272 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
1273 util/grub.d/10_linux.in). Fixes Debian bug #591093.
1274
ebf53056
RM
12752010-08-01 Robert Millan <rmh@gnu.org>
1276
1277 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 1278
3710bb6b
RM
12792010-07-31 Robert Millan <rmh@gnu.org>
1280
1281 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
1282
8072efeb
RM
12832010-07-31 Robert Millan <rmh@gnu.org>
1284
1285 * kern/emu/misc.c: Add missing license header.
1286
3169f4c7
RM
12872010-07-31 Robert Millan <rmh@gnu.org>
1288
1289 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
1290
1291 * include/grub/util/libnvpair.h: Include `<config.h>'.
1292 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
1293 declaring libnvpair prototypes ourselves.
1294 * include/grub/util/libzfs.h: Include `<config.h>'.
1295 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
1296 declaring libzfs prototypes ourselves.
1297
1298 (libzfs_handle): Moved to ...
1299 * include/grub/util/misc.h (libzfs_handle): ... here.
1300 Include `<grub/util/libzfs.h>'.
1301
c9a00aee
RM
13022010-07-30 Robert Millan <rmh@gnu.org>
1303
1304 * include/grub/emu/misc.h: Add missing license header.
1305
a184f9c8
RM
13062010-07-30 Robert Millan <rmh@gnu.org>
1307
1308 Enable `grub-probe -t device' resolution on ZFS.
1309
1310 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
1311 * include/grub/util/libnvpair.h: New file.
1312 * include/grub/util/libzfs.h: New file.
1313
1314 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
1315 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
1316 `<grub/util/libnvpair.h>'.
1317 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
1318
1319 (find_mount_point_from_dir): New static function.
1320 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
1321 function.
1322 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
1323 find_root_device_from_libzfs() before ressorting to find_root_device().
1324
1325 * include/grub/util/misc.h (grub_util_init_libzfs): New function
1326 prototype.
1327 * util/misc.c: Include `<grub/util/libzfs.h>'.
1328 (grub_util_init_libzfs): New function.
1329 [HAVE_LIBZFS] (libzfs_handle): New global variable.
1330 [HAVE_LIBZFS] (fini_libzfs): New static function.
1331 (grub_util_init_libzfs): New function.
1332 * util/grub-probe.c (main): Call grub_util_init_libzfs().
1333
f7790cdd
RM
13342010-07-30 Robert Millan <rmh@gnu.org>
1335
1336 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
1337 (xmalloc, xrealloc, xstrdup, xasprintf): Add
1338 `warn_unused_result' attribute.
1339 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
1340 (grub_xasprintf, grub_xvasprintf): Likewise.
1341 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
1342
0806b63c
RM
13432010-07-29 Robert Millan <rmh@gnu.org>
1344
1345 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
1346 (probe): Handle `PRINT_FS_LABEL'.
1347 (main): Handle `-t fs_label'.
1348
9f841f5c
RM
13492010-07-29 Robert Millan <rmh@gnu.org>
1350
1351 * configure.ac: Remove grub-mkisofs checks.
1352
46371121
VS
13532010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * util/ieee1275/grub-install.in: Don't use empty grub_device.
1356 Reported by: Lennart Sorensen.
1357
13582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
1361 prior to terminal_input/terminal_output separation. It's been over 1.5
1362 years and those versions weren't widely deployed.
1363
a9600892
CW
13642010-07-22 Colin Watson <cjwatson@ubuntu.com>
1365
1366 * disk/raid.c (insert_array): Don't count named arrays when looking
1367 for unused array numbers.
697e053c 1368 Reported and tested by: Michael Guntsche.
a9600892 1369
c03507df
CW
13702010-07-20 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
1373 implementation of this so that grub-emu links again, with a note
1374 that this should support hotplugging in the future.
1375
b26f1c11
CW
13762010-07-20 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
1379
efc9d7f1
CW
13802010-07-20 Colin Watson <cjwatson@ubuntu.com>
1381
1382 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
1383 handle on failure.
1384 (grub_loopback_close): Remove empty function.
1385 (grub_loopback_dev): Remove close method.
1386
dd8ff5c9
CW
13872010-07-20 Colin Watson <cjwatson@ubuntu.com>
1388
1389 Disable EFI cursor when the EFI console becomes inactive.
1390
1391 * term/efi/console.c (grub_efi_console_init): New function.
1392 (grub_efi_console_fini): New function.
1393 (grub_console_term_output): Register init and fini methods.
1394
5e3bec67
VS
13952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * tests/util/grub-shell-tester.in: Remove bashism and declare as
1398 sh script.
1399
afaec079
VS
14002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * disk/loopback.c (grub_loopback): Replace filename with file.
1403 (delete_loopback): Handle new semantics.
1404 (grub_cmd_loopback): Likewise.
1405 (grub_loopback_iterate): Likewise.
1406 (grub_loopback_close): Likewise.
1407
a6a11f3c
VS
14082010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
1411 with -p "".
1412 Reported by: Tito Keitel.
1413
64a638b0
VS
14142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * docs/grub.texi (Naming convention): Document new naming convention.
1417
ab8ba957
VS
14182010-07-20 Vadim Solomin <vadic052@gmail.com>
14192010-07-20 Colin Watson <cjwatson@ubuntu.com>
1420
1421 Generate device.map in something closer to the old ordering.
1422
1423 * util/deviceiter.c (struct device): New declaration.
1424 (compare_file_names): Rename to ...
1425 (compare_devices): ... this. Sort by kernel name in preference to
1426 the stable by-id name, but keep the latter as a fallback comparison.
1427 Update header comment.
1428 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
1429 of `struct device' rather than of plain file names.
1430
a29d6a4b
TF
14312010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
1432
1433 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
1434 on i386.
1435
39d824e8
VS
14362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * commands/acpi.c (setup_common_tables): Use sizeof instead of
1439 hardcoding size.
1440 (setv1table): Likewise.
1441
f058276b
FZ
14422010-07-20 Colin Watson <cjwatson@ubuntu.com>
1443
1444 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
1445 removing the homehost if present.
1446 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
1447 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
1448 removing the homehost if present.
1449 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
1450 if possible.
1451 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
1452
1453 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
1454 parameter. Set its pointer target to 0.
1455 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
1456 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
1457 `data_offset' value from the superblock for 1.x metadata.
1458 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
1459 data on the device.
1460 (insert_array): Record the start sector of data on the device.
1461 (grub_raid_register): Pass start_sector parameters to
1462 grub_raid_list->detect and insert_array.
1463 * include/grub/raid.h (struct grub_raid_array): Add start_sector
1464 member.
1465 (struct grub_raid): Add start_sector parameter to `detect'.
1466
1467 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
1468 __attribute__ ((packed)), leaving a comment.
1469 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
1470 (grub_mdraid_detect_09): ... here and ...
1471 (grub_mdraid_detect_1x): ... here.
1472
14732010-07-20 Peter Henn <peter.henn@web.de>
1474
1475 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
1476 chunk size and disk size, which are already given as sector counts
1477 as distinct from the 0.90 units. Fetch the correct device number
1478 from the role table instead of using the table index.
1479
14802010-07-20 Felix Zielcke <fzielcke@z-51.de>
1481
1482 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
1483 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
1484 (WriteMostly1): New macro.
1485 Set array->name to NULL for metadata format 0.90. Add support for
1486 metadata 1.x. Fix some comments.
1487 * disk/raid.c (): Add support for name based RAID arrays. Fix a
1488 few comments.
1489 * util/getroot.c (grub_util_get_grub_dev): Add support for
1490 /dev/md/name style devices.
1491
4b761da9
CW
14922010-07-20 Colin Watson <cjwatson@ubuntu.com>
1493
1494 * .bzrignore: Ignore 20_linux_xen.
1495
5771289a
CW
14962010-07-17 Colin Watson <cjwatson@ubuntu.com>
1497
1498 * util/import_unicode.py: Remove unnecessary imports.
1499
5dab68df
AN
15002010-07-17 Aleš Nesrsta <starous@volny.cz>
1501
1502 Hotplugging and USB hub support.
1503
1504 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
1505 (grub_ohci): Likewise.
1506 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
1507 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
1508 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
1509 (GRUB_OHCI_CTRL_EDS): Likewise.
1510 (GRUB_OHCI_BULK_EDS): Likewise.
1511 (GRUB_OHCI_TDS): Likewise.
1512 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
1513 (grub_ohci_ed_phys2virt): New function.
1514 (grub_ohci_virt_to_phys): Likewise.
1515 (grub_ohci_td_phys2virt): Likewise.
1516 (grub_ohci_td_virt2phys): Likewise.
1517 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
1518 attachment.
1519 (grub_ohci_find_ed): New function.
1520 (grub_ohci_alloc_td): Likewise.
1521 (grub_ohci_free_td): Likewise.
1522 (grub_ohci_free_tds): Likewise.
1523 (grub_ohci_transfer): Use previously allocated memory.
1524 (grub_ohci_portstatus): Reset status changed bit.
1525 (grub_ohci_detect_dev): Supply status changed.
1526 (grub_ohci_fini_hw): Free memory.
1527 (grub_ohci_restore_hw): Reallocate memory.
1528 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
1529 Reset status change.
1530 (grub_uhci_detect_dev): Supply status_change.
1531 * bus/usb/usb.c (attach_hooks): New var.
1532 (grub_usb_device_attach): New function.
1533 (grub_usb_register_attach_hook_class): Likewise.
1534 (grub_usb_unregister_attach_hook_class): Likewise.
1535 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
1536 (grub_usb_add_hub): Reset connection changed bit.
1537 (attach_root_port): New function.
1538 (grub_usb_root_hub): Likewise.
1539 (poll_nonroot_hub): Likewise.
1540 (grub_usb_poll_devices): Likewise.
1541 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
1542 * disk/usbms.c (grub_usbms_open): Use device hooks.
1543 (grub_usbms_iterate) :Poll devices.
1544 (grub_usbms_finddevs): Split into ...
1545 (grub_usbms_attach): ... this ...
1546 (grub_usbms_attach): ... and this.
1547 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
1548 in detect_dev.
1549 (grub_usb_interface): New fields attached and detach_hook.
1550 (grub_usb_attach_hook_class): New type.
1551 (grub_usb_attach_desc): New struct.
1552 (grub_usb_register_attach_hook_class): New function.
1553 (grub_usb_unregister_attach_hook_class): Likewise.
1554 (grub_usb_poll_devices): Likewise.
1555 (grub_usb_device_attach): Likewise.
1556 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
1557 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
1558
3222efaf
VS
15592010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
1562 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
1563 delta determination style. Works with most NetBSD partitions too.
1564
139b714a
VS
15652010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
1568 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
1569
986aad56
VS
15702010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
1573
99be513c
AB
15742010-07-14 Anton Blanchard <anton@samba.org>
1575
1576 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
1577 ET_DYN files.
1578
18075f62
GS
15792010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1580
1581 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
1582
8d9a5b15
GS
15832010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
1584
1585 * kern/partition.c (grub_partition_check_containment): New function to
1586 check that a partition is physically contained in a parent. Since
1587 offsets are relative (and non-negative), this reduces to checking that
1588 the partition ends before its parent.
1589 (grub_partition_map_probe): Discard out-of-range sub-partitions.
1590 (grub_partition_iterate): Likewise.
1591 * include/grub/partition.h (grub_partition_map): Slightly more detailed
1592 comments.
1593 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
1594 partitions that start before their parent, and add debug printfs.
1595
19563c25
CW
15962010-07-13 Colin Watson <cjwatson@ubuntu.com>
1597
1598 * Makefile.in (.SUFFIX): Spell correctly, as ...
1599 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
1600 bare module name without `.mod', e.g. `test') tried to invoke a
1601 Modula-2 compiler.
1602
1a1f1e67
CW
16032010-07-13 Colin Watson <cjwatson@ubuntu.com>
1604
1605 * README: Point to the Info manual.
1606
811b0dca
JS
16072010-07-13 Jiro SEKIBA <jir@unicus.jp>
1608
1609 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
1610 2nd superblock position from partition size.
1611
e4f4eafc
CW
16122010-07-10 Colin Watson <cjwatson@ubuntu.com>
1613
1614 * Makefile.in (MAINTAINER_CLEANFILES): Remove
1615 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
1616 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
1617 outputs.
1618
4274c30f
VS
16192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Restructure SCSI .id handling.
1622 Reported and tested by: Aleš Nesrsta.
1623
1624 * disk/ata.c (grub_atapi_close): Removed. All users updated.
1625 (grub_atapi_dev): Changed .name to "ata". New field .id.
1626 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
1627 (grub_usbms_dev): New field .id.
1628 * disk/scsi.c (grub_scsi_iterate): Generate name.
1629 (grub_scsi_open): Parse name.
1630 * include/grub/scsi.h (grub_make_scsi_id): New function.
1631 (grub_scsi_dev): Change iterate and open to number instead of naming
1632 busses. All users updated.
1633 (grub_scsi): Remove name. Add .bus.
1634
5bc24388
VS
16352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * commands/help.c (grub_cmd_help): Fix a typo.
1638
249975ba
VS
16392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
1642 Reported and tested by: Colin Watson.
1643
3eaac1a1
VS
16442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
1647 in this context.
1648
becce1b1
VS
16492010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
1652
f7bf0918
CW
16532010-07-07 Colin Watson <cjwatson@ubuntu.com>
1654
1655 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
1656 indentation.
1657
0b0f9620
CW
16582010-07-06 Colin Watson <cjwatson@ubuntu.com>
1659
1660 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
1661 and disk/raid6_recover.c.
1662 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1663 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
1664
1e545469
CW
16652010-07-06 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * term/gfxterm.c (repaint_schedulded): Rename to ...
1668 (repaint_scheduled): ... this. Update all callers.
1669 (repaint_was_schedulded): Rename to ...
1670 (repaint_was_scheduled): ... this. Update all callers.
1671
5357687a
CW
16722010-07-06 Colin Watson <cjwatson@ubuntu.com>
1673
1674 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
1675 which we expect to be handled by upper layers.
1676
29d7e783
BC
16772010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
1678
1679 * bus/usb/usbhub.c: #include time.h header.
1680
37582066
CW
16812010-07-06 Colin Watson <cjwatson@ubuntu.com>
1682
1683 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
1684 entry_name also for entries without stat blocks (e.g. ".."); fixes
1685 corruption of the first entry in a directory.
1686
c8c06953
CW
16872010-07-06 Colin Watson <cjwatson@ubuntu.com>
1688
1689 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
1690 after setting gfxterm as the active terminal. GRUB_BACKGROUND
1691 doesn't work otherwise.
1692
e75056f1
CW
16932010-07-05 Colin Watson <cjwatson@ubuntu.com>
1694
1695 * docs/grub.texi (Features): Update list of supported file systems.
1696 (GNU/Linux): Update for GRUB 2.
1697 (Serial terminal): Remove mention of --disable-serial, which was a
1698 GRUB Legacy configure option. Update instructions to use
1699 `terminal_input' and `terminal_output' rather than `terminal'.
1700 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
1701 configuration' and `Installing GRUB using grub-install'.
1702 (Menu entry editor): Update for GRUB 2.
1703 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
1704 Document new -a, -u, and -v options.
1705 (initrd): New section.
1706 (initrd16): New section.
1707 (linux): New section.
1708 (linux16): New section.
1709 (search): The `var' argument to `--set' is optional.
1710 (GRUB only offers a rescue shell): Go into a little more detail on
1711 drive ordering.
1712
5cf69151
CW
17132010-07-05 Colin Watson <cjwatson@ubuntu.com>
1714
1715 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
1716
e3f90044
CW
17172010-07-05 Colin Watson <cjwatson@ubuntu.com>
1718
1719 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
1720 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
1721
38d8f4f3
CW
17222010-07-05 Colin Watson <cjwatson@ubuntu.com>
1723
1724 * util/i386/pc/grub-setup.c (setup): Rename prefix to
1725 install_prefix, in line with install_dos_part and install_bsd_part.
1726 Add new prefix variable, which is copied to install_prefix after
1727 comparing core.img in memory with the one read from disk in the
1728 no-embedding case, and use that rather than overwriting
1729 install_prefix immediately when installing to a partition.
1730 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
1731 Bicakci.
1732
57ebd41e
GS
17332010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
1734
1735 * configure.ac: Avoid == in test command, it's not portable.
1736 * util/grub.d/30_os-prober.in: Likewise.
1737
cb7f64b2
CW
17382010-07-04 Colin Watson <cjwatson@ubuntu.com>
1739
1740 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
1741
6b654bb0
GS
17422010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
1743
1744 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
1745 multiple (top-level) partmaps.
1746
72a2026d
VS
17472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 1750 Reported by: Tino Keitel.
72a2026d 1751
df3eb88f
VS
17522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Bidi and diacritics support.
1755
1756 * Makefile.in (widthspec.bin): New target.
1757 (widthspec.h): Likewise.
1758 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
1759 * autogen.sh: Generate unidata.c.
1760 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
1761 * commands/ls.c (grub_ls_list_devices): Likewise.
1762 (grub_ls_list_files): Likewise.
1763 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
1764 (grub_mini_cmd_lsmod): Likewise.
1765 * commands/read.c: Likewise.
1766 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
1767 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
1768 * lib/arg.c (grub_arg_show_help): Likewise.
1769 * lib/crypto.c (grub_password_get): Likewise.
1770 * normal/auth.c (grub_username_get): Likewise.
1771 * normal/misc.c (grub_normal_print_device_info): Likewise.
1772 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
1773 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
1774 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
1775 (normal/charset.c_DEPENDENCIES): New variable.
1776 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
1777 (pkglib_MODULES): Remove charset.mod.
1778 (charset_mod_SOURCES): Removed.
1779 (charset_mod_CFLAGS): Likewise.
1780 (charset_mod_LDFLAGS): Likewise.
1781 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
1782 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
1783 and term/tparm.c.
1784 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1785 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
1786 (kernel_img_HEADERS): Add terminfo.h.
1787 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
1788 Fill ->font. Reverse ascii bitmaps.
1789 (grub_font_get_xheight): New function.
1790 * font/font.c (grub_font_get_string_width): Moved from here ...
1791 * gfxmenu/font.c (grub_font_get_string_width): ... here.
1792 * font/font.c (grub_font_draw_string): Moved from here ...
1793 * gfxmenu/font.c (grub_font_draw_string): ... here.
1794 * font/font.c (grub_font_dup_glyph): New function.
1795 (grub_font_blit_glyph): Likewise.
1796 (grub_font_blit_glyph_mirror): Likewise.
1797 (blit_comb): Likewise.
1798 (grub_font_construct_dry_run): Likewise.
1799 (grub_font_get_constructed_device_width): Likewise.
1800 (grub_font_construct_glyph): Likewise.
1801 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
1802 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
1803 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
1804 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
1805 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
1806 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
1807 (grub_font_get_xheight): New proto.
1808 (grub_font_get_constructed_device_width): Likewise.
1809 (grub_font_construct_glyph): Likewise.
1810 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
1811 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
1812 * include/grub/font.h (grub_font_draw_string): Moved from here ...
1813 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
1814 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
1815 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
1816 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
1817 (grub_console_getcharwidth): Likewise.
1818 * include/grub/misc.h (grub_xputs): New proto.
1819 (grub_puts): Inlined.
1820 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
1821 (grub_normal_get_line_counter): Removed.
1822 (grub_install_newline_hook): Likewise.
1823 (grub_normal_get_char_counter): New proto.
1824 (grub_normal_reset_more): Likewise.
1825 (grub_xputs_normal): Likewise.
1826 * include/grub/powerpc/ieee1275/console.h: Removed.
1827 * include/grub/sparc64/ieee1275/console.h: Likewise.
1828 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
1829 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
1830 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
1831 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
1832 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
1833 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
1834 (grub_term_input): Pass reference to self. All users updated.
1835 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
1836 Pass reference to self. New fields normal_color, highlight_color and
1837 data. All users updated.
1838 (grub_putchar): Removed.
1839 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
1840 (grub_unicode_estimate_width): New function.
1841 (grub_term_getcharwidth): Add defaults.
1842 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
1843 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
1844 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
1845 (grub_cls): Remove EXPORT_FUNC.
1846 (grub_setcolorstate): Inline.
1847 (grub_newline_hook): Removed.
1848 * include/grub/terminfo.h: Rewritten. All users updated.
1849 * include/grub/unicode.h: New file.
1850 * include/grub/video.h (grub_video_signed_rect): New type.
1851 * kern/emu/console.c (grub_console_highlight_color): Removed.
1852 (grub_console_normal_color): Likewise.
1853 (grub_console_standard_color): Made static.
1854 (grub_ncurses_putchar): Remove mapping.
1855 (grub_ncurses_getcharwidth): Removed.
1856 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1857 (grub_ncurses_setcolor): Removed.
1858 (grub_ncurses_getcolor): Likewise.
1859 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
1860 (grub_console_putchar): ... this.
1861 (grub_console_putchar): Handle argument difference.
1862 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
1863 console_init_early and console_init_lately.
1864 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
1865 * kern/misc.c (grub_puts): Removed.
1866 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
1867 (grub_vsnprintf_real): Remove str = NULL support.
1868 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
1869 * normal/charset.c (grub_utf8_to_ucs4): ... here.
1870 * kern/term.c (grub_putcode): Renamed to ...
1871 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
1872 (grub_putchar): Removed.
1873 (grub_xputs_dumb): New function.
1874 (grub_xputs): New variable.
1875 * lib/charset.c: Move from here ...
1876 * normal/charset.c: ... to here.
1877 (grub_ucs4_to_utf8): New function.
1878 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
1879 (join_types): New variable.
1880 (unpack_join): New function.
1881 (bidi_types): New variable.
1882 (unpack_bidi): New function.
1883 (get_bidi_type): Likewise.
1884 (get_join_type): Likewise.
1885 (is_mirrored): Likewise.
1886 (grub_unicode_get_comb_type): Likewise.
1887 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
1888 (is_type_after): Likewise.
1889 (grub_unicode_aglomerate_comb): Likewise.
1890 (bidi_line_wrap): Likewise.
1891 (grub_bidi_line_logical_to_visual): Likewise.
1892 (grub_bidi_logical_to_visual): Likewise.
1893 (grub_unicode_mirror_code): Likewise.
1894 (grub_unicode_shape_code): Likewise.
1895 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
1896 Don't use grub_putchar.
1897 * normal/main.c (grub_normal_init_page): Use grub_putcode.
1898 (grub_normal_reader_init): Likewise.
1899 (grub_xputs_saved): New variable.
1900 (GRUB_MOD_INIT): Set grub_xputs.
1901 (GRUB_MOD_FINI): Restore grub_xputs.
1902 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
1903 (menu_init): Avoid printing gfxmenu error.
1904 (show_menu): Use grub_normal_get_char_counter.
1905 * normal/menu_entry.c (update_screen): Fix out-of-array.
1906 (complete): Avoid NULL dereferencing.
1907 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
1908 * normal/menu_text.c (print_spaces): Removed.
1909 (grub_print_ucs4): Likewise.
1910 (grub_print_message_indented): Use grub_print_ucs4.
1911 (print_message): Use grub_putcode.
1912 (print_entry): Hanlde diacritics.
1913 * normal/term.c (term_state): New type.
1914 (grub_more_lines): Removed.
1915 (term_states): New variable.
1916 (grub_normal_line_counter): Renamed to ..
1917 (grub_normal_char_counter): ...this. All users updated.
1918 (grub_normal_get_line_counter): Renamed to ...
1919 (grub_normal_get_char_counter): ... this.
1920 (grub_normal_reset_more): New function.
1921 (process_newline): Removed.
1922 (print_more): New function.
1923 (grub_install_newline_hook): Removed.
1924 (map_code): New function.
1925 (grub_puts_terminal): Use grub_print_ucs4.
1926 (putglyph): New function.
1927 (putcode_real): Likewise.
1928 (grub_putcode): Use putcode_real.
1929 (get_maxwidth): New function.
1930 (get_startwidth): Likewise.
1931 (print_ucs4_terminal): Likewise.
1932 (find_term_state): Likewise.
1933 (put_glyphs_terminal): Likewise.
1934 (print_backlog): Likewise.
1935 (print_ucs4_real): Likewise.
1936 (grub_print_ucs4): Likewise.
1937 (grub_xputs_normal): Likewise.
1938 * term/efi/console.c (grub_console_putchar): Output diacritics.
1939 (grub_console_getcharwidth): Removed.
1940 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1941 * term/gfxterm.c (clear_char): Free chars.
1942 (scroll_up): Avoid leaking memory.
1943 (grub_gfxterm_putchar): Support diacritics.
1944 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
1945 * term/i386/pc/console.c (grub_console_term_output): Declare as
1946 GRUB_TERM_CODE_TYPE_VGA.
1947 * term/i386/pc/vga.c (grub_vga_term): Declare as
1948 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
1949 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
1950 GRUB_TERM_CODE_TYPE_VGA.
1951 * term/i386/vga_common.c (map_char): Removed.
1952 (grub_console_putchar): Likewise.
1953 (grub_console_getcharwidth): Likewise.
1954 * term/ieee1275/ofconsole.c: Simplify using terminfo.
1955 (colors): Reordered to match terminfo.
1956 (grub_ofconsole_normal_color): Removed.
1957 (grub_ofconsole_writeesc): Likewise.
1958 (grub_ofconsole_highlight_color): Likewise.
1959 (grub_ofconsole_getcharwidth): Likewise.
1960 (grub_ofconsole_setcolorstate): Likewise.
1961 (grub_ofconsole_setcolor): Likewise.
1962 (grub_ofconsole_getcolor): Likewise.
1963 (grub_ofconsole_readkey): Renamed to ...
1964 (readkey): ... this. Remove escape sequence handling. Return -1 on no
1965 key.
1966 (grub_ofconsole_checkkey): Removed.
1967 (grub_ofconsole_getkey): Likewise.
1968 (grub_ofconsole_getxy): Likewise.
1969 (grub_ofconsole_gotoxy): Likewise.
1970 (grub_ofconsole_cls): Likewise.
1971 (grub_ofconsole_refresh): Likewise.
1972 (grub_ofconsole_terminfo_input): New struct.
1973 (grub_ofconsole_terminfo_output): Likewise.
1974 (grub_ofconsole_term_input): Use terminfo.
1975 (grub_ofconsole_term_output): Likewise.
1976 (grub_console_init): Split into ...
1977 (grub_console_init_early): ...this and ...
1978 (grub_console_init_lately): ...this. Use terminfo.
1979 (grub_ofconsole_putchar): Renamed to ...
1980 (put): ... this. Remove mapping.
1981 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
1982 * term/serial.c: Simplify using terminfo.
1983 (xpos): Removed.
1984 (ypos): Likewise.
1985 (keep_track): Likewise.
1986 (registered): Likewise.
1987 (input_buf): Likewise.
1988 (npending): Likewise.
1989 (serial_translate_key_sequence): Likewise.
1990 (fill_input_buf): Likewise.
1991 (grub_serial_checkkey): Likewise.
1992 (grub_serial_getkey): Likewise.
1993 (grub_serial_getxy): Likewise.
1994 (grub_serial_gotoxy): Likewise.
1995 (grub_serial_putchar): Likewise.
1996 (grub_serial_cls): Likewise.
1997 (grub_serial_setcolorstate): Likewise.
1998 (grub_serial_setcursor): Likewise.
1999 (serial_hw_init): Use serial_hw_fetch.
2000 (grub_serial_terminfo_input): New variable.
2001 (grub_serial_terminfo_output): Likewise.
2002 (grub_serial_term_input): Use terminfo.
2003 (grub_serial_term_output): Likewise.
2004 * term/terminfo.c (putstr): Use put.
2005 (grub_terminfo_all_free): New function
2006 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
2007 (grub_terminfo_output_register): New function.
2008 (grub_terminfo_output_unregister): Likewise.
2009 (grub_terminfo_getxy): Likewise.
2010 (grub_terminfo_readkey): Likewise.
2011 (grub_terminfo_checkkey): Likewise.
2012 (grub_terminfo_getkey): Likewise.
2013 (grub_terminfo_input_init): Likewise.
2014 (print_terminfo): Likewise.
2015 (grub_cmd_terminfo): Handle encoding.
2016 (grub_terminfo_gotoxy): Track position.
2017 (grub_terminfo_cls): Likewise.
2018 (grub_terminfo_putchar): Likewise.
2019 (grub_terminfo_setcolorstate): Handle colors
2020 (grub_terminfo_cursor_on): This ...
2021 (grub_terminfo_cursor_off): ... and this merged into ...
2022 (grub_terminfo_setcursor): ... this.
2023 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
2024 * unicode/ArabicShaping.txt: New file (imported from Unicode).
2025 * unicode/BidiMirroring.txt: Likewise.
2026 * unicode/UnicodeData.txt: Likewise.
2027 * unicode/COPYING: Likewise.
2028 * util/grub-editenv.c (grub_putchar): Removed.
2029 (grub_xputs_real): New function.
2030 (grub_xputs): New variable.
2031 * util/grub-fstest.c (grub_putchar): Removed.
2032 (grub_xputs_real): New function.
2033 (grub_xputs): New variable.
2034 * util/grub-mkdevicemap.c (grub_putchar): Removed.
2035 (grub_xputs_real): New function.
2036 (grub_xputs): New variable.
2037 * util/grub-probe.c (grub_putchar): Removed.
2038 (grub_xputs_real): New function.
2039 (grub_xputs): New variable.
2040 * util/grub-script-check.c (grub_putchar): Removed.
2041 (grub_xputs_real): New function.
2042 (grub_xputs): New variable.
2043 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
2044 (grub_xputs_real): New function.
2045 (grub_xputs): New variable.
2046 * util/import_unicode.py: New file.
2047 * util/grub-mkfont.c (ft_errmsgs): New array.
2048 (grub_glyph_info): Make bitmap a pointer.
2049 (file_formats): New type WIDTH_SPEC.
2050 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
2051 (options): Add width-spec.
2052 (help): Likewise.
2053 (add_char): Renamed to ...
2054 (add_glyph): ... this.
2055 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
2056 (glyph_replace): New type.
2057 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
2058 (add_char): New function.
2059 (add_subst): Likewise.
2060 (process_cursive): Likewise.
2061 (add_font): Handle GSUB.
2062 (write_font_width_spec): New function.
2063 (main): Sort glyphs.
2064 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
2065 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
2066 * kern/term.c (grub_cls): Moved from here...
2067 * normal/term.c (grub_cls): ... here.
2068
50f0bcda
CW
20692010-07-02 Colin Watson <cjwatson@ubuntu.com>
2070
2071 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
2072 suitable for using within the format argument of printf when
2073 converting grub_size_t.
2074 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
2075 "x" to convert grub_size_t arguments.
2076
40372103
VS
20772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
2080 too long captions.
2081 (list_get_minimal_size): Take selection box into account.
2082
942a10c7
VS
20832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
2086 NULL font.
2087
2bdb2892
CW
20882010-07-02 Colin Watson <cjwatson@ubuntu.com>
2089
2090 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
2091 devices when iterating over /dev/disk/by-id; they will be handled
2092 later if appropriate, which they aren't always (e.g. LVM).
2093
e03ed6c1
CW
20942010-07-02 Colin Watson <cjwatson@ubuntu.com>
2095
2096 * include/grub/misc.h (grub_reboot): Declare as noreturn.
2097 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
2098 fails.
2099 (grub_halt): Likewise.
2100 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
2101 reset-all fails.
2102 (grub_halt): Don't return, even if all of shut-down, power-off, and
2103 poweroff fail.
2104
47695765
CW
21052010-07-02 Colin Watson <cjwatson@ubuntu.com>
2106
2107 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
2108 arguments, not three.
2109
507736c8
CW
21102010-07-02 Colin Watson <cjwatson@ubuntu.com>
2111
2112 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
2113 * util/grub.d/10_linux.in: Use it to check for LVM, so that
2114 LVM-on-RAID is handled correctly.
2115
e3c8cd37
CW
21162010-07-02 Colin Watson <cjwatson@ubuntu.com>
2117
2118 * docs/grub.texi (Changes from GRUB Legacy): New section.
2119 (Future): Fix typo.
2120
8d4a2fec
CW
21212010-07-02 Colin Watson <cjwatson@ubuntu.com>
2122
2123 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
2124 grub.d/README accidentally ends up executable for one reason or
2125 another. Ignore it.
2126
1c4827be
VS
21272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
2130 (gpt_partition_map_iterate): Support non-512B sectors.
2131
d9a0c941
VS
21322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * kern/efi/init.c (grub_efi_init): Disable watchdog.
2135 Tested by: Seth Goldberg.
2136
48f27e87
VS
21372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
2140 Properly align mbi.
2141 Reported by: Seth Goldberg.
2142
b0c4f956
VS
21432010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * util/grub-mkrescue.in: Avoid module duplication.
2146
105a2e8c
SF
21472010-07-01 Sean Finney <seanius@seanius.net>
2148
2149 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
2150
5944958c
SF
21512010-07-01 Sean Finney <seanius@seanius.net>
2152
2153 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
2154
21552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * disk/lvm.c (grub_lvm_checkvalue): New function.
2158 (grub_lvm_check_flag): Likewise.
2159
b79889ba
RM
21602010-07-01 Robert Millan <rmh@gnu.org>
2161
2162 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
2163 Support 'p' as partition separator on kernel of FreeBSD (used
2164 with GPT labels).
2165 (grub_util_biosdisk_get_grub_dev): Likewise.
2166
ec1d04f1
VS
21672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Yeeloong firmware port.
2170
2171 * boot/mips/yeeloong/fwstart.S: New file.
2172 * bus/cs5536.c (gpiodump): New const.
2173 (set_io_space): New function.
2174 (set_iod): Likewise.
2175 (set_p2d): Likewise.
2176 (grub_cs5536_init_geode): Likewise.
2177 * commands/mips/yeeloong/lsspd.c: New file.
2178 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
2179 (serial_mod_SOURCES): New variable.
2180 (serial_mod_CFLAGS): Likewise.
2181 (serial_mod_LDFLAGS): Likewise.
2182 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
2183 term/terminfo.c and term/tparm.c.
2184 (pkglib_IMAGES): Add fwstart.img.
2185 (fwstart_img_SOURCES): New variable.
2186 (fwstart_img_CFLAGS): Likewise.
2187 (fwstart_img_ASFLAGS): Likewise.
2188 (fwstart_img_LDFLAGS): Likewise.
2189 (fwstart_img_FORMAT): Likewise.
2190 (pkglib_MODULES): Add lsspd.mod.
2191 (lsspd_mod_SOURCES): New variable.
2192 (lsspd_mod_CFLAGS): Likewise.
2193 (lsspd_mod_LDFLAGS): Likewise.
2194 (pkglib_MODULES): Add halt.mod.
2195 (halt_mod_SOURCES): New variable.
2196 (halt_mod_CFLAGS): Likewise.
2197 (halt_mod_LDFLAGS): Likewise.
2198 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
2199 (serial_mod_SOURCES): Removed.
2200 (serial_mod_CFLAGS): Likewise.
2201 (serial_mod_LDFLAGS): Likewise.
2202 * disk/ata.c (check_device): New function.
2203 (grub_ata_device_initialize): Use check_device.
2204 (grub_ata_iterate): Recheck devices.
2205 (grub_ata_open): Likewise.
2206 (grub_atapi_iterate): Likewise.
2207 (grub_atapi_open): Likewise.
2208 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
2209 (GRUB_ATA_CH1_PORT1): Likewise.
2210 (GRUB_ATA_CH0_PORT2): Likewise.
2211 (GRUB_ATA_CH1_PORT2): Likewise.
2212 * include/grub/mips/loongson.h: New file.
2213 * include/grub/mips/yeeloong/ec.h: Likewise.
2214 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
2215 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
2216 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
2217 * include/grub/misc.h (grub_halt): Declare as noreturn.
2218 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
2219 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
2220 (UART_ENABLE_FIFO_TRIGGER1): New definition.
2221 (UART_ENABLE_DTRRTS): Likewise.
2222 (UART_ENABLE_MODEM): Removed.
2223 (UART_ENABLE_OUT2): New const.
2224 * include/grub/term.h (grub_term_register_input_active): New function.
2225 (grub_term_register_output_active): Likewise.
2226 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
2227 argument.
2228 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
2229 (init_pci): New function.
2230 (grub_machine_init): Execute platform init when firmware. Init serial.
2231 (grub_halt): Implement.
2232 (grub_exit): Likewise.
2233 (grub_reboot): Likewise.
2234 * term/serial.c (serial_hw_init): Update macros.
2235 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
2236 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
2237 (image_targets): New target mipsel-yeeloong-flash.
2238 (generate_image): Support IMAGE_YEELOONG_FLASH.
2239 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
2240 (grub_video_sm712_setup): Init card.
2241 (grub_video_sm712_set_palette): Removed.
2242 * video/sm712_init.c: New file.
2243
ff4a70d2
CW
22442010-06-30 Colin Watson <cjwatson@ubuntu.com>
2245
2246 * Makefile.in (install-local): Temporarily prepend $(builddir) to
2247 PATH when running help2man and then run it on the unadorned
2248 executable names, rather than passing $(builddir)/* paths to
2249 help2man. This avoids the build directory ending up in generated
2250 manual pages.
2251
1246efeb
CW
22522010-06-29 Colin Watson <cjwatson@ubuntu.com>
2253
2254 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
2255 to avoid accidents when debugging with 'sh -x'.
2256 * util/grub-mkrescue.in: Likewise.
2257 * util/grub.d/00_header.in: Likewise.
2258 * util/grub.d/10_hurd.in: Likewise.
2259 * util/grub.d/10_kfreebsd.in: Likewise.
2260 * util/grub.d/10_linux.in: Likewise.
2261 * util/grub.d/10_netbsd.in: Likewise.
2262 * util/grub.d/10_windows.in: Likewise.
2263 * util/grub.d/20_linux_xen.in: Likewise.
2264 * util/grub.d/30_os-prober.in: Likewise.
2265 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2266
1ba9b889
CW
22672010-06-29 Colin Watson <cjwatson@ubuntu.com>
2268
2269 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
2270 last character in the buffer.
2271 Reported by: Vladimir Serbinenko.
2272
dccaf99d
RM
22732010-06-29 Robert Millan <rmh@gnu.org>
2274
2275 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
2276 (Command-line and menu entry commands): Document `badram' command.
2277
d500ed12
RM
22782010-06-28 Robert Millan <rmh@gnu.org>
2279
2280 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
2281 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
2282 command using ${GRUB_BADRAM} as parameter.
2283
20bc84a6
CW
22842010-06-28 Colin Watson <cjwatson@ubuntu.com>
2285
2286 * docs/grub.texi (Device map): New section.
2287 (Themes): New section (stub).
2288 * Makefile.in (docs/grub.info): The info documentation now builds
2289 without errors. Make sure it stays that way.
2290
4045dee1
VS
22912010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Use normal parser for menu entries.
2294 Reported by: Thomas Frauendorfer
2295
2296 * include/grub/parser.h (grub_parser_execute): Don't export.
2297 * normal/menu.c (grub_menu_execute_entry_real): New function.
2298 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
2299
bca58c7b
CW
23002010-06-28 Colin Watson <cjwatson@ubuntu.com>
2301
2302 * docs/grub.texi (Embedded configuration): New section (replacing
2303 old "Preset Menu" stub).
2304 (Images): New section.
2305 (configfile): Note that any menu entries defined in `file' are shown
2306 immediately.
2307
dec53e63
JT
23082010-06-28 Josh Triplett <josh@joshtriplett.org>
2309
2310 * mmap/i386/pc/mmap_helper.S: Set CF on return.
2311
c06e40f7
CW
23122010-06-28 Colin Watson <cjwatson@ubuntu.com>
2313
2314 * util/grub-install.in: Add --debug-image= option.
2315
cb88052b
CW
23162010-06-28 Colin Watson <cjwatson@ubuntu.com>
2317
2318 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
2319 possible on Linux.
2320
2321 * util/deviceiter.c (check_device): Rename to ...
2322 (check_device_readable_unique): ... this. Update all callers.
2323 Maintain and check a list of which devices (by canonicalized name)
2324 have already been seen.
2325 (clear_seen_devices): New function.
2326 (compare_file_names) [__linux__]: New function.
2327 (grub_util_iterate_devices): Clear the list of seen devices on exit
2328 and (just in case) on entry.
2329 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
2330 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
2331 seen-devices list, superseded by general code in check_device.
2332
bbe34652
CW
23332010-06-28 Colin Watson <cjwatson@ubuntu.com>
2334
2335 * commands/cat.c (options): New variable.
2336 (grub_cmd_cat): Parse options. If the --dos option is given, print
2337 DOS-style "\r\n" line endings as simple newlines (Debian bug
2338 #586358).
2339 (GRUB_MOD_INIT): Use extcmd.
2340 (GRUB_MOD_FINI): Likewise.
2341 * docs/grub.texi (cat): Document --dos.
2342
412e09f3
VS
23432010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 XEN with Linux grub-mkconfig support.
2346
2347 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
2348 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
2349 GRUB_CMDLINE_XEN_DEFAULT.
2350 * util/grub.d/20_linux_xen.in: New file.
2351
53f3ef38 23522010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
2353
2354 Initialise VGA video on qemu ourselves.
2355
2356 * boot/i386/qemu/boot.S: Don't call 0xc000.
2357 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
2358 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
2359 (kernel_img_HEADERS): Add pci.h.
2360 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
2361 * configure.ac: Force unifont on qemu and yeeloong.
2362 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
2363 (grub_vga_palette_write): Use correct register.
2364 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
2365 Call grub_qemu_init_cirrus.
2366 * kern/i386/qemu/init.c: New file.
2367 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
2368
2369 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
2370
c75be4fb
PR
23712010-06-26 Pavel Roskin <proski@gnu.org>
2372
2373 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
2374 13.
2375
d8034603
CW
23762010-06-26 Colin Watson <cjwatson@ubuntu.com>
2377
2378 * docs/grub.texi (Simple configuration): Explain that
2379 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
2380 set to `true' to disable their respective recovery entries, not
2381 merely set.
2382
3fa06487
CW
23832010-06-26 Colin Watson <cjwatson@ubuntu.com>
2384
2385 Make the `source' command slightly faster.
2386
2387 * normal/main.c (grub_normal_execute): Don't re-read list files when
2388 nested.
2389
e9b29642
CW
23902010-06-23 Colin Watson <cjwatson@ubuntu.com>
2391
2392 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
2393 field position and mask size to red fields from mode_info, not
2394 green.
2395 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
2396 Remove redundant tag->common.framebuffer_type assignment.
2397 Reported by: Seth Goldberg.
2398
e726542f
CW
23992010-06-23 Colin Watson <cjwatson@ubuntu.com>
2400
2401 Sync up other versions of the Linux loader with Robert Millan's
2402 change of 2010-01-09, "Make loader output a bit more user-friendly".
2403
2404 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
2405 grub_dprintf().
2406 (grub_cmd_linux): Likewise.
2407 (grub_cmd_initrd): Likewise.
2408 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
2409 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2410
d6e98a17
CW
24112010-06-21 Colin Watson <cjwatson@ubuntu.com>
2412
2413 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
2414 larger than MEMORY_MAP_SIZE.
2415
14d3f08e
BC
24162010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
2417
2418 Fix parallel build.
2419
2420 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
2421 dependency.
2422 * script/parser.y: #include grub_script.tab.h header.
2423
4f9613a3
VS
24242010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Support >3GiB and <16MiB RAM in i386-qemu.
2427
2428 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
2429 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
2430 (grub_lower_mem): Removed.
2431 (grub_upper_mem): Likewise.
2432 (mem_size): Made static.
2433 (above_4g): New variable.
2434 (grub_machine_mmap_init): Detect small mem_size and above_4g.
2435 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
2436 support.
2437
05e51879
VS
24382010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 Cirrus 5446 and Bochs video cards support.
2441
2442 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
2443 video_bochs.mod
2444 (video_cirrus_mod_SOURCES): New variable.
2445 (video_cirrus_mod_CFLAGS): Likewise.
2446 (video_cirrus_mod_LDFLAGS): Likewise.
2447 (video_bochs_mod_SOURCES): Likewise.
2448 (video_bochs_mod_CFLAGS): Likewise.
2449 (video_bochs_mod_LDFLAGS): Likewise.
2450 * include/grub/vga.h: New file.
2451 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
2452 (grub_video_fb_set_page_t): New type.
2453 (grub_video_fb_setup): New prototype.
2454 (grub_video_fb_swap_buffers): Likewise.
2455 (grub_video_fb_get_info_and_fini): Likewise.
2456 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
2457 (CRTC_DATA_PORT): Likewise.
2458 (CRTC_CURSOR): Likewise.
2459 (CRTC_CURSOR_ADDR_HIGH): Likewise.
2460 (CRTC_CURSOR_ADDR_LOW): Likewise.
2461 (CRTC_CURSOR_DISABLE): Likewise.
2462 (update_cursor): Use grub_vga_cr_write.
2463 (grub_vga_text_setcursor): Likewise.
2464 * video/bochs.c: New file.
2465 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
2466 (palette): Likewise.
2467 (palette_size): Likewise.
2468 (framebuffer): New variable.
2469 (grub_video_fb_init): Use 'framebuffer'.
2470 (grub_video_fb_fini): Likewise.
2471 (grub_video_fb_get_info): Likewise.
2472 (grub_video_fb_get_palette): Likewise.
2473 (grub_video_fb_set_palette): Likewise.
2474 (grub_video_fb_set_viewport): Likewise.
2475 (grub_video_fb_get_viewport): Likewise.
2476 (grub_video_fb_map_color): Likewise.
2477 (grub_video_fb_map_rgb): Likewise.
2478 (grub_video_fb_map_rgba): Likewise.
2479 (grub_video_fb_unmap_color): Likewise.
2480 (grub_video_fb_unmap_color_int): Likewise.
2481 (grub_video_fb_fill_rect): Likewise.
2482 (grub_video_fb_blit_bitmap): Likewise.
2483 (grub_video_fb_blit_render_target): Likewise.
2484 (grub_video_fb_scroll): Likewise.
2485 (grub_video_fb_create_render_target): Likewise.
2486 (grub_video_fb_doublebuf_blit_init): Likewise.
2487 (grub_video_fb_set_active_render_target): Handle doublebuffering.
2488 (doublebuf_pageflipping_update_screen): New function.
2489 (doublebuf_pageflipping_init): Likewise.
2490 (grub_video_fb_setup): Likewise.
2491 (grub_video_fb_swap_buffers): Likewise.
2492 (grub_video_fb_get_info_and_fini): Likewise.
2493 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
2494 All users updated.
2495 (doublebuf_pageflipping_commit): Restructured into ...
2496 (doublebuf_pageflipping_set_page): ... this.
2497 (doublebuf_pageflipping_update_screen): Removed.
2498 (doublebuf_pageflipping_init): Likewise.
2499 (double_buffering_init): Likewise.
2500 (grub_video_vbe_setup): Use grub_video_fb_setup.
2501 (grub_video_vbe_swap_buffers): Removed.
2502 (grub_video_vbe_set_active_render_target): Likewise.
2503 (grub_video_vbe_get_active_render_target): Likewise.
2504 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
2505 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
2506 grub_video_fb_set_active_render_target and
2507 grub_video_fb_get_active_render_target.
2508 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
2509 (SEQUENCER_DATA_PORT): Likewise.
2510 (MAP_MASK_REGISTER): Likewise.
2511 (CRTC_ADDR_PORT): Likewise.
2512 (CRTC_DATA_PORT): Likewise.
2513 (START_ADDR_HIGH_REGISTER): Likewise.
2514 (START_ADDR_LOW_REGISTER): Likewise.
2515 (GRAPHICS_ADDR_PORT): Likewise.
2516 (GRAPHICS_DATA_PORT): Likewise.
2517 (READ_MAP_REGISTER): Likewise.
2518 (INPUT_STATUS1_REGISTER): Likewise.
2519 (INPUT_STATUS1_VERTR_BIT): Likewise.
2520 (get_map_mask): Use grub_vga_sr_read.
2521 (set_map_mask): Use grub_vga_sr_write.
2522 (set_read_map): Use grub_vga_gr_write.
2523 (set_start_address): Use grub_vga_cr_write.
2524 * video/sm712.c (framebuffer): Remove leftover fields.
2525
4321c64a
CW
25262010-06-20 Colin Watson <cjwatson@ubuntu.com>
2527
2528 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
2529 setting GRUB_VIDEO_BACKEND. Make it available as a user override
2530 instead. Replace the gfxterm backend check with a check that
2531 ${GRUB_PREFIX}/video.lst is non-empty.
2532 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
2533 again.
2534 (load_video): New generated function. Call it before loading
2535 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
2536 * util/grub.d/10_linux.in (linux_entry): Call load_video.
2537 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
2538 * docs/grub.texi (Simple configuration): Document
2539 GRUB_VIDEO_BACKEND.
2540
25412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 Use video functions in linux and xnu loaders.
2544
2545 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
2546 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
2547 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
2548 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
2549 loader/i386/pc/linux.c.
2550 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
2551 (find_line_len): Removed.
2552 (find_framebuf): Likewise.
2553 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
2554 * loader/i386/efi/xnu.c: Removed.
2555 * loader/i386/pc/xnu.c: Moved from here...
2556 * loader/i386/xnu.c: ...here.
2557
2558 Enable priorities in video drivers.
2559
2560 * include/grub/video.h (grub_video_adapter_prio_t): New type.
2561 (grub_video_adapter): New field prio.
2562 (grub_video_register): Respect prio when inserting.
2563 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
2564 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
2565 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
2566 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
2567 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
2568 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
2569 * video/sm712.c (grub_video_sm712_adapter): Likewise.
2570
2571 Fix SDL driver ID.
2572
2573 * include/grub/video.h (grub_video_driver_id_t): New value
2574 GRUB_VIDEO_DRIVER_SDL.
2575 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
2576
7d24e434
CW
25772010-06-17 Colin Watson <cjwatson@ubuntu.com>
2578
2579 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
2580 argument to printf.
2581 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2582
c88a83f6
CW
25832010-06-17 Colin Watson <cjwatson@ubuntu.com>
2584
2585 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
2586 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2587
094dfb69
CW
25882010-06-17 Colin Watson <cjwatson@ubuntu.com>
2589
2590 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
2591 directly, and recommend grub-install instead.
2592 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2593
2164da6b
CW
25942010-06-17 Colin Watson <cjwatson@ubuntu.com>
2595
2596 Fix i386-pc prefix handling with nested partitions (Debian bug
2597 #585068). Note that the case where the core image is booted using
2598 multiboot and relocated from its original location still requires
2599 more work.
2600
2601 * kern/i386/pc/init.c (make_install_device): If the prefix starts
2602 with "(,", fill the boot drive in between those two characters, but
2603 expect that a full partition specification including partition map
2604 names will follow.
2605 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
2606 specified, write a prefix without the drive name but including a
2607 full partition specification.
2608
044e2e60
CW
26092010-06-16 Colin Watson <cjwatson@ubuntu.com>
2610
2611 * util/grub-mkconfig.in: Ignore non-option arguments, for
2612 compatibility with older versions (before 2010-06-12) which did the
2613 same. In particular, this makes it easier to ship an update-grub
2614 wrapper which is compatible with that used with GRUB Legacy (Debian
2615 bug #586056).
2616
5591324f
GS
26172010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2618
2619 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
2620 for manual page generation.
2621
662e24d5
GS
26222010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2623
2624 * po/POTFILES: Remove leftover commands/handler.c.
2625
8d70754e
CW
26262010-06-14 Colin Watson <cjwatson@ubuntu.com>
2627
2628 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
2629 left this script non-functional.
2630
41160e2e
CW
26312010-06-14 Colin Watson <cjwatson@ubuntu.com>
2632
2633 * docs/man/grub-emu.h2m: New file.
2634
b5309cc1
CW
26352010-06-13 Colin Watson <cjwatson@ubuntu.com>
2636
2637 * docs/grub.texi (Commands): Document reduced command set in rescue
2638 mode.
2639 (cpuid): New section.
2640
fcb2d090
GS
26412010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
2642
2643 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
2644 new partition naming style.
2645 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
2646
96e5c556
BC
26472010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
2648
2649 Add "-o grub.iso" like cmdline options support.
2650
2651 * util/grub-install.in: Improve cmdline option parsing.
2652 * util/grub-mkconfig.in: Likewise.
2653 * util/grub-mkrescue.in: Likewise.
2654 * util/grub-reboot.in: Likewise.
2655 * util/grub-set-default.in: Likewise.
2656 * util/i386/efi/grub-install.in: Likewise.
2657 * util/ieee1275/grub-install.in: Likewise.
2658 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2659
c16be99b
CW
26602010-06-12 Colin Watson <cjwatson@ubuntu.com>
2661
2662 * .bzrignore: Ignore 41_custom.
2663
ce08a9fb
TS
26642010-06-12 Thomas Schmitt <scdbackup@gmx.net>
2665
2666 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
2667
7beac90c
CW
26682010-06-12 Colin Watson <cjwatson@ubuntu.com>
2669
2670 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
2671 prototype declarations.
2672
2673 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
2674 generating fs, partmap, and video lists.
2675 * include/grub/fs.h (grub_fs_register): Omit prototype if
2676 GRUB_LST_GENERATOR is defined.
2677 * include/grub/partition.h (grub_partition_map_register): Likewise.
2678 * include/grub/video.h (grub_video_register): Likewise.
2679
1c8f0f8d
JM
26802010-06-12 Javier Martín <lordhabbit@gmail.com>
2681
2682 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
2683
a6085973
TS
26842010-06-12 Thomas Schmitt <scdbackup@gmx.net>
2685
2686 * util/grub-mkrescue.in: Support --xorriso argument.
2687
25c56d29
VS
26882010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
2691 Suggested by: Thomas Schmitt.
2692
e03e4b24
VS
26932010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
2696 Suggested by: Thomas Schmitt.
2697
57711df6
VS
26982010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 custom.cfg support.
2701
2702 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
2703 * util/grub.d/41_custom.in: New file.
2704
ee62c427
CW
27052010-06-12 Colin Watson <cjwatson@ubuntu.com>
2706
2707 * util/grub-mkrescue.in (make_image): Remove sh module, which has
2708 been merged back into normal.
2709
283af07a
CW
27102010-06-11 Colin Watson <cjwatson@ubuntu.com>
2711
2712 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
2713 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
2714
56a0d956
CW
27152010-06-11 Colin Watson <cjwatson@ubuntu.com>
2716
2717 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
2718 when generating manual pages.
2719 * docs/man/grub-bin2h.h2m: New file.
2720 * docs/man/grub-editenv.h2m: New file.
2721 * docs/man/grub-fstest.h2m: New file.
2722 * docs/man/grub-install.h2m: New file.
2723 * docs/man/grub-macho2img.h2m: New file.
2724 * docs/man/grub-mkconfig.h2m: New file.
2725 * docs/man/grub-mkdevicemap.h2m: New file.
2726 * docs/man/grub-mkfont.h2m: New file.
2727 * docs/man/grub-mkimage.h2m: New file.
2728 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
2729 * docs/man/grub-mkrelpath.h2m: New file.
2730 * docs/man/grub-mkrescue.h2m: New file.
2731 * docs/man/grub-ofpathname.h2m: New file.
2732 * docs/man/grub-pe2elf.h2m: New file.
2733 * docs/man/grub-probe.h2m: New file.
2734 * docs/man/grub-reboot.h2m: New file.
2735 * docs/man/grub-script-check.h2m: New file.
2736 * docs/man/grub-set-default.h2m: New file.
2737 * docs/man/grub-setup.h2m: New file.
2738
3a37e322
VS
27392010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Use FOR_* macros instead of *_iterate whenever possible.
2742
2743 * commands/handler.c: Removed.
2744 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
2745 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
2746 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2747 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
2748 (grub_probe_SOURCES): Remove kern/parser.c.
2749 (util/grub-script-check.c_DEPENDENCIES): Removed.
2750 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
2751 and grub_script_check_init.c.
2752 (grub_script_check_init.lst): Removed.
2753 (grub_script_check_init.h): Likewise.
2754 (grub_script_check_init.c): Likewise.
2755 (pkglib_MODULES): Remove handler.mod and sh.mod.
2756 (handler_mod_SOURCES): Removed.
2757 (handler_mod_CFLAGS): Likewise.
2758 (handler_mod_LDFLAGS): Likewise.
2759 (normal_mod_SOURCES): Remove normal/handler.c.
2760 Add script/main.c, script/script.c, script/execute.c,
2761 script/function.c, script/lexer.c, grub_script.tab.c
2762 and grub_script.yy.c.
2763 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2764 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2765 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
2766 (grub_setup_SOURCES): Remove kern/parser.c.
2767 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2768 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
2769 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
2770 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2771 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2772 (grub_setup_SOURCES): Remove kern/parser.c.
2773 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
2774 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
2775 * include/grub/command.h (grub_command_iterate): Removed.
2776 (FOR_COMMANDS): New macro.
2777 * include/grub/dl.h (grub_dl): New member next.
2778 (grub_dl_iterate): Removed.
2779 (grub_dl_head): New variable declaration.
2780 (FOR_DL_MODULES): New macro.
2781 * include/grub/fs.h: Include list.h.
2782 (grub_fs): Make next first element.
2783 (grub_fs_list): New variable declaration.
2784 (grub_fs_register): Make inline.
2785 (grub_fs_unregister): Likewise.
2786 (grub_fs_iterate): Removed.
2787 (FOR_FILESYSTEMS): New macro.
2788 * include/grub/handler.h: Removed.
2789 * include/grub/list.h (grub_list_hook_t): Removed.
2790 (grub_list_test_t): Likewise.
2791 (grub_list_pop): Likewise.
2792 (grub_list_iterate): Likewise.
2793 (grub_list_insert): Likewise.
2794 (FOR_LIST_ELEMENTS): New macro.
2795 * include/grub/parser.h (grub_parser_class): Removed.
2796 (grub_parser_register): Likewise.
2797 (grub_parser_unregister): Likewise.
2798 (grub_parser_get_current): Likewise.
2799 (grub_parser_set_current): Likewise.
2800 (grub_register_rescue_parser): Likewise.
2801 (grub_rescue_parse_line): New function.
2802 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
2803 * include/grub/script_sh.h (grub_script_function_list): New variable
2804 declaration.
2805 (FOR_SCRIPT_FUNCTIONS): New macro.
2806 (grub_script_function_iterate): Removed.
2807 (grub_normal_parse_line): New prototype.
2808 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
2809 (FOR_DISABLED_TERM_INPUTS): Likewise.
2810 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2811 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2812 * include/grub/video.h (grub_video_adapter): Move 'next' to first
2813 element.
2814 (grub_video_register): Inline.
2815 (grub_video_unregister): Likewise.
2816 (grub_video_adapter_list): New variable declaration.
2817 (grub_video_iterate): Removed.
2818 (FOR_VIDEO_ADAPTERS): New macro.
2819 * kern/dl.c (grub_dl_list): Removed. All users updated.
2820 (grub_dl_iterate): Removed.
2821 * kern/fs.c (grub_fs_list): Make global.
2822 (grub_fs_register): Removed.
2823 (grub_fs_unregister): Likewise.
2824 (grub_fs_iterate): Likewise.
2825 * kern/handler.c: Removed.
2826 * kern/list.c (grub_list_pop): Removed.
2827 (grub_list_iterate): Likewise.
2828 (grub_list_insert): Likewise.
2829 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
2830 (grub_prio_list_insert): Don't use grub_list_insert.
2831 * kern/main.c (grub_register_rescue_parser): Don't call
2832 grub_register_rescue_parser.
2833 * kern/parser.c (grub_parser_class): Removed.
2834 (grub_parser_execute): Use grub_rescue_parse_line.
2835 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
2836 (grub_rescue_parser): Removed.
2837 (grub_register_rescue_parser): Likewise.
2838 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
2839 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
2840 (grub_auth_check_authentication): Likewise.
2841 * normal/completion.c (iterate_command): Removed.
2842 (grub_normal_do_completion): Use FOR_COMMANDS.
2843 * normal/handler.c: Removed.
2844 * normal/main.c (read_config_file): Remove parser changing.
2845 (grub_normal_execute): Don't call read_handler_list.
2846 (grub_normal_read_line_real): Statically allocate prompt.
2847 (grub_cmdline_run): Use grub_normal_parse_line.
2848 (GRUB_MOD_FINI): Don't call free_handler_list.
2849 * normal/menu_entry.c (run): Likewise.
2850 * script/function.c (grub_script_function_list): Make global.
2851 (grub_script_function_iterate): Removed.
2852 * script/main.c (grub_normal_parse_line): Make global.
2853 (grub_sh_parser): Removed.
2854 (GRUB_MOD_INIT): Likewise.
2855 (GRUB_MOD_FINI): Likewise.
2856 * tests/lib/functional_test.c (grub_functional_test): Use
2857 FOR_LIST_ELEMENTS.
2858 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
2859 (grub_test_run): Use FOR_LIST_ELEMENTS.
2860 * tests/lib/unit_test.c (main): Likewise.
2861 * util/deviceiter.c (grub_util_iterate_devices): Don't use
2862 grub_list_pop.
2863 * util/grub-fstest.c (grub_term_input_class): Removed.
2864 (grub_term_output_class): Likewise.
2865 * util/grub-probe.c: Likewise.
2866 * util/i386/pc/grub-setup.c: Likewise.
2867 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2868 * util/grub-script-check.c (main): Don't call grub_init_all and
2869 grub_fini_all.
2870 * video/video.c (grub_video_adapter_list): Make global.
2871 (grub_video_register): Removed.
2872 (grub_video_unregister): Likewise.
2873 (grub_video_iterate): Likewise.
2874
6289c3a7
VS
28752010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
2878 reported by Henrique Ferreiro.
2879
91460247
RM
28802010-06-09 Robert Millan <rmh@gnu.org>
2881
2882 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
2883 ones, when both are available.
2884
0ea7c4f9
GS
28852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2886
2887 Make --version uniform and avoid hard-coded program name.
2888
2889 * util/grub-mkimage.c (main): Use `program_name' instead of
2890 hard-coded string.
2891 * util/i386/pc/grub-setup.c (main): Likewise.
2892 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
2893 * util/grub-install.in: Save the basename of $0 in $self, and use the
2894 latter in informational messages. Use the same format for --version
2895 as the binary programs.
2896 * util/grub-mkconfig.in: Likewise.
2897 * util/grub-mkrescue.in: Likewise.
2898 * util/grub-reboot.in: Likewise.
2899 * util/grub-set-default.in: Likewise.
2900 * util/i386/efi/grub-install.in: Likewise.
2901 * util/ieee1275/grub-install.in: Likewise.
2902 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2903
e8a6f3b6
GS
29042010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2905
2906 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
2907 embedding area. Use <= instead of == when checking for non-emptiness.
2908
f4d095d7
GS
29092010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2910
2911 * configure.ac: Add `.' to the directories searched for unifont.
2912
50e532ca
CW
29132010-06-08 Colin Watson <cjwatson@ubuntu.com>
2914
2915 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
2916 grub_script.yy.h.
2917
d39f3dec
CW
29182010-06-08 Colin Watson <cjwatson@ubuntu.com>
2919
2920 * docs/grub.texi (History): Expand to cover GRUB 2.
2921 (Serial terminal): Refer to `terminal_input' and `terminal_output'
2922 commands, not `terminal'.
2923 (serial): Likewise.
2924 (terminal_input): New section.
2925 (terminal_output): New section.
2926 (uppermem): New section (stub).
2927 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2928
6ef0ddb4
CW
29292010-06-08 Colin Watson <cjwatson@ubuntu.com>
2930
2931 * docs/grub.texi (Security): Menu entries are unrestricted by
2932 default, not restricted to superusers as I had previously thought.
2933 Reword to account for this.
2934
e0f4c438
CW
29352010-06-07 Colin Watson <cjwatson@ubuntu.com>
2936
2937 * kern/emu/misc.c (device_mapper_null_log): New function.
2938 (grub_device_mapper_supported): New function.
2939 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
2940 prototype.
2941 * kern/emu/hostdisk.c (find_partition_start): Check whether
2942 device-mapper is supported before trying to use it.
2943 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
2944
da908200
CW
29452010-06-07 Colin Watson <cjwatson@ubuntu.com>
2946
2947 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
2948 (File name syntax): Likewise.
2949 (help): --all is no longer supported in GRUB 2. Be more precise
2950 about pattern matching.
2951
fb55c3ac
CW
29522010-06-07 Colin Watson <cjwatson@ubuntu.com>
2953
2954 * normal/completion.c (grub_normal_do_completion): When completing
2955 arguments to "set" and the current word contains an equals sign,
2956 skip to after the equals sign before starting completion.
2957
258c2573
CW
29582010-06-07 Colin Watson <cjwatson@ubuntu.com>
2959
2960 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2961
ee75515e
CW
29622010-06-07 Colin Watson <cjwatson@ubuntu.com>
2963
2964 * docs/grub.texi (Network): New section.
2965 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
2966 `(nd)' as in GRUB Legacy.
2967 (pxe_unload): New section.
2968
a6a700aa
CW
29692010-06-07 Colin Watson <cjwatson@ubuntu.com>
2970
2971 * docs/grub.texi (Troubleshooting): `echo' is not usually available
2972 in the rescue shell, so recommend using `set' instead. Thanks,
2973 Jordan Uggla.
2974
4003dd38
CW
29752010-06-07 Colin Watson <cjwatson@ubuntu.com>
2976
2977 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
2978 (password): New section.
2979 (password_pbkdf2): New section.
2980 (search): New section.
2981 (Security): New section.
2982 (Troubleshooting): New section, currently very incomplete.
2983 (Invoking grub-mkpasswd-pbkdf2): New section.
2984 (Internals): New section, currently very incomplete.
2985
e1cbcc40
CW
29862010-06-07 Colin Watson <cjwatson@ubuntu.com>
2987
2988 * util/grub.d/00_header.in: Add some more quoting (of
2989 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
2990 work again.
2991 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2992
db8fa1ad
CW
29932010-06-07 Colin Watson <cjwatson@ubuntu.com>
2994
2995 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
2996 to `count', fixing variable shadowing that broke the -c option.
2997
29982010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
2999
3000 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
3001 in case they contain spaces.
3002
f28a9212
CW
30032010-06-04 Colin Watson <cjwatson@ubuntu.com>
3004
3005 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
3006 "part_" to partmap module names, in line with grub-install.
3007 Reported by: Jindřich Makovička (Debian bug #584426).
3008
9cdfe32f
CW
30092010-06-04 Colin Watson <cjwatson@ubuntu.com>
3010
3011 * util/grub-mkimage.c: Make target-related error messages slightly
3012 more helpful; -O talks about "format". Explicitly point to the use
3013 of -O if no target is specified.
3014 Reported by: Didier Raboud (Debian bug #584415).
3015
795b593a
CW
30162010-06-03 Colin Watson <cjwatson@ubuntu.com>
3017
3018 * INSTALL: Document several build requirements for optional features
3019 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
3020
9d9b5833
GS
30212010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3022
3023 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
3024 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
3025 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
3026
0819fec8
CW
30272010-06-02 Colin Watson <cjwatson@ubuntu.com>
3028
3029 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
3030 Thanks to Jordan Uggla for spotting this.
3031
49396b4f
VS
30322010-06-02 Aleš Nesrsta <starous@volny.cz>
3033
3034 Finally make USB usable.
3035
3036 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
3037 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
3038 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
3039 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
3040 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
3041 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
3042 (GRUB_OHCI_FSMPS): Likewise.
3043 (GRUB_OHCI_PERIODIC_START): Likewise.
3044 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
3045 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
3046 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
3047 (GRUB_OHCI_SET_PORT_RESET): Likewise.
3048 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
3049 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
3050 (grub_ohci_transaction): Likewise.
3051 (grub_ohci_transfer): Improve condition detection algorithms.
3052 Handle toggle property. Program the transactions correctly.
3053 Improve error handling. Various important fixups.
3054 (grub_ohci_portstatus): Put register writes in right order.
3055 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
3056 (grub_uhci_transfer): Don't show "failed" message on success.
3057 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
3058 array.
3059 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
3060 determine its size.
3061 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
3062 before initialization is completed. Use IN direction for empty
3063 transfers. Use last_trans and compute toggle.
3064 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
3065 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
3066 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
3067 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
3068 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
3069 (grub_usb_device): Increase toggle to 256.
3070 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
3071 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
3072 GRUB_USBMS_SUBCLASS_SFF8070.
3073 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
3074 (grub_scsi_inquiry): New member page and alloc_length.
3075 (grub_scsi_request_sense): New structure.
3076 (grub_scsi_request_sense_data): Likewise.
3077 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
3078 control.
3079 * disk/scsi.c (grub_scsi_request_sense): New function.
3080 (grub_scsi_test_unit_ready): Likewise.
3081 (grub_scsi_inquiry): Fill new fields.
3082 (grub_scsi_read_capacity): Likewise.
3083 (grub_scsi_read10): Add request sense at the end.
3084 (grub_scsi_read12): Likewise.
3085 (grub_scsi_write10): Likewise.
3086 (grub_scsi_write12): Likewise.
3087 (grub_scsi_open): Add Test Unit Ready.
3088 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
3089 Support additional subclasses. Con't clear halt yet. Activate the
3090 proper config. Calculate LUNs correctly.
3091 (grub_usbms_transfer): Various important fixups.
3092
30932010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
3096 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
3097 (grub_ohci_fini_hw): New function.
3098 (grub_ohci_restore_hw): Likewise.
3099 (GRUB_MOD_INIT(ohci)): Register preboot hook.
3100 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
3101 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
3102
31032010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Dedicated DMA allocations.
3106
3107 * bus/pci.c (grub_memalign_dma32): New function
3108 (grub_dma_free): Likewise.
3109 (grub_dma_get_virt): Likewise.
3110 (grub_dma_get_phys): Likewise.
3111 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
3112 (grub_ohci_pci_iter): Use dma32_alloc.
3113 (grub_ohci_transfer): Likewise.
3114 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3115 (grub_usb_bulk_readwrite): Likewise.
3116 * include/grub/pci.h: Add declarations.
3117
31182010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 CS5536 support.
3121
3122 * bus/cs5536.c: New file.
3123 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
3124 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
3125 (cs5536_mod_SOURCES): New variable.
3126 (cs5536_mod_CFLAGS): Likewise.
3127 (cs5536_mod_LDFLAGS): Likewise.
3128 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
3129 machine/pci.h.
3130 (kernel_img_SOURCES): Add bus/cs5536.c.
3131 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
3132 usb_keyboard.mod.
3133 (usb_mod_SOURCES): New variable.
3134 (usb_mod_CFLAGS): New variable.
3135 (usb_mod_LDFLAGS): New variable.
3136 (usbtest_mod_SOURCES): New variable.
3137 (usbtest_mod_CFLAGS): New variable.
3138 (usbtest_mod_LDFLAGS): New variable.
3139 (ohci_mod_SOURCES): New variable.
3140 (ohci_mod_CFLAGS): New variable.
3141 (ohci_mod_LDFLAGS): New variable.
3142 (usbms_mod_SOURCES): New variable.
3143 (usbms_mod_CFLAGS): New variable.
3144 (usbms_mod_LDFLAGS): New variable.
3145 (usb_keyboard_mod_SOURCES): New variable.
3146 (usb_keyboard_mod_CFLAGS): New variable.
3147 (usb_keyboard_mod_LDFLAGS): New variable.
3148 * include/grub/smbus.h: New file.
3149 * include/grub/cs5536.h: New file.
3150
0b35b2a9
CW
31512010-06-02 Colin Watson <cjwatson@ubuntu.com>
3152
3153 * util/grub.d/00_header.in: Add safety check to make sure that
3154 ${locale_dir} exists before trying to probe it.
3155
ca0afd5b
CW
31562010-06-02 Colin Watson <cjwatson@ubuntu.com>
3157
3158 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
3159 per the GNU Coding Standards; this is now too obscure to be worth
3160 documenting.
3161 (QNX): Likewise.
3162 (chainloader): Remove cross-reference to `SCO UnixWare'.
3163
1c41aa78
CW
31642010-06-02 Colin Watson <cjwatson@ubuntu.com>
3165
3166 * docs/grub.texi (Chain-loading): New section.
3167 (DOS/Windows): New section, borrowed from GRUB Legacy with details
3168 adjusted for GRUB 2.
3169 (SCO UnixWare): Likewise.
3170 (QNX): Likewise.
3171 (chainloader): Add reference to `Block list syntax'.
3172 (drivemap): New section.
3173 (parttool): New section.
3174
bb8ea0f5
CW
31752010-06-02 Colin Watson <cjwatson@ubuntu.com>
3176
3177 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
3178 the grub shell'.
3179 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
3180 (Installing GRUB using grub-install): Remove reference to the grub
3181 shell; mention `grub-mkimage' and `grub-setup' instead.
3182 (Invoking grub-install): Likewise.
3183 (Interface): Add reference to `Menu entry editor'.
3184 (serial): Remove `--device' option.
3185
288dd6ed
CW
31862010-06-02 Colin Watson <cjwatson@ubuntu.com>
3187
3188 * docs/grub.texi (Configuration): New section, documenting
3189 configuration file generation using grub-mkconfig. I've left a slot
3190 for documenting the full shell scripting format but have not yet
3191 started on writing that up.
3192 (Invoking grub-mkconfig): New section.
3193
34c9f0e9
CW
31942010-06-02 Colin Watson <cjwatson@ubuntu.com>
3195
3196 * docs/grub.texi (direntry): Remove grub-terminfo reference.
3197 (GNU GRUB manual): Likewise.
3198 (General commands): Update description of `terminfo' for GRUB 2.
3199
9121567e
CW
32002010-06-02 Colin Watson <cjwatson@ubuntu.com>
3201
3202 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
3203 (GRUB_MOD_INIT): Fix capitalisation.
3204 * docs/grub.texi (Command-line and menu entry commands): Document
3205 gettext and gptsync commands.
3206
ab631611
CW
32072010-06-02 Colin Watson <cjwatson@ubuntu.com>
3208
3209 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
3210 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
3211
bde4a9ac
CW
32122010-06-01 Colin Watson <cjwatson@ubuntu.com>
3213
3214 Add btrfs probing support, currently only in the single-device case.
3215
3216 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
3217 function.
3218 (grub_guess_root_device): Call find_root_device_from_mountinfo
3219 before looking in /dev.
3220
b1d17e10
VS
32212010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
3224 GRUB_DISK_SIZE_UNKNOWN.
3225 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
3226
dfbfe004
JS
32272010-05-31 Jiro SEKIBA <jir@unicus.jp>
3228
3229 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
3230 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
3231 corrupted or not synced properly.
3232
c2ffc8e9
VS
32332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
3236 Reported by: Seth Goldberg.
3237
56293166
VS
32382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
3241 addition of dest.
3242 Reported by: Seth Goldberg.
3243
7620e7de
VS
32442010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
3247 Reported by: Seth Goldberg.
3248
c837af3f
VS
32492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
3252 64-bit address as signed on MIPS.
3253
c7c75cf4
CW
32542010-05-28 Colin Watson <cjwatson@ubuntu.com>
3255
3256 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
3257 to the empty string.
3258
fa4b8490
BC
32592010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
3260
3261 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
3262
3263 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
3264 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
3265 * kern/misc.c (__enable_execute_stack): Disable on
3266 GRUB_MACHINE_EMU.
3267
a33075b9
CW
32682010-05-28 Colin Watson <cjwatson@ubuntu.com>
3269
3270 Make grub-probe work with symbolic links under /dev/mapper as well
3271 as with real block devices. The Linux world seems to be (at best)
3272 in transition here, and GRUB shouldn't get caught in the middle.
3273
3274 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
3275 /dev/mapper.
3276
d8708134
CW
32772010-05-27 Colin Watson <cjwatson@ubuntu.com>
3278
3279 * util/grub-script-check.c (main): Ensure defined behaviour on empty
3280 input files (in which case exit zero).
3281
db2102a0
CW
32822010-05-27 Colin Watson <cjwatson@ubuntu.com>
3283
3284 * kern/emu/misc.c (canonicalize_file_name): realpath can still
3285 return NULL for various reasons even if it has a maximum-length
3286 buffer: for example, there might be a symlink loop, or the path
3287 might exceed PATH_MAX. If this happens, return NULL.
3288
5fdba519
RM
32892010-05-27 Robert Millan <rmh@gnu.org>
3290
3291 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
3292 partmap module to handle cross-partmap setups.
3293 Reported by Orestes Mas. Gràcies!
3294
d1d368e4
CW
32952010-05-27 Colin Watson <cjwatson@ubuntu.com>
3296
3297 * util/grub-mkrescue.in: Initialise override_dir rather than
3298 assuming that it's unset or empty in the environment.
3299
95ac3c73
GS
33002010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3301
3302 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
3303 variable index into p_index to suppress a warning with -Wshadow.
3304
7d8c0213
BC
33052010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
3306
3307 * INSTALL: Added flex >= 2.5.35 requirement.
3308
db4d5813
VS
33092010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
3312
f24f4300
VS
33132010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 cmostest support.
3316
3317 * commands/i386/cmostest.c: New file.
3318 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
3319 (cmostest_mod_SOURCES): New variable.
3320 (cmostest_mod_CFLAGS): Likewise.
3321 (cmostest_mod_LDFLAGS): Likewise.
3322 * conf/i386-pc.rmk: Likewise.
3323 * docs/grub.texi (Vendor power-on keys): New section.
3324 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
3325 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
3326 and GRUB_BUTTON_CMOS_ADDRESS.
3327 * util/grub.d/00_header.in: Handle powering-on by separate button.
3328
ad603f61
VS
33292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
3332 Removed drawing_scrollbar argument. All users updated
3333 Fixes #29792.
3334 Reported by Jo Shields
3335
3ecb080a
VS
33362010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
3339 buffer since gfxterm handles double repaint.
3340
5f2316c1
VS
33412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
3344 * term/gfxterm.c (real_scroll): Likewise.
3345
9a25f885
VS
33462010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
3349 before calling BIOS.
3350
39fbb79a
VS
33512010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * include/grub/i18n.h: Always enable grub_gettext.
3354
228cfa97
VS
33552010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
3358 partition naming style.
3359
21717c8f
CW
33602010-05-21 Colin Watson <cjwatson@ubuntu.com>
3361
3362 * util/grub-mkconfig.in: Fix handling of -o so that it works when
3363 not the first option.
3364
c0f48e65
CW
33652010-05-20 Colin Watson <cjwatson@ubuntu.com>
3366
3367 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
3368
96779aec
CW
33692010-05-20 Colin Watson <cjwatson@ubuntu.com>
3370
3371 * util/misc.c: Move inclusion of <limits.h> to ...
3372 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
3373
fa9d256e
GS
33742010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3375
3376 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
3377 Fix merge error in NetBSD code.
3378 (find_partition_start) [__NetBSD__]: Likewise.
3379
123b7a85
BC
33802010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
3381
3382 Fix grub-mkrescue usage unit testing.
3383
3384 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
3385
74276c0d
CF
33862010-05-18 Christian Franke <franke@computer.org>
3387
3388 * util/grub.d/10_windows.in: Use path names instead of
3389 drive letters to prevent warning from Cygwin 1.7.
3390 Add drivemap command to menuentry if needed.
3391
c4f7b523
ST
33922010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
3393
3394 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
3395 gnumach and gnumach.gz.
3396
95b97950
VS
33972010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * include/grub/i18n.h (gettext): Inline instead of using #define.
3400 (grub_gettext): Likewise.
3401 (_): Likewise.
3402
01b8d2d7
VS
34032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
3406 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
3407 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
3408 (main): Add a slash after pkglibdirroot.
3409
654e1d1e
VS
34102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * util/grub-install.in: Add missing "in" keyword.
3413
26966aeb
VS
34142010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
3417 Reported by: Seth Goldberg.
3418
75006747
VS
34192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
3422
74cbf5bd
CW
34232010-05-18 Colin Watson <cjwatson@ubuntu.com>
3424
3425 * configure.ac: Check for Linux device-mapper support.
3426
3427 * util/hostdisk.c (device_is_mapped): New function.
3428 (find_partition_start): New function, partly broken out from
3429 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
3430 device-mapper support added.
3431 (linux_find_partition): Use find_partition_start.
3432 (convert_system_partition_to_system_disk): Add `st' argument.
3433 Support Linux /dev/mapper/* devices if device-mapper support is
3434 available; only DM-RAID devices are understood at present.
3435 (find_system_device): Add `st' argument. Pass it to
3436 convert_system_partition_to_system_disk.
3437 (grub_util_biosdisk_get_grub_dev): Pass stat result to
3438 find_system_device and convert_system_partition_to_system_disk. Use
3439 find_partition_start.
3440
3441 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
3442 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
3443 * util/deviceiter.c [__linux__]: Define MINOR.
3444 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
3445 * util/mkdevicemap.c (grub_putchar): New function.
3446 (grub_getkey): New function.
3447 (grub_refresh): New function.
3448 (main): Set debug=all if -v -v is used.
3449
355b51e9
CW
34502010-05-18 Colin Watson <cjwatson@ubuntu.com>
3451
3452 Fix build with non-GNU libcs.
3453
3454 * util/misc.c (canonicalize_file_name): Move to ...
3455 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
3456 grub_make_system_path_relative_to_its_root.
3457
7fb5c25f
CW
34582010-05-18 Colin Watson <cjwatson@ubuntu.com>
3459
3460 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
3461 we handle finding grub-mkimage. Default to finding grub-mkimage in
3462 ${bindir} with program_transform_name applied, and provide a
3463 --grub-mkimage option to override this.
3464
1d3293d6
VS
34652010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Remove grub-mkisofs.
3468
3469 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
3470 (grub_mkisofs_SOURCES): Removed.
3471 (grub_mkisofs_CFLAGS): Removed.
3472 * util/mkisofs/defaults.h: Removed.
3473 * util/mkisofs/eltorito.c: Likewise.
3474 * util/mkisofs/exclude.h: Likewise.
3475 * util/mkisofs/hash.c: Likewise.
3476 * util/mkisofs/include/: Likewise.
3477 * util/mkisofs/include/fctldefs.h: Likewise.
3478 * util/mkisofs/include/mconfig.h: Likewise.
3479 * util/mkisofs/include/prototyp.h: Likewise.
3480 * util/mkisofs/include/statdefs.h: Likewise.
3481 * util/mkisofs/iso9660.h: Likewise.
3482 * util/mkisofs/joliet.c: Likewise.
3483 * util/mkisofs/match.c: Likewise.
3484 * util/mkisofs/match.h: Likewise.
3485 * util/mkisofs/mkisofs.c: Likewise.
3486 * util/mkisofs/mkisofs.h: Likewise.
3487 * util/mkisofs/msdos_partition.h: Likewise.
3488 * util/mkisofs/multi.c: Likewise.
3489 * util/mkisofs/name.c: Likewise.
3490 * util/mkisofs/rock.c: Likewise.
3491 * util/mkisofs/tree.c: Likewise.
3492 * util/mkisofs/write.c: Likewise.
3493
5dde9afe
VS
34942010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 Unify grub-mkimage accross platforms.
3497
3498 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
3499 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
3500 (grub_mkelfimage_SOURCES): Removed.
3501 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
3502 (util/grub-mkimage.c_DEPENDENCIES): .. this.
3503 (bin_UTILITIES): Add grub-mkimage.
3504 (grub_mkimage_SOURCES): New variable.
3505 (kernel_img_HEADERS): Remove machine/kernel.h.
3506 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
3507 (pkglib_PROGRAMS): Add kernel.img.
3508 (kernel_img_HEADERS): Add machine/kernel.h.
3509 (kernel_img_FORMAT): Removed.
3510 (bin_UTILITIES): Remove grub-mkimage.
3511 (grub_mkimage_SOURCES): Removed.
3512 (grub_mkimage_CFLAGS): Likewise.
3513 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3514 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
3515 (pkglib_PROGRAMS): Add kernel.img.
3516 (bin_UTILITIES): Remove grub-mkimage.
3517 (grub_mkimage_SOURCES): Removed.
3518 (grub_mkimage_CFLAGS): Likewise.
3519 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3520 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
3521 (pkglib_PROGRAMS): Add kernel.img.
3522 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
3523 (pkglib_PROGRAMS): Add kernel.img.
3524 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
3525 (grub_mkimage_SOURCES): Removed.
3526 (grub_mkimage_CFLAGS): Likewise.
3527 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3528 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
3529 (pkglib_PROGRAMS): Add kernel.img.
3530 (bin_UTILITIES): Remove grub-mkimage.
3531 (grub_mkimage_SOURCES): Removed.
3532 (grub_mkimage_CFLAGS): Likewise.
3533 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3534 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
3535 (grub_mkimage_SOURCES): Removed.
3536 (grub_mkimage_CFLAGS): Likewise.
3537 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
3538 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
3539 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
3540 (grub_pe32_optional_header): ... this.
3541 (grub_pe64_optional_header): ... and this. All users updated.
3542 (GRUB_PE32_PE32_MAGIC): Split into ..
3543 (GRUB_PE32_PE32_MAGIC): .. this.
3544 (GRUB_PE32_PE64_MAGIC): .. and this.
3545 (GRUB_PE32_SIGNATURE_SIZE): New definition.
3546 * include/grub/elf.h (PT_GNU_STACK): New definition.
3547 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
3548 * include/grub/i386/efi/kernel.h: Likewise.
3549 * include/grub/i386/kernel.h: Likewise.
3550 * include/grub/i386/pc/kernel.h: Likewise.
3551 * include/grub/i386/qemu/boot.h: Likewise.
3552 * include/grub/mips/kernel.h: Likewise.
3553 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3554 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
3555 * include/grub/powerpc/kernel.h: Likewise.
3556 * include/grub/sparc64/ieee1275/boot.h: Likewise.
3557 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
3558 * include/grub/sparc64/kernel.h: Likewise.
3559 * include/grub/x86_64/efi/kernel.h: Likewise.
3560 * include/grub/x86_64/kernel.h: Likewise.
3561 * include/grub/offsets.h: New file.
3562 * include/grub/kernel.h (grub_module_info): Split into ...
3563 (grub_module_info32): ... this.
3564 (grub_module_info64): ... and this.
3565 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
3566 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
3567 (grub_boot_blocklist): Moved from here ...
3568 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
3569 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
3570 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
3571 * include/grub/types.h (grub_target_to_host16): Removed.
3572 (grub_target_to_host32): Likewise.
3573 (grub_target_to_host64): Likewise.
3574 (grub_host_to_target16): Likewise.
3575 (grub_host_to_target32): Likewise.
3576 (grub_host_to_target64): Likewise.
3577 (grub_host_to_target_addr): Likewise.
3578
3579 Support grub-mkrescue for efi, coreboot and qemu.
3580
3581 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
3582 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
3583 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
3584 * util/grub-mkrawimage.c: Moved from here ...
3585 * util/grub-mkimage.c: ... here. All users updated.
3586 (ALIGN_ADDR): Use image_target.
3587 (TARGET_NO_FIELD): New const.
3588 (image_target_desc): New type.
3589 (image_targets): New array.
3590 (grub_target_to_host64): Use image_target.
3591 (grub_target_to_host32): Likewise.
3592 (grub_target_to_host16): Likewise.
3593 (grub_host_to_target64): Likewise.
3594 (grub_host_to_target32): Likewise.
3595 (grub_host_to_target16): Likewise.
3596 (grub_host_to_target_addr): Likewise.
3597 (generate_image): Handle multiimage.
3598 (main): Require -O parameter. All users updated.
3599 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
3600 util/efi/grub-mkimage.c
3601 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
3602 New option --rom-directory.
3603 Use xorriso.
3604 * util/i386/efi/grub-mkimage.c: Removed.
3605 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
3606 (grub_target_to_host32): Likewise.
3607 (grub_target_to_host64): Likewise.
3608 (grub_host_to_target16): Likewise.
3609 (grub_host_to_target32): Likewise.
3610 (grub_host_to_target64): Likewise.
3611 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
3612 (grub_target_to_host32): Likewise.
3613 (grub_target_to_host64): Likewise.
3614 (grub_host_to_target16): Likewise.
3615 (grub_host_to_target32): Likewise.
3616 (grub_host_to_target64): Likewise.
3617
f4fc97d0
BC
36182010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
3619
3620 Source tree is reorganized for emu build.
3621
3622 * include/grub/util/console.h: Move from here...
3623 * include/grub/emu/console.h: ...to here.
3624 * include/grub/util/getroot.h: Move from here...
3625 * include/grub/emu/getroot.h: ...to here.
3626 * include/grub/util/hostdisk.h: Move from here...
3627 * include/grub/emu/hostdisk.h: ...to here.
3628 * util/console.c: Move from here...
3629 * kern/emu/console.c: ...to here.
3630 * util/getroot.c: Move from here...
3631 * kern/emu/getroot.c: ...to here.
3632 * util/grub-emu.c: Move from here...
3633 * kern/emu/main.c: ...to here.
3634 * util/hostdisk.c: Move from here...
3635 * kern/emu/hostdisk.c: ...to here.
3636 * util/hostfs.c: Move from here...
3637 * kern/emu/hostfs.c: ...to here.
3638 * util/mm.c: Move from here...
3639 * kern/emu/mm.c: ...to here.
3640 * util/pci.c: Move from here...
3641 * bus/emu/pci.c: ...to here.
3642 * util/sdl.c: Move from here...
3643 * video/emu/sdl.c: ...to here.
3644 * util/time.c: Move from here...
3645 * kern/emu/time.c: ...to here.
3646 * util/usb.c: Move from here...
3647 * bus/usb/emu/usb.c: ...to here.
3648
3649 * include/grub/emu/misc.h: New header for grub-emu functions.
3650 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
3651
3652 * conf/any-emu.rmk: Rule updates for above renames.
3653 * conf/common.rmk: Likewise.
3654 * conf/i386-pc.rmk: Likewise.
3655 * conf/i386-qemu.rmk: Likewise.
3656 * conf/mips.rmk: Likewise.
3657 * conf/sparc64-ieee1275.rmk: Likewise.
3658 * conf/x86-efi.rmk: Likewise.
3659
3660 * disk/lvm.h: #include updates for above renames.
3661 * util/grub-mkrelpath.c: Likewise.
3662 * util/grub-probe.c: Likewise.
3663 * util/i386/pc/grub-setup.c: Likewise.
3664 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3665 * kern/emu/console.c: Likewise.
3666 * kern/emu/getroot.c: Likewise.
3667 * kern/emu/hostdisk.c: Likewise.
3668 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
3669
3670 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
3671 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
3672 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
3673 * util/misc.c: Remove grub-emu functions.
3674
cced9145
VS
36752010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Fix gfxmenu crash.
3678 Reported by: Thorsten Grützmacher.
3679
3680 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
3681 timeout hook.
3682 (circprog_set_property): Register and unregister timeout hook.
3683 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
3684 (label_destroy): Free template. and unregister hook.
3685 (label_set_state): New function.
3686 (label_set_property): Handle templates and hooks.
3687 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
3688 timeout hook.
3689 (progress_bar_set_property): Register and unregister timeout hook.
3690 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
3691 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
3692 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
3693 (update_timeout_visit): Removed.
3694 (update_timeouts): New function.
3695 (redraw_timeouts): Likewise.
3696 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
3697 (grub_gfxmenu_clear_timeout): Likewise.
3698 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
3699 (grub_gfxmenu_timeout_notify): Likewise.
3700 (grub_gfxmenu_timeout_notifications): New external variable.
3701 (grub_gfxmenu_timeout_register): New function.
3702 (grub_gfxmenu_timeout_unregister): Likewise.
3703
c6e5caab
VS
37042010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 Transform (broken) vga terminal into (working) vga video driver.
3707
3708 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
3709 video/i386/pc/vga.c.
3710 * include/grub/video.h (grub_video_driver_id):
3711 Add GRUB_VIDEO_DRIVER_VGA.
3712 * term/i386/pc/vga.c: Renamed to ...
3713 * video/i386/pc/vga.c: ...this
3714 (DEBUG_VGA): Removed.
3715 (CHAR_WIDTH): Likewise.
3716 (CHAR_HEIGHT): Likewise.
3717 (TEXT_WIDTH): Likewise.
3718 (TEXT_HEIGHT): Likewise.
3719 (DEFAULT_FG_COLOR): Likewise.
3720 (DEFAULT_BG_COLOR): Likewise.
3721 (colored_char): Likewise.
3722 (xpos): Likewise.
3723 (ypos): Likewise.
3724 (cursor_state): Likewise.
3725 (fg_color): Likewise.
3726 (bg_color): Likewise.
3727 (text_buf): Likewise.
3728 (page): Likewise.
3729 (font): Likewise.
3730 (framebuffer): New variable.
3731 (set_read_map): Disabled.
3732 (setup): New variable.
3733 (is_target): Likewise.
3734 (grub_vga_mod_init): Likewise.
3735 (grub_vga_mod_fini): Likewise.
3736 (check_vga_mem): Likewise.
3737 (write_char): Likewise.
3738 (write_cursor): Likewise.
3739 (scroll_up): Likewise.
3740 (grub_vga_putchar): Likewise.
3741 (grub_vga_getcharwidth): Likewise.
3742 (grub_vga_getwh): Likewise.
3743 (grub_vga_getxy): Likewise.
3744 (grub_vga_gotoxy): Likewise.
3745 (grub_vga_cls): Likewise.
3746 (grub_vga_setcolorstate): Likewise.
3747 (grub_vga_setcursor): Likewise.
3748 (grub_video_vga_init): New function.
3749 (grub_video_vga_setup): Likewise.
3750 (grub_video_vga_fini): Likewise.
3751 (update_target): Likewise.
3752 (grub_video_vga_blit_bitmap): Likewise.
3753 (grub_video_vga_blit_render_target): Likewise.
3754 (grub_video_vga_set_active_render_target): Likewise.
3755 (grub_video_vga_get_active_render_target): Likewise.
3756 (grub_video_vga_swap_buffers): Likewise.
3757 (grub_video_vga_set_palette): Likewise.
3758 (grub_video_vga_get_info_and_fini): Likewise.
3759 (grub_vga_term): Removed.
3760 (grub_video_vga_adapter): New variable.
3761 (GRUB_MOD_INIT): Register a video driver instead of terminal.
3762 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
3763
2bf61a98
VS
37642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * video/readers/jpeg.c: Indented.
3767
09ddcd11
VS
37682010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Various jpeg cleanups.
3771
3772 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
3773 (grub_jpeg_decode_quan_table): Use sizeof.
3774 (grub_jpeg_decode_du): Use ARRAY_SIZE.
3775
e5507505
PH
37762010-05-05 Peter Hurley <No e-mail available> (tiny change)
3777
3778 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
3779 tables. Ignore non-last ac bit.
3780 (grub_jpeg_decode_quan_table): Likewise.
3781
7e720a9b
VS
37822010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3785 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
3786 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3787 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
3788 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
3789 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
3790
a7fc080b
VS
37912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
3794 error.
3795
2bf6012d
VS
37962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
3799
265d68cd
VS
38002010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
3803 condition.
3804
38052010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
3806
3807 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
3808 part.
3809
265d68cd 38102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
3811
3812 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
3813 pointers.
3814
265d68cd 38152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
3816
3817 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
3818
d1b61374
CF
38192010-05-01 Christian Franke <franke@computer.org>
3820
3821 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
3822 Remove broken Cygwin path conversion.
3823 * util/misc.c: [__CYGWIN__] Add include and define.
3824 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
3825 for Cygwin 1.7.
3826 (make_system_path_relative_to_its_root): Simplify loop, replace early
3827 return by break.
3828 [__CYGWIN__] Add conversion to win32 path.
3829 Include "/" case in trailing slash removal.
3830
3558c6e9
VS
38312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * kern/main.c (grub_load_config): Fix copy-pasted comment.
3834 Reported by: Seth Goldberg
3835
f5f3ff93
VS
38362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * commands/help.c (grub_cmd_help): Fix a typo.
3839 Reported by: Seth Goldberg
3840
d8b5cd40
VS
38412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
3844 name and add N_.
3845 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
3846 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
3847 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
3848 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
3849 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
3850 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
3851 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3852 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3853 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3854 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3855 * normal/context.c (GRUB_MOD_INIT): Likewise.
3856 * normal/main.c (GRUB_MOD_INIT): Likewise.
3857 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3858 * term/serial.c (GRUB_MOD_INIT): Likewise.
3859 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3860
88c14915
VS
38612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
3864 extra == 0.
3865
165134bc
VS
38662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * commands/iorw.c: New file.
3869 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
3870 (iorw_mod_SOURCES): New variable.
3871 (iorw_mod_CFLAGS): Likewise.
3872 (iorw_mod_LDFLAGS): Likewise.
3873
c5ac9b32
VS
38742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Hotkey support
3877
3878 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
3879 * normal/main.c (hotkey_aliases): New variable.
3880 (grub_normal_add_menu_entry): Parse "--hotkey".
3881 * normal/menu_text.c (run_menu): Handle hotkeys.
3882
ce60689c
VS
38832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * kern/i386/coreboot/init.c (grub_machine_init): Call
3886 grub_machine_mmap_init on qemu.
3887
0359d006
VS
38882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * boot/i386/qemu/boot.S: Add a missing .code16.
3891
7819a456
VS
38922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 Use LBIO on coreboot.
3895
3896 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
3897 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
3898 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
3899 New declaration.
3900 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
3901 grub_machine_mmap_init on coreboot.
3902 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
3903 GRUB_LINUXBIOS_MEMBER_LINK.
3904 (grub_machine_mmap_iterate): Fix declaration.
3905 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
3906
7210dca9
VS
39072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Split coreboot and multiboot ports.
3910
3911 * conf/i386-multiboot.rmk: New file.
3912 * configure.ac: Add multiboot port.
3913 * include/grub/i386/multiboot/boot.h: New file.
3914 * include/grub/i386/multiboot/console.h: Likewise.
3915 * include/grub/i386/multiboot/init.h: Likewise.
3916 * include/grub/i386/multiboot/kernel.h: Likewise.
3917 * include/grub/i386/multiboot/loader.h: Likewise.
3918 * include/grub/i386/multiboot/memory.h: Likewise.
3919 * include/grub/i386/multiboot/serial.h: Likewise.
3920 * include/grub/i386/multiboot/time.h: Likewise.
3921 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
3922 * loader/multiboot.c: Likewise.
3923 * loader/multiboot_mbi2.c: Likewise.
3924 * util/grub-mkrescue.in: Generate multiboot rescue.
3925
6f8aaf68
VS
39262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3927
3080f7a7
VS
3928 * kern/parser.c (grub_parser_execute): Cope with read-only config.
3929
39302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
3933
3934 * commands/terminal.c (abstract_terminal): New struct.
3935 (handle_command): New function. Based on grub_cmd_terminal_input.
3936 (grub_cmd_terminal_input): Use handle_command.
3937 (grub_cmd_terminal_output): Use handle_command.
3938
a8ebb841
BC
39392010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
3940
3941 Fix comment handling.
3942
3943 * tests/grub_script_comments.in: New testcase.
3944 * conf/tests.rmk: Rules for new testcase.
3945 * script/yylex.l: Updated flex rules.
3946
bb06ba08
ST
39472010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
3948
3949 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
3950 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
3951 if argc is 1.
bb06ba08 3952
cc9d2425
VS
39532010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
3956 autogen issues.
3957
460d8402
CF
39582010-04-26 Christian Franke <franke@computer.org>
3959
3960 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
3961 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
3962 (grub_get_prefix): Remove function.
3963 * util/grub-emu.c (main): Replace grub_get_prefix () call by
3964 make_system_path_relative_to_its_root ().
3965 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3966
553c01f9
CF
39672010-04-24 Christian Franke <franke@computer.org>
3968
3969 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
3970 (kernel_img_LDFLAGS): Remove -static-libgcc.
3971
2aec1692
CF
39722010-04-24 Christian Franke <franke@computer.org>
3973
3974 * configure.ac: Do not CHECK_BSS_START_SYMBOL
3975 and CHECK_END_SYMBOL if grub-emu is built.
3976 Unset TARGET_OBJ2ELF if grub-emu is built
3977 without module support.
3978
f67dc308
JS
39792010-04-24 Jiro SEKIBA <jir@unicus.jp>
3980
3981 Nilfs2 support.
3982
3983 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
3984 (grub_fstest_SOURCES): Likewise.
3985 (pkglib_MODULES): Add nilfs2.mod.
3986 (nilfs2_mod_SOURCES): New variable.
3987 (nilfs2_mod_CFLAGS): Likewise.
3988 (nilfs2_mod_LDFLAGS): Likewise.
3989 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3990 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
3991 * fs/nilfs2.c: New file.
3992
4ba8d354
VS
39932010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
3996 is not supported.
3997
0d2c20c6
GS
39982010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
3999
4000 Add grub-mkconfig support for NetBSD.
4001
4002 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
4003 * util/grub-mkconfig.in: export new NetBSD specific variables.
4004 * po/POTFILES-shell: added 10_netbsd.in.
4005 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
4006
bc4a2d83
BC
40072010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
4008
4009 Fix emu build with grub-emu-pci and grub-emu-modules.
4010
4011 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
4012 functions.
4013 * include/grub/libpciaccess.h: New file.
4014 * conf/any-emu.rmk: Update kernel headers for emu build.
4015
f48c87aa
VS
40162010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
4019
18959385
VS
40202010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
4023
0037de3f
VS
40242010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
4027 Retrieve chosen/bootpath if bootpath isn't hardcoded.
4028 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
4029 util/ieee1275/ofpath.c.
4030 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
4031 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
4032 * include/grub/sparc64/ieee1275/boot.h
4033 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
4034 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
4035 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
4036 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
4037 const char *.
4038 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
4039 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
4040 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
4041 install.
4042
38e55e90
GS
40432010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4044
4045 * util/grub-mkconfig.in: Corrected two == equality tests.
4046 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
4047 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
4048 expect a number appended to it.
4049 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
4050 expects a number appended to it.
4051
a9e6ff28
VS
40522010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
4055
0b830b8f
VS
40562010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * util/hostdisk.c (make_device_name): Change to new partition naming.
4059
0973daeb
VS
40602010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
4063
460d8402 40642010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
4065
4066 * Makefile.in: Add missing localedir setting.
4067
0b456309
CW
40682010-04-14 Colin Watson <cjwatson@ubuntu.com>
4069
4070 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
4071 mistake in r2156. Noticed by Anthony Fok.
4072
4073 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
4074 @localedir@.
4075 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4076
08f46d62
BC
40772010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
4078
4079 Fix a spurious, uninitialized variable warning.
4080
4081 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
4082 Initialize variable, shdr.
4083 (grub_freebsd_load_elfmodule): Likewise.
4084 (grub_freebsd_load_elf_meta): Likewise.
4085
8c4a72d4
BC
40862010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
4087
4088 Fix for escaped dollar in double quoted strings.
4089
4090 * script/yylex.l: Updated flex rules.
4091 * conf/tests.rmk: Rule for new testcase.
4092 * tests/grub_script_dollar.in: New testcase.
4093
ce44826e
CPE
40942010-04-13 Carles Pina i Estany <carles@pina.cat>
40952010-04-13 Colin Watson <cjwatson@ubuntu.com>
4096
4097 Enclose all translated strings in grub.cfg in single quotes, and
4098 escape them appropriately (Ubuntu bug #552921).
4099
4100 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
4101 * util/grub.d/10_hurd.in: Use it.
4102 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4103 * util/grub.d/10_linux.in (linux_entry): Likewise.
4104
4b0cd8f8
VS
41052010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Fix cygwin compilation.
4108
4109 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
4110 * include/grub/misc.h (__register_frame_info)
4111 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
4112 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4113 * kern/misc.c (__register_frame_info)
4114 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
4115 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4116
01fcf061
VS
41172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
4120
5d04b11e
VS
41212010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Unify libgcc processing.
4124
4125 * Makefile.in (kernel_img_LDFLAGS): New variable.
4126 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
4127 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
4128 overwriting.
4129 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
4130 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
4131 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
4132 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
4133 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
4134 overwriting. Remove -lgcc and -static-libgcc
4135 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
4136 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4137 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4138 (kernel_img_LDFLAGS): Append instead of overwriting.
4139 Remove -lgcc and -static-libgcc
4140 * conf/sparc64-ieee1275.rmk: Likewise.
4141 * include/grub/powerpc/libgcc.h: Move to ...
4142 * include/grub/libgcc.h: .. this.
4143 * include/grub/libgcc.h: Don't export most of the function on x86.
4144 (__bswapsi2): New export.
4145 (__bswapdi2): Likewise.
4146 * include/grub/mips/libgcc.h: Removed.
4147 * include/grub/sparc64/libgcc.h: Likewise.
4148
b7f3ac29
VS
41492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
4152 disk_info_msg (conflicts with gettexting into languages with cases).
4153
2c7031b1
GS
41542010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4155
4156 Add grub-probe support for NetBSD.
4157
4158 * util/getroot.c (find_root_device): Convert block device to
4159 character device on NetBSD.
4160 * util/probe.c (probe): Require character device on NetBSD.
4161 * util/hostdisk.c: NetBSD specific headers.
4162 (configure_device_driver): new function to tune device driver
4163 parameters (currently only for NetBSD floppy driver).
4164 (grub_util_biosdisk_open): NetBSD specific code (get disk size
4165 via disklabel ioctl).
4166 (open_device): call configure_device_driver on NetBSD.
4167 (convert_system_partition_to_system_disk): NetBSD specific code.
4168 (device_is_wholedisk): Likewise.
4169 (grub_util_biosdisk_get_grub_dev): Likewise.
4170 (make_device_name): Fixed a typo in bsd_part_str.
4171 * configure.ac: check for opendisk() and getrawpartition() on
4172 NetBSD and set LIBUTIL.
4173 * Makefile.in: add LIBUTIL to LIBS.
4174
f516290c
BC
41752010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4176
4177 Documentation fix.
4178
4179 * util/grub-script-check.c: Better help message.
4180
d8dcc0df
BC
41812010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4182
4183 Fix FreeBSD build.
4184
4185 * configure.ac: Flex version check.
4186 * conf/common.rmk: Add -Wno-error to sh.mod.
4187 * script/yylex.l: Remove all #pragma.
4188
6734334a
VS
41892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * include/grub/util/misc.h (canonicalise_file_name): Add missing
4192 prototype.
4193 Reported by: Seth Goldberg.
4194
daea6abd
VS
41952010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
4198 Rename "module" to "module2".
4199 Reported by: Seth Goldberg.
4200
f2fd9d2b
VS
42012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
4204 EXPORT_FUNC.
4205 Reported by: Seth Goldberg.
4206
be124579
VS
42072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * lib/posix_wrap/locale.h: Add missing file.
4210 Reported by: Seth Goldberg.
4211
ef5da797
VS
42122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 grub-emu module load support.
4215
4216 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
4217 NO_DYNAMIC_MODULES switched to this.
4218 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
4219 (CFLAGS): Likewise.
4220 * conf/any-emu.rmk: Generate symlist.
4221 (kernel_img_HEADERS): Add util/datetime.h.
4222 (kernel_img_HEADERS) [sdl]: Add sdl.h.
4223 (kernel_img_HEADERS) [libusb]: Add libusb.h.
4224 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
4225 kern/$(target_cpu)/cache.S.
4226 * configure.ac (grub-emu-modules): New option.
4227 * genmk.rb: Handle multiple source lists.
4228 * include/grub/sdl.h: New file.
4229 * include/grub/libusb.h: Likewise.
4230 * util/grub-emu.c (main): Hanle (host) root.
4231 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
4232 GRUB_ERR_UNKNOWN_DEVICE.
4233 * util/misc.c: Move mm functions to ...
4234 * util/mm.c: ... here. All users updated.
4235
47822096
VS
42362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
4239 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
4240 missing files.
4241 (maintainer-clean): Remove libgcrypt-grub.
4242
5d7e7445
VS
42432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
4246
25f4e252
EC
42472010-04-09 EFI Coder <eficoder@hotmail.com>
4248
4249 * normal/menu_text.c (print_message): Clean up the message and show
4250 the Fn information when on EFI
4251 * term/efi/console.c (grub_console_checkkey): Add F4 support.
4252
027de555
VS
42532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
4256 All users updated.
4257 * normal/crypto.c (read_crypto_list): Likewise.
4258 * normal/dyncmd.c (read_command_list): Likewise.
4259 * normal/term.c (read_terminal_list): Likewise.
4260 * normal/main.c (read_lists): Use explicit prefix.
4261 (read_lists_hook): Use read_lists.
4262 (grub_normal_execute): Likewise.
4263
47779711
VS
42642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
4267 Reported by: Thomas Schmitt.
4268 Add -no-emul-boot to grub-mkisofs parameters.
4269
1118c32e
VS
42702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * font/font.c: Indented.
4273
7d652447
BC
42742010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
4275
4276 Elif support to GRUB script (by Deepak Vankadaru).
4277
4278 * tests/grub_script_if.in: New testcase.
4279 * conf/tests.rmk: Rule for new testcase.
4280 * script/parser.y: Grammar rules for elif.
4281
34bb22df
BC
42822010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
4283
4284 While and until loops support to GRUB script.
4285
4286 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
4287 (grub_script_create_cmdwhile): New function prototype.
4288 (grub_script_execute_cmdwhile): New function prototype.
4289 * script/execute.c (grub_script_execute_cmdwhile): New function.
4290 * script/parser.y (command): New commands.
4291 (whilecmd): New grammar rule.
4292 (untilcmd): New grammar rule.
4293 * script/script.c (grub_script_create_cmdwhile): New function.
4294 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
4295 function.
4296
4297 * tests/grub_script_while1.in: New testcase.
4298 * conf/tests.rmk: Rule for new testcase.
4299
e215d8e0
VS
43002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
4303 as *.jpg.
4304
d7c43ba1
MV
43052010-04-09 Mario Vazquez <mariovazq@gmail.com>
4306
4307 GRUB_BACKGROUND support.
4308
4309 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
4310 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
4311
d64795c0
VS
43122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 4315 Idea by: Mario Vazquez
d64795c0
VS
4316
4317 * util/grub.d/00_header.in: Load pf2 and image modules.
4318
f267f83a
VS
43192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 grub-mkconfig multiple terminal support.
4322
4323 * util/grub-mkconfig.in: Handle multiple terminals correctly.
4324 * util/grub.d/00_header.in: Likewise.
4325
b7841ceb
VS
43262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * Makefile.in: Specify files explicitly instead of using $< and $@ since
4329 we use cd $(srcdir).
4330
df60998c
CW
43312010-04-08 Colin Watson <cjwatson@ubuntu.com>
4332
4333 * util/grub.d/10_linux.in: Only use the first word of
4334 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
4335 spaces in GRUB_DISTRIBUTOR.
4336 * util/grub.d/10_kfreebsd.in: Likewise.
4337 * util/grub.d/10_hurd.in: Likewise.
4338
fa09c82e
BC
43392010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
4340
14e18ae3 4341 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
4342
4343 * tests/util/grub-shell.in: Remove -serial stdio option.
4344
daf892b3
BC
43452010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 POSIX header file wrappers.
4348
4349 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
4350 equivalents.
4351 * lib/posix_wrap/ctype.h: Likewise.
4352 * lib/posix_wrap/errno.h: Likewise.
4353 * lib/posix_wrap/langinfo.h: Likewise.
4354 * lib/posix_wrap/limits.h: Likewise.
4355 * lib/posix_wrap/localcharset.h: Likewise.
4356 * lib/posix_wrap/stdint.h: Likewise.
4357 * lib/posix_wrap/stdio.h: Likewise.
4358 * lib/posix_wrap/stdlib.h: Likewise.
4359 * lib/posix_wrap/string.h: Likewise.
4360 * lib/posix_wrap/sys/types.h: Likewise.
4361 * lib/posix_wrap/unistd.h: Likewise.
4362 * lib/posix_wrap/wchar.h: Likewise.
4363 * lib/posix_wrap/wctype.h: Likewise.
4364 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
4365 (grub_script.yy.h): Likewise.
4366 * script/yylex.l: Remove POSIX emulation #defines.
4367 * Makefile.in (POSIX_CFLAGS): New variable.
4368 (GNULIB_UTIL_CFLAGS): Likewise.
4369
4370 Regexp support.
4371
4372 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
4373 (regexp_mod_SOURCES): New variable.
4374 (regexp_mod_CFLAGS): Likewise.
4375 (regexp_mod_LDFLAGS): Likewise.
4376 * commands/regexp.c: New file.
4377 * gnulib/regcomp.c: New file. Imported from gnulib.
4378 * gnulib/regex.c: Likewise.
4379 * gnulib/regex_internal.c: Likewise.
4380 * gnulib/regex_internal.h: Likewise.
4381 * gnulib/regexec.c: Likewise.
4382 * gnulib/regex.h: Likewise.
4383
974ac4f7
VS
43842010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
4387 unsupported video mode types.
4388
2622c3ff
VS
43892010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
4392
064cb524
VS
43932010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
4396 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
4397
a8c3b552
VS
43982010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 Remove unused grub_vga_get_font.
4401
4402 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
4403 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
4404
187bbe3d
GS
44052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4406
4407 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
4408 * include/grub/misc.h: Likewise.
4409
b9396631
GS
44102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4411
4412 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
4413 for which failure is fatal.
4414
50479feb
GS
44152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4416
4417 * util/grub-install.in: Use mkdir -p to create grub directory.
4418 * util/i386/efi/grub-install.in: Likewise.
4419 * util/ieee1275/grub-install.in: Likewise.
4420
b1654fdf
GS
44212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4422
4423 * Makefile.in (LEX): new variable.
4424
bd5a6415
GS
44252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4426
4427 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
4428 `=' and added double quotes on operands of this equality test.
4429
3db3a82b
VS
44302010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * Makefile.in (uninstall): Remove a leftover debug echo.
4433 Reported by: Grégoire Sutre
4434
38023412
VS
44352010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 MIPS multiboot2 support.
4438
4439 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
4440 (multiboot2_mod_SOURCES): New variable.
4441 (multiboot2_mod_CFLAGS): Likewise.
4442 (multiboot2_mod_LDFLAGS): Likewise.
4443 (multiboot2_mod_ASFLAGS): Likewise.
4444 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
4445 definition.
4446 (MULTIBOOT_ENTRY_REGISTER): Likewise.
4447 (MULTIBOOT_MBI_REGISTER): Likewise.
4448 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
4449 (MULTIBOOT_ELF32_MACHINE): Likewise.
4450 (MULTIBOOT_ELF64_MACHINE): Likewise.
4451 * include/grub/mips/multiboot.h: New file.
4452 * include/grub/video.h (grub_video_driver_id): New type
4453 GRUB_VIDEO_DRIVER_SM712.
4454 (grub_video_get_info_and_fini): Export.
4455 (grub_video_get_palette): Likewise.
4456 (grub_video_get_driver_id): Likewise.
4457 * include/multiboot2.h: Resynced with spec.
4458 * loader/i386/multiboot.c: Moved from here ...
4459 * loader/multiboot.c: ... here. All users updated.
4460 (grub_multiboot_boot): Use platform-specific macros.
4461 * loader/i386/multiboot_elfxx.c: Moved from here ...
4462 * loader/multiboot_elfxx.c: ... here. All users updated.
4463 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
4464 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
4465 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
4466
47674667
VS
44672010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 Import gnulib argp module.
4470
4471 * gnulib/argp-ba.c: New file.
4472 * gnulib/argp-eexst.c: Likewise.
4473 * gnulib/argp-fmtstream.c: Likewise.
4474 * gnulib/argp-fmtstream.h: Likewise.
4475 * gnulib/argp-fs-xinl.c: Likewise.
4476 * gnulib/argp-help.c: Likewise.
4477 * gnulib/argp-namefrob.h: Likewise.
4478 * gnulib/argp-parse.c: Likewise.
4479 * gnulib/argp-pin.c: Likewise.
4480 * gnulib/argp-pv.c: Likewise.
4481 * gnulib/argp-pvh.c: Likewise.
4482 * gnulib/argp-version-etc.c: Likewise.
4483 * gnulib/argp-version-etc.h: Likewise.
4484 * gnulib/argp-xinl.c: Likewise.
4485 * gnulib/argp.h: Likewise.
4486
495442ed
VS
44872010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * kern/device.c (grub_device_iterate): Clear errors after failed
4490 opening device.
4491
f9fd65df
VS
44922010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
4495 returned by firmware.
4496
af09641e
VS
44972010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
4500 compilation on coreboot and qemu
4501
016883a5
VS
45022010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * include/multiboot2.h: Resync with spec.
4505
f97e1f7d
VS
45062010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Multiboot2 tag support
4509
4510 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
4511 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
4512 Remove loader/multiboot_loader.c.
4513 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
4514 (grub_multiboot2_real_boot): Likewise.
4515 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
4516 (grub_get_multiboot_mmap_count): New proto.
4517 (grub_fill_multiboot_mmap): Likewise.
4518 (grub_multiboot_set_video_mode): Likewise.
4519 (grub_multiboot_set_console): Likewise.
4520 (grub_multiboot_load): Likewise.
4521 (grub_multiboot_load_elf): Likewise.
4522 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
4523 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
4524 * include/multiboot.h: Resynced with specification.
4525 * include/multiboot2.h: Resynced with specification.
4526 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
4527 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
4528 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
4529 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
4530 users updated.
4531 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
4532 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
4533 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
4534 Removed.
4535 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
4536 Moved from here...
4537 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
4538 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
4539 Moved from here...
4540 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
4541 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
4542 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
4543 All users updated.
4544 * loader/i386/multiboot_mbi2.c: New file.
4545
3506b90b
VS
45462010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 Resync with gnulib.
4549
4550 * Makefile.in (GNULIB_CFLAGS): New variable.
4551 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
4552 (grub_script_check_CFLAGS): New variable.
4553 * gnulib/alloca.h: Resync with gnulib.
4554 * gnulib/error.c: Likewise.
4555 * gnulib/error.h: Likewise.
4556 * gnulib/fnmatch.c: Likewise.
4557 * gnulib/fnmatch_loop.c: Likewise.
4558 * gnulib/getdelim.c: Likewise.
4559 * gnulib/getline.c: Likewise.
4560 * gnulib/getopt.c: Likewise.
4561 * gnulib/getopt1.c: Likewise.
4562 * gnulib/getopt_int.h: Likewise.
4563 * gnulib/gettext.h: Likewise.
4564 * gnulib/progname.c: Likewise.
4565 * gnulib/progname.h: Likewise.
4566
394a3120
GS
45672010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
4568
4569 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
4570 which is the case with --disabled-nls.
4571
4572 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
4573 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
4574 * util/misc.c: Likewise.
4575 * util/mkisofs/mkisofs.c: Likewise.
4576 * util/mkisofs/mkisofs.h: Likewise.
4577
969d1c78
VS
45782010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Simplify Apple CC support.
4581
4582 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
4583 Add 0 byte at the end not to have a symbol with empty target.
4584 * mmap/i386/pc/mmap_helper.S: Likewise.
4585 * genmk.rb: Ignore errors 2030 and 2050.
4586 * kern/i386/pc/startup.S: Use LOCAL when possible.
4587
8d2977bb
BC
45882010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
4589
4590 Testcase and the fix for final semicolon on cmdline.
4591
4592 * tests/grub_script_final_semicolon.in: New testcase.
4593 * conf/tests.rmk: Rules for the new testcase.
4594 * script/parser.y: Grammar fix.
4595
a7bd6915
BC
45962010-03-26 BVK Chaitanya <bvk@localhost>
4597
4598 Blank lines testcase for GRUB script.
4599
4600 * tests/grub_script_blanklines.in: New testcase.
4601 * conf/tests.rmk: Rules for the new testcase.
4602
e4ff6628
VS
46032010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 Don't use __FILE__.
4606
4607 * genmk.rb: Add -DGRUB_FILE to all C targets.
4608 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
4609 * include/grub/list.h: Likewise.
4610 * include/grub/misc.h: Likewise.
4611 * include/grub/mm.h: Likewise.
4612 * include/grub/test.h: Likewise.
4613 * kern/mm.c: Likewise.
4614 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4615
6a5cf6b6
VS
46162010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 Sunpc partitions support.
4619
4620 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
4621 (grub_fstest_SOURCES): Likewise.
4622 (pkglib_MODULES): Add part_sunpc.mod.
4623 (part_sunpc_mod_SOURCES): New variable.
4624 (part_sunpc_mod_CFLAGS): Likewise.
4625 (part_sunpc_mod_LDFLAGS): Likewise.
4626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
4627 * partmap/sunpc.c: New file.
4628
746d9045
BC
46292010-03-26 BVK Chaitanya <bvk@localhost>
4630
4631 For loop support to GRUB script.
4632
4633 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
4634 (grub_script_create_cmdfor): New function prototype.
4635 (grub_script_execute_cmdfor): New function prototype.
4636 * script/execute.c (grub_script_execute_cmdfor): New function.
4637 * script/parser.y (command): New for command.
4638 (forcmd): New grammar rule.
4639 * script/script.c (grub_script_create_cmdfor): New function.
4640 * util/grub-script-check.c (grub_script_execute_cmdfor): New
4641 function.
4642 * tests/grub_script_for1.in: New testcase.
4643 * conf/tests.rmk: Rules for new testcase.
4644
18486b18
VS
46452010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Nested partitions
4648
4649 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
4650 'partition' is NULL, grub_partition_get_start already does that.
4651 * commands/loadenv.c (check_blocklists): Likewise.
4652 (write_blocklists): Likewise.
4653 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
4654 (grub_fstest_SOURCES): Likewise.
4655 (pkglib_MODULES): Add part_bsd.mod.
4656 (part_bsd_mod_SOURCES): New variable.
4657 (part_bsd_mod_CFLAGS): Likewise.
4658 (part_bsd_mod_LDFLAGS): Likewise.
4659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
4660 (grub_emu_SOURCES): Likewise.
4661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4662 * include/grub/bsdlabel.h: New file.
4663 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
4664 'get_name'.
4665 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
4666 (grub_partition_map_list): New variable.
4667 (grub_partition_map_register): Inline.
4668 (grub_partition_map_unregister): Likewise.
4669 (FOR_PARTITION_MAPS): New macro.
4670 (grub_partition_map_iterate): Removed.
4671 (grub_partition_get_start): Handle nested partitions.
4672 * include/grub/msdos_partition.h: Remove bsd-related entries.
4673 (grub_pc_partition): Remove.
4674 * kern/disk.c (grub_disk_close): Free partition data.
4675 (grub_disk_adjust_range): Handle nested partitions.
4676 * kern/partition.c (grub_partition_map_probe): New function.
4677 (grub_partition_probe): Parse name to number, handle subpartitions.
4678 (get_partmap): New function.
4679 (grub_partition_iterate): Handle subpartitions.
4680 (grub_partition_get_name): Likewise.
4681 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
4682 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
4683 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
4684 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
4685 Set 'number'.
4686 (acorn_partition_map_probe): Remove.
4687 (acorn_partition_map_get_name): Likewise.
4688 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
4689 Set 'number'.
4690 Set 'index' to 0 since there can be only one partition entry per sector.
4691 (amiga_partition_map_probe): Remove.
4692 (amiga_partition_map_get_name): Likewise.
4693 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
4694 Set 'number'.
4695 Set 'offset' and 'index' to real positions of partitions.
4696 (apple_partition_map_probe): Remove.
4697 (apple_partition_map_get_name): Likewise.
4698 * partmap/bsdlabel.c: New file.
4699 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
4700 Set 'number'.
4701 Allocate 'data' so it can be correctly freed.
4702 Set 'index' to offset inside sector.
4703 (gpt_partition_map_probe): Remove.
4704 (gpt_partition_map_get_name): Likewise.
4705 * partmap/msdos.c (grub_partition_parse): Remove.
4706 (pc_partition_map_iterate): Don't force raw access.
4707 Set 'number'.
4708 Make 'ext_offset' a local variable.
4709 (pc_partition_map_probe): Remove.
4710 (pc_partition_map_get_name): Remove.
4711 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
4712 Set 'number'.
4713 (sun_partition_map_probe): Remove.
4714 (sun_partition_map_get_name): Likewise.
4715 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
4716 (grub_pcpart_type): Likewise.
4717 * util/hostdisk.c (open_device): Handle new numbering scheme.
4718 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
4719 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
4720 * util/grub-probe.c (probe_partmap): Handle nested paritions.
4721 * util/grub-install.in: Insert all subpartition modules.
4722 * util/ieee1275/grub-install.in: Likewise.
4723
a3940f88
AG
47242010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
4725
4726 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
4727 grammar.
4728
21b99926 47292010-03-24 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
4732
bed1d352
CW
47332010-03-21 Colin Watson <cjwatson@ubuntu.com>
4734
4735 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
4736 match where 'make install' puts them.
4737 * util/i386/efi/grub-install.in: Likewise.
4738
c9f58427
CW
47392010-03-19 Colin Watson <cjwatson@ubuntu.com>
4740
4741 * .bzrignore: Add gentrigtables, grub-script-check,
4742 grub_script_check_init.c, grub_script_check_init.h, and
4743 trigtables.c.
4744
f84afb27
VS
47452010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * kern/parser.c: Indented.
4748
ed0e3d30
VS
47492010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
4752
0ea81d98
VS
47532010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
4756 alpha_mask_size == 0 case.
4757
0cdc2a09
BC
47582010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
4759
4760 GRUB shell lexer and parser improvements.
4761
4762 * conf/any-emu.rmk: Build rule updates.
4763 * conf/common.rmk: Likewise.
4764 * conf/i386-coreboot.rmk: Likewise.
4765 * conf/i386-efi.rmk: Likewise.
4766 * conf/i386-ieee1275.rmk: Likewise.
4767 * conf/i386-pc.rmk: Likewise.
4768 * conf/powerpc-ieee1275.rmk: Likewise.
4769 * conf/x86_64-efi.rmk: Likewise.
4770
4771 * configure.ac: Configure check for flex.
4772
4773 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
4774 types.
4775 (grub_lexer_param): Struct member updates.
4776 (grub_parser_param): Likewise.
4777 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
4778 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
4779 (grub_script_lexer_init): Prototype update.
4780 (grub_script_lexer_record_start): Likewise.
4781 (grub_script_lexer_record_stop): Likewise.
4782 (grub_script_lexer_yywrap): New function prototype.
4783 (grub_script_lexer_fini): Likewise.
4784 (grub_script_execute_argument_to_string): Removed by...
4785 (grub_script_execute_argument_to_argv): ...better version.
4786
4787 * script/execute.c (ROUND_UPTO): New macro.
4788 (grub_script_execute_cmdline): Out of memory fixes.
4789 (grub_script_execute_menuentry): Likewise.
4790 (grub_script_execute_argument_to_string): Removed. Update all
4791 users by...
4792 (grub_script_execute_argument_to_argv): ...better version.
4793 * script/function.c (grub_script_function_create): Use
4794 grub_script_execute_argument_to_argv instead of
4795 grub_script_execute_argument_to_string.
4796
4797 * script/lexer.c (check_varstate): Removed.
4798 (check_textstate): Removed.
4799 (grub_script_lexer_record_start): Likewise.
4800 (grub_script_lexer_record_stop): Likewise.
4801 (recordchar): Replaced with...
4802 (grub_script_lexer_record): ...new function.
4803 (nextchar): Removed.
4804 (grub_script_lexer_init): Rewritten.
4805 (grub_script_yylex): Rewritten.
4806 (append_newline): New function.
4807 (grub_script_lexer_yywrap): New function.
4808 (grub_script_lexer_fini): New function.
4809 (grub_script_yyerror): Sets error flag.
4810
4811 * script/yylex.l: New file.
4812 (grub_lexer_yyfree): Wrapper for flex yyffre.
4813 (grub_lexer_yyalloc): Likewise.
4814 (grub_lexer_yyrealloc): Likewise.
4815 * script/parser.y: Refactored.
4816
4817 * script/script.c (grub_script_arg_add): Out of memory fixes.
4818 (grub_script_add_arglist): Likewise.
4819 (grub_script_create_cmdline): Likewise.
4820 (grub_script_create_cmdmenu): Likewise.
4821 (grub_script_add_cmd): Likewise.
4822 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
4823 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
4824 unnecessary code.
4825
4826 * tests/grub_script_echo1.in: New testcase.
4827 * tests/grub_script_vars1.in: New testcase.
4828 * tests/grub_script_echo_keywords.in: New testcase.
4829
1d63a066
VS
48302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 Remove some redundancy in build system.
4833
4834 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
4835 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
4836 (TARGET_LDFLAGS): Add -nostdlib.
4837 (TARGET_IMG_LDFLAGS): Likewise.
4838 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
4839 anything since mmap isn't available.
4840 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
4841 Add util/time.c.
4842 (pkglib_MODULES): Remove reboot.mod.
4843 (reboot_mod_SOURCES): Removed.
4844 (reboot_mod_CFLAGS): Likewise.
4845 (reboot_mod_LDFLAGS): Likewise.
4846 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
4847 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
4848 (DEFSYMFILES): Add kernel_syms.lst.
4849 (kernel_img_HEADERS): Add common headers.
4850 (symlist.c): New target.
4851 (kernel_syms.lst): Likewise.
4852 (pkglib_MODULES): Add memdisk.mod.
4853 (memdisk_mod_SOURCES): New variable.
4854 (memdisk_mod_CFLAGS): Likewise.
4855 (memdisk_mod_LDFLAGS): Likewise.
4856 (pkglib_MODULES): Add reboot.mod.
4857 (reboot_mod_SOURCES): New variable.
4858 (reboot_mod_CFLAGS): Likewise.
4859 (reboot_mod_LDFLAGS): Likewise.
4860 (pkglib_MODULES): Add date.mod.
4861 (date_mod_SOURCES): New variable.
4862 (date_mod_CFLAGS): Likewise.
4863 (date_mod_LDFLAGS): Likewise.
4864 (pkglib_MODULES): Add datehook.mod.
4865 (datehook_mod_SOURCES): New variable.
4866 (datehook_mod_CFLAGS): Likewise.
4867 (datehook_mod_LDFLAGS): Likewise.
4868 (pkglib_MODULES): Add lsmmap.mod.
4869 (lsmmap_mod_SOURCES): New variable.
4870 (lsmmap_mod_CFLAGS): Likewise.
4871 (lsmmap_mod_LDFLAGS): Likewise.
4872 (pkglib_MODULES): Add boot.mod.
4873 (boot_mod_SOURCES): New variable.
4874 (boot_mod_CFLAGS): Likewise.
4875 (boot_mod_LDFLAGS): Likewise.
4876 * conf/i386-coreboot.rmk: Removed redundant parts.
4877 * conf/i386-ieee1275.rmk: Likewise.
4878 * conf/i386-pc.rmk: Likewise.
4879 * conf/mips-yeeloong.rmk: Likewise.
4880 * conf/mips.rmk: Likewise.
4881 * conf/powerpc-ieee1275.rmk: Likewise.
4882 * conf/sparc64-ieee1275.rmk: Likewise.
4883 * conf/x86_64-efi.rmk: Likewise.
4884 * conf/i386-coreboot.rmk: Moved qemu parts ..
4885 * conf/i386-qemu.rmk: ... here
4886 * conf/i386-efi.rmk: Moved common parts to...
4887 * conf/x86-efi.rmk: ... here.
4888 * conf/i386.rmk: Added modules common to all x86 variants.
4889 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
4890 * disk/memdisk.c: Remove grub/machine/kernel.h.
4891 * gensymlist.sh.in: Include symbol.h.
4892 * hook/datehook.c: Correct module name.
4893 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
4894 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
4895 * include/grub/i386/efi/serial.h: New file.
4896 * include/grub/x86_64/efi/serial.h: Likewise.
4897 * util/time.c: Likewise.
4898 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
4899
463ac55f
CK
49002010-03-14 Colin King <colin.king@ubuntu.com>
49012010-03-14 Colin Watson <cjwatson@ubuntu.com>
4902
4903 Shrink the pre-partition-table part of boot.img by eight bytes.
4904
4905 * boot/i386/pc/boot.S (ERR): New macro.
4906 (chs_mode): Use ERR.
4907 (geometry_error): Likewise.
4908 (hd_probe_error): Remove. This is only used once, so we wrwite
4909 it inline instead.
4910 (read_error): Instead of printing read_error_string, just set up
4911 %si and fall through to ...
4912 (error_message): ... this new function, also used by ERR.
4913
08e46ede
CW
49142010-03-14 Colin Watson <cjwatson@ubuntu.com>
4915
4916 Speed up consecutive hostdisk operations on the same device.
4917
4918 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
4919 (grub_util_biosdisk_open): Initialise disk->data.
4920 (struct linux_partition_cache): New structure.
4921 (linux_find_partition): Cache partition start positions; these are
4922 expensive to compute on every read and write.
4923 (open_device): Cache open file descriptor in disk->data, so that we
4924 don't have to reopen it and flush the buffer cache for consecutive
4925 operations on the same device.
4926 (grub_util_biosdisk_close): New function.
4927 (grub_util_biosdisk_dev): Set `close' member.
4928
4929 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
4930 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
4931 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4932 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4933 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
4934
4a6d2d06
VS
49352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 Compile parts of grub-emu as modules.
4938
4939 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
4940 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
4941 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
4942 (all-local): Add $(GRUB_EMU).
4943 (install-local): Install $(GRUB_EMU).
4944 (uninstall): Uninstall $(GRUB_EMU).
4945 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
4946 * kern/dl.c: Likewise.
4947 * commands/sleep.c: Not include machine/time.h.
4948 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
4949 (COMMON_CFLAGS): Likewise.
4950 (sbin_UTILITIES): Remove grub-emu.
4951 (grub_emu_SOURCES): Removed.
4952 (kernel_img_RELOCATABLE): New variable.
4953 (pkglib_PROGRAMS): Add kernel.img.
4954 (kernel_img_SOURCES): New variable
4955 (kernel_img_CFLAGS): Likewise.
4956 (kernel_img_LDFLAGS): Likewise.
4957 (TARGET_NO_STRIP): Likewise.
4958 (TARGET_NO_DYNAMIC_MODULES): Likewise.
4959 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
4960 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
4961 (grub-emu): New target.
4962 (GRUB_EMU): New variable.
4963 * configure.ac: Whitelist -emu as possible x86_64 architecture.
4964 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
4965 * loader/xnu.c: Likewise.
4966 * include/grub/pci.h: Likewise.
4967 * genemuinit.sh: New file.
4968 * genemuinitheader.sh: Likewise.
4969 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
4970 Support TARGET_NO_DYNAMIC_MODULES.
4971 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
4972 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
4973 * disk/loopback.c: Likewise.
4974 * font/font_cmd.c: Likewise.
4975 * partmap/acorn.c: Likewise.
4976 * partmap/amiga.c: Likewise.
4977 * partmap/apple.c: Likewise.
4978 * partmap/gpt.c: Likewise.
4979 * partmap/msdos.c: Likewise.
4980 * partmap/sun.c: Likewise.
4981 * parttool/msdospart.c: Likewise.
4982 * term/gfxterm.c: Likewise.
4983 * video/bitmap.c: Likewise.
4984 * video/readers/jpeg.c: Likewise.
4985 * video/readers/png.c: Likewise.
4986 * video/readers/tga.c: Likewise.
4987 * video/video.c: Likewise.
4988 * util/grub-emu.c (read_command_list): Removed.
4989 (main): Don't call util_init_nls.
4990 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
4991 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
4992
91fdd2ed
VS
49932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
4996 date.mod, datehook.mod.
4997 (datetime_mod_SOURCES): New variable.
4998 (datetime_mod_CFLAGS): Likewise.
4999 (datetime_mod_LDFLAGS): Likewise.
5000 (date_mod_SOURCES): Likewise.
5001 (date_mod_CFLAGS): Likewise.
5002 (date_mod_LDFLAGS): Likewise.
5003 (datehook_mod_SOURCES): Likewise.
5004 (datehook_mod_CFLAGS): Likewise.
5005 (datehook_mod_LDFLAGS): Likewise.
5006 * conf/sparc64-ieee1275.rmk: Likewise.
5007 * lib/ieee1275/datetime.c: New file.
5008
873ccae6
VS
50092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
5012 (ieee1275_fb_mod_SOURCES): New variable.
5013 (ieee1275_fb_mod_CFLAGS): Likewise.
5014 (ieee1275_fb_mod_LDFLAGS): Likewise.
5015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
5016 New proto.
5017 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
5018 (HEAP_MAX_ADDR): Likewise.
5019 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
5020 type.
5021 Correct stop condition.
5022 (grub_ieee1275_devices_iterate): New function.
5023 * video/ieee1275.c: New file.
5024
601c97c0
VS
50252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
5028
5029 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
5030 as scratch.
5031 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
5032 SCRATCH_PAD_DISKBOOT as scratch.
5033 (bootit): Pass Openfirmware pointer in %o4.
5034 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
5035 of 0x200000.
5036 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
5037 with util/grub-mkrawimage.c.
5038 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
5039 * include/grub/aout.h (AOUT_MID_SUN): New definition.
5040 (grub_aout_get_type) [GRUB_UTIL]: Removed.
5041 (grub_aout_load) [GRUB_UTIL]: Likewise.
5042 * include/grub/kernel.h (grub_modules_get_end): New proto.
5043 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
5044 (SCRATCH_PAD_BOOT): New definition.
5045 (SCRATCH_PAD_DISKBOOT): Likewise.
5046 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
5047 * include/grub/sparc64/ieee1275/ieee1275.h
5048 (grub_ieee1275_original_stack): New variable
5049 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
5050 New definition
5051 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
5052 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
5053 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
5054 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
5055 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
5056 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
5057 (grub_platform_image_format_t): New type.
5058 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
5059 * kern/main.c (grub_modules_get_end)
5060 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
5061 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
5062 (codestart): Switch stacks.
5063 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
5064 variable.
5065 (grub_heap_init): Use grub_modules_get_end.
5066 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
5067 stack.
5068 * util/grub-mkrawimage.c (generate_image): Support sparc64.
5069 (main): Likewise.
5070 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
5071
d68b491e
TG
50722010-03-14 Thorsten Glaser <tg@mirbsd.org>
5073
5074 * util/grub-mkrescue.in: Base ISO UUID on UTC.
5075
4e02ed50
MK
50762010-03-08 Matt Kraai <kraai@ftbfs.org>
5077
5078 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
5079 bug #559005).
5080
1f15fc1e
VS
50812010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * genmoddep.awk: Output all missing symbols and not only first.
5084
fce5d8ff
VS
50852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * NEWS: Put the date of 1.98 release.
5088
d1e8a02f
VS
50892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
5092 ft2build.h.
5093
696fd607
VS
50942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
5097 completition in the middle of string.
5098
33e2e6f3
VS
50992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * util/grub-mkrescue.in: Use mktemp with explicit template.
5102
b1f6d291
VS
51032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
5106
2ac227c7
VS
51072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
5110 right pointer.
5111
8f9a632b
VS
51122010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Fix FreeBSD compilation.
5115
5116 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
5117 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
5118
60b03859
VS
51192010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
5122
48a5a769
VS
51232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
5126
3ab4bd77
VS
51272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
5130
d116e0d8
RM
51312010-03-04 Robert Millan <rmh.grub@aybabtu.com>
5132
5133 Support relative image path in theme file.
5134
5135 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
5136 (image_set_property): Handle theme_dir and relative path.
5137
c7ef54aa
VS
51382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * configure.ac: Alias amd64 to x86_64.
5141
fcee14ed
VS
51422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * NEWS: mention multiboot on EFI.
5145
d0780363
VS
51462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * kern/main.c (grub_load_modules): Handle errors from init functions of
5149 embeded modules.
5150
41168ea4
VS
51512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * normal/autofs.c (autoload_fs_module): Handle errors.
5154
b54d93ac
VS
51552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 Disable linux.mod on qemu-mips since it's not functional and leads
5158 to compilation failure.
5159
5160 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
5161 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
5162 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
5163 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
5164 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
5165 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
5166 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
5167 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
5168 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
5169 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
5170 Reported by: BVK Chaitanya
5171
fc8345da
JU
51722010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
5173
5174 * INSTALL: Add gettext as a dependency and add qemu to a new section
5175 "Prerequisites for make-check".
5176
4760f979
CF
51772010-03-04 Christian Franke <franke@computer.org>
5178
5179 * util/grub-pe2elf.c: Add missing include "progname.h".
5180
f209b5b2
VS
51812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * normal/crypto.c (read_crypto_list): Fix a typo.
5184 Reported by: Seth Goldberg.
5185
b4b7be98
VS
51862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 5189 Reported by: Seth Goldberg.
b4b7be98 5190
c0ee0385
VS
51912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
5194 ascii.bitmaps.
5195
a8efbf64
VS
51962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 5199 Reported by: Seth Goldberg.
a8efbf64 5200
08dcd913
VS
52012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * util/i386/efi/grub-install.in: Copy gettext files.
5204
c4d0b332
VS
52052010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
5208
c6f2fe52
VS
52092010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Wait for user entry basing on presence of output rather than on errors.
5212
5213 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
5214 (grub_install_newline_hook): Likewise.
5215 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
5216 * normal/menu.c (show_menu): Check line_counter to determine presence
5217 of output.
5218 * normal/term.c (grub_normal_line_counter): New variable.
5219 (grub_normal_get_line_counter): New function.
5220 (grub_install_newline_hook): Likewise.
5221
5382b1e4
VS
52222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
5225
5519963b
VS
52262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * configure.ac: Update version to 1.98.
5229
72b28631
VS
52302010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * util/grub.d/10_linux.in (linux_entry): Don't default to
5233 gfxpayload=keep if Linux doesn't support video handover.
5234
c140a180
VS
52352010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 Don't compile video modules on yeeloong since video subsystem is part
5238 of kernel.
5239
5240 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
5241 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
5242 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
5243 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
5244 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
5245 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
5246 * include/grub/bitmap_scale.h: Likewise.
5247 * include/grub/bufio.h: Likewise.
5248 * include/grub/font.h: Likewise.
5249 * include/grub/gfxterm.h: Likewise.
5250 * include/grub/video.h: Likewise.
5251 * include/grub/vbe.h: Don't include video_fb.h.
5252 * video/i386/pc/vbe.c: Include video_fb.h.
5253 * commands/i386/pc/vbetest.c: Include video.h.
5254
a0ca21c2
CW
52552010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
5256
5257 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
5258 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
5259 default entry if GRUB_SAVEDEFAULT=true. This allows using
5260 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
5261 saving a new default on every boot.
5262
4a8a763c
VS
52632010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * normal/crypto.c (read_crypto_list): Fix a memory leak.
5266 * normal/term.c (read_terminal_list): Likewise.
5267 * normal/main.c (grub_normal_init_page): Likewise.
5268 (grub_normal_read_line_real): Likewise.
5269
607ffde2
VS
52702010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
5273 memory leak.
5274 Reported by: Seth Goldberg.
5275
2b8fa975
CW
52762010-02-24 Joey Korkames <joey+lists@kidfixit.com>
5277
5278 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
5279 duplicate declaration of `start'.
5280
618307dd
VS
52812010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
5284 filename.
5285 Reported by: Georgy Buranov
5286
7dd05b96 52872010-02-20 Carles Pina i Estany <carles@pina.cat>
5288
5289 * util/grub-mkrawimage.c (usage): Change string formatting to
5290 improve gettext.
5291
d1484a42
MRA
52922010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5293
5294 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
5295 backspace keys.
5296
42b1d186
VS
52972010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
5300 Reported by: Michael Suchanek.
5301
53022010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
5303
5304 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
5305 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
5306
d9f31a41
VS
53072010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Remove any reference to non-free fonts.
5310
5311 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
5312 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
5313 uses non-free components.
5314 * font/font.c (grub_font_get_name): Remove example name.
5315 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
5316 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5317 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
5318 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
5319
2793c71e
GB
53202010-02-16 Georgy Buranov <gburanov@gmail.com>
5321
5322 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
5323
402e3779
VS
53242010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
5327 Double divisor.
5328 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
5329 features.
5330 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
5331
0dd1e0dd
VS
53322010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * gensymlist.sh.in: Use TARGET_CC instead of CC.
5335
6fa7cfce
ST
53362010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5337
5338 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
5339 * docs/grub.texi (Command-line and menu entry commands): Document play
5340 command.
5341
37c8483b
ST
53422010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5343
5344 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
5345 parse arguments as inline tempo and notes. Move code for playing notes
5346 to...
5347 (play): ... new function.
5348
14da0fb7
ST
53492010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5350
5351 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
5352 grub_uint16_t instead of short.
5353 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
5354 disk from little endian to cpu endianness.
5355
04459e70
ST
53562010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
5357
5358 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
5359 GRUB_TICKS_PER_SECOND instead of 120.
5360
a0876943
VS
53612010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
5364 escape sequence after \e.
5365
e29f95dc
VS
53662010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
5369 non-ASCII characters.
5370
d27859b2
VS
53712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
5374 set root in single quotes to prevent \, from being unescaped.
5375
bc028f2f
VS
53762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Prevent unknown commands from stopping menuentry execution.
5379
5380 * script/execute.c (grub_script_execute_cmdline): Print error after
5381 unknown command.
5382
095f5f82
VS
53832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
5386 Reported by: Pavel Pisa.
5387
8c717950
VS
53882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
5391
904935c3
VS
53922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 Merge grub_ieee1275_map_physical into grub_map and rename to
5395 grub_ieee1275_map
5396
5397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
5398 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
5399 Remove.
5400 * kern/ieee1275/openfw.c (grub_map): Rename to ...
5401 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
5402 necessary.
5403 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
5404
5b59a4e3
VS
54052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
5408 opening and not after.
5409
69e137e8
VS
54102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
5413 constants.
5414
2c0fcc36
VS
54152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
5418 (alloc_phys): Use ALIGN_UP instead of align_addr.
5419
8c6052ce
VS
54202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
5423
17cec782
VS
54242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5425
5426 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
5427
e0128bbd
VS
54282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
5431 verbose dprintf.
5432
ca62070b
VS
54332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Fix over-4GiB seek on sparc64.
5436
5437 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
5438 Replace pos_i and pos_lo with pos. All users updated.
5439 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
5440 New constant.
5441 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
5442 Likewise.
5443 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
5444 and pos_lo.
5445
bdca2607
VS
54462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * util/grub-mkrawimage.c (main): Call set_program_name.
5449
da278c4d
VS
54502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Properly align 64-bit targets.
5453
5454 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
5455 (generate_image): Use ALIGN_ADDR.
5456
b274d734
VS
54572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Properly create cross-endian images.
5460
5461 * include/grub/types.h (grub_host_to_target_addr): New macro
5462 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
5463
82da2062
VS
54642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
5467
7cae4377
VS
54682010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
5471
5472 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
5473 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
5474 (grub_linux_boot): Divide by 64K when on VESA.
5475
65a533e7
VS
54762010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 Support GRUB_GFXPAYLOAD_LINUX.
5479
5480 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
5481 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
5482
dd01d397
VS
54832010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
5486 to show messages instead of discarding them.
5487 Process errors after executing command and not before. Keep old method
5488 too as precaution.
5489
660960d6
VS
54902010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * configure.ac: Check for ft2build.h.
5493
62509f04
VS
54942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
5497
473df63d
VS
54982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * genkernsyms.sh.in: Use TARGET_CC.
5501
c98d2a13
CW
55022010-02-07 Colin Watson <cjwatson@ubuntu.com>
5503
5504 * NEWS: Update.
5505
6e14234c
VS
55062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
5509 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
5510 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 5511
b255e9cf
YB
55122010-02-07 Yves Blusseau <blusseau@zetam.org>
5513
6e14234c 5514 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 5515
98e6959d
VS
55162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 Fix warnings in grub-emu when compiling with maximum warning options.
5519
5520 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
5521 (grub_arch_modules_addr): Return 0 and not NULL.
5522 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 5523 (xstrdup): Use newstr instead of dup.
f88d801b
VS
5524 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
5525 of disk to dsk to avoid shadowing.
74e4934e
VS
5526 (find_free_slot): Fix prototype.
5527 * util/getroot.c (grub_util_is_dmraid): Make static.
5528 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
5529 Add missing prototype.
5530 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 5531
74e31b5c
VS
55322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * loader/i386/linux.c (grub_linux_setup_video): Handle error
5535 appropriately.
5536
6b2ad14b
VS
55372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
5540 code out.
5541
8f891adc
VS
55422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
5545 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
5546 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
5547 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
5548 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
5549 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
5550
74b45184
VS
55512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * include/grub/err.h (grub_err_printf): Don't export.
5554
a4bced77
VS
55552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
5558
007d0695
VS
55592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * include/grub/i18n.h (grub_gettext_dummy): Removed.
5562 * kern/misc.c (grub_gettext_dummy): Make static.
5563
b6c0d9c2
VS
55642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
5567 by non-valid ones.
5568 * kern/term.c (grub_putchar): Likewise.
5569
f51a90d0
VS
55702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
5573 buggy hook call and memory leak.
5574
6846cec5
VS
55752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
5578
468d69fe
VS
55792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
5582
51906b8c
VS
55832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
5586 modevar.
5587 Return grub_errno on allocation error.
5588
09706ce5
VS
55892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
5592
911df80c
YB
55932010-02-06 Yves Blusseau <blusseau@zetam.org>
5594
5595 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
5596 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
5597
3746a6bc
VS
55982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
5601 non-pxe disk.
5602 (grub_pxefs_open): Likewise.
5603
09706ce5
VS
56042010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5605
5606 * util/grub.d/10_hurd.in: Add --class information to menuentries.
5607 * util/grub.d/10_kfreebsd.in: Likewise.
5608 * util/grub.d/10_linux.in: Likewise.
5609
7cc192d9
VS
56102010-02-06 Colin D Bennett <colin@gibibit.com>
5611
5612 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
5613 (gfxmenu_mod_SOURCES): New variable.
5614 (gfxmenu_mod_CFLAGS): Likewise.
5615 (gfxmenu_mod_LDFLAGS): Likewise.
5616 * include/grub/term.h (grub_term_set_current_output): Declare
5617 argument as const.
5618 * docs/gfxmenu-theme-example.txt: New file.
5619 * gfxmenu/gfxmenu.c: Likewise.
5620 * gfxmenu/gui_box.c: Likewise.
5621 * gfxmenu/gui_canvas.c: Likewise.
5622 * gfxmenu/gui_circular_progress.c: Likewise.
5623 * gfxmenu/gui_image.c: Likewise.
5624 * gfxmenu/gui_label.c: Likewise.
5625 * gfxmenu/gui_list.c: Likewise.
5626 * gfxmenu/gui_progress_bar.c: Likewise.
5627 * gfxmenu/gui_string_util.c: Likewise.
5628 * gfxmenu/gui_util.c: Likewise.
5629 * gfxmenu/icon_manager.c: Likewise.
5630 * gfxmenu/model.c: Likewise.
5631 * gfxmenu/named_colors.c: Likewise.
5632 * gfxmenu/theme_loader.c: Likewise.
5633 * gfxmenu/view.c: Likewise.
5634 * gfxmenu/widget-box.c: Likewise.
5635 * include/grub/gfxmenu_model.h: Likewise.
5636 * include/grub/gfxmenu_view.h: Likewise.
5637 * include/grub/gfxwidgets.h: Likewise.
5638 * include/grub/gui.h: Likewise.
5639 * include/grub/gui_string_util.h: Likewise.
5640 * include/grub/icon_manager.h: Likewise.
5641
56422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 Agglomerate scrolling in gfxterm.
5645
5646 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
5647 (grub_virtual_screen_setup): Initialise 'total_screen'.
5648 (write_char): Split to ...
5649 (paint_char): ... this ...
5650 (write_char): ... and this.
5651 (paint_char): Handle delayed scrolling.
5652 (draw_cursor): Likewise.
5653 (scroll_up): Split to ...
5654 (real_scroll): ... this ...
5655 (scroll_up): ... and this.
5656 (real_scroll): Handle multi-line scroll and draw below-the-bottom
5657 characters.
5658 (grub_gfxterm_refresh): Call real_scroll.
5659
56602010-02-06 Colin D Bennett <colin@gibibit.com>
5661
5662 * include/grub/misc.h (grub_iscntrl): New inline function.
5663 (grub_isalnum): Likewise.
5664 (grub_strtol): Likewise.
5665
56662010-02-06 Colin D Bennett <colin@gibibit.com>
5667
5668 * normal/menu_text.c (get_entry_number): Move from here ...
5669 * normal/menu.c (get_entry_number): ... moved here.
5670 * include/grub/menu.h (grub_menu_get_default_entry_index):
5671 New prototype.
5672 * normal/menu.c (grub_menu_get_default_entry_index): New function.
5673 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
5674 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
5675 (grub_menu_viewer_should_return): Likewise.
5676 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
5677 * normal/menu_text.c (run_menu): Enable menu switching.
5678 * normal/menu_viewer.c (should_return): New variable.
5679 (menu_viewer_changed): Likewise.
5680 (grub_menu_viewer_show_menu): Handle menu viewer changes.
5681 (grub_menu_viewer_should_return): New function.
5682 (menuviewer_write_hook): Likewise.
5683 (grub_menu_viewer_init): Likewise.
5684
56852010-02-06 Colin D Bennet <colin@gibibit.com>
56862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Support for gfxterm in a window.
5689
5690 * include/grub/gfxterm.h: New file.
5691 * include/grub/video.h (struct grub_video_rect): New declaration.
5692 (grub_video_rect_t): Likewise.
5693 * term/gfxterm.c (struct grub_gfxterm_window): New type.
5694 (refcount): New variable.
5695 (render_target): Likewise.
5696 (window): Likewise.
5697 (repaint_callback): Likewise.
5698 (grub_virtual_screen_setup): Use 'render_target'.
5699 (init_window): New function.
5700 (grub_gfxterm_init_window): Likewise.
5701 (grub_gfxterm_init): Check reference counter.
5702 Use init_window.
5703 (destroy_window): New function.
5704 (grub_gfxterm_destroy_window): Likewise.
5705 (grub_gfxterm_fini): Check reference counter.
5706 Use destroy_window.
5707 (redraw_screen_rect): Restore viewport.
5708 Use 'render_target' and 'window'.
5709 Call 'repaint_callback'.
5710 (write_char): Use 'render_target'.
5711 (draw_cursor): Likewise.
5712 (scroll_up): Restore viewport.
5713 Use 'render_target' and 'window'.
5714 Call 'repaint_callback'.
5715 (grub_gfxterm_cls): Likewise.
5716 (grub_gfxterm_refresh): Use 'window'.
5717 (grub_gfxterm_set_repaint_callback): New function.
5718 (grub_gfxterm_background_image_cmd): Use 'window'.
5719 (grub_gfxterm_get_term): New function.
5720 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
5721
57222010-02-06 Colin D Bennett <colin@gibibit.com>
5723
5724 Bitmap scaling support.
5725
5726 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
5727 (bitmap_scale_mod_SOURCES): New variable.
5728 (bitmap_scale_mod_CFLAGS): Likewise.
5729 (bitmap_scale_mod_LDFLAGS): Likewise.
5730 * include/grub/bitmap_scale.h: New file.
5731 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
5732 (background_image_cmd_options): New variable.
5733 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
5734 (cmd): Rename and change type to ...
5735 (background_image_cmd_handle): ... this. All users updated.
5736 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
5737 * video/bitmap_scale.c: New file.
5738
57392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 SDL support.
5742
5743 * Makefile.in (LIBSDL): New variable.
5744 (enable_grub_emu_sdl): Likewise.
5745 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
5746 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
5747 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
5748 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
5749 * util/sdl.c: New file.
5750
57512010-02-06 Colin D Bennett <colin@gibibit.com>
57522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Double buffering support.
5755
5756 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
5757 * include/grub/video.h: Update comment.
5758 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5759 New type.
5760 (grub_video_fb_doublebuf_blit_init): New prototype.
5761 * term/gfxterm.c (scroll_up): Support double buffering.
5762 (grub_gfxterm_refresh): Likewise.
5763 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
5764 (grub_video_fb_doublebuf_blit_init): Likewise.
5765 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
5766 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
5767 'displayed_page', 'render_page' and 'update_screen'.
5768 (grub_video_vbe_fini): Free offscreen buffer.
5769 (doublebuf_pageflipping_commit): New function.
5770 (doublebuf_pageflipping_update_screen): Likewise.
5771 (doublebuf_pageflipping_init): Likewise.
5772 (double_buffering_init): Likewise.
5773 (grub_video_vbe_setup): Enable doublebuffering.
5774 (grub_video_vbe_swap_buffers): Implement.
5775 (grub_video_vbe_set_active_render_target): Handle double buffering.
5776 (grub_video_vbe_get_active_render_target): Likewise.
5777 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
5778 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
5779 (grub_video_vbe_enable_double_buffering): Likewise.
5780 (grub_video_vbe_swap_buffers): Use update_screen.
5781 (grub_video_set_mode): Use double buffering.
5782
57832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5784
5785 * maintainance/gentrigtables.py: Remove.
5786 * lib/trig.c: Likewise.
5787
5788 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
5789
5790 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
5791 `trigtables.c'.
5792 (trigtables.c): New rule.
5793 (gentrigtables): Likewise.
5794 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
5795
57962010-02-06 Robert Millan <rmh.grub@aybabtu.com>
5797
5798 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
5799 integer constants.
5800
58012010-02-06 Colin D Bennet <colin@gibibit.com>
5802
5803 Trigonometry support.
5804
5805 * include/grub/trig.h: New file.
5806 * lib/trig.c: Likewise.
5807 * maintainance/gentrigtables.py: Likewise.
5808 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
5809 (trig_mod_SOURCES): New variable.
5810 (trig_mod_CFLAGS): Likewise.
5811 (trig_mod_LDFLAGS): Likewise.
5812
5562834e
VS
58132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
5816 disk devices.
5817
4f8528fc
VS
58182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
5821 error.
5822
2b4068e9
VS
58232010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * util/hostdisk.c (open_device): Don't use partition device when reading
5826 before the partition.
5827 (grub_util_biosdisk_read): Don't read from partition and before the
5828 partition in single operation.
5829 (grub_util_biosdisk_write): Don't write to partition and before the
5830 partition in single operation.
5831
399f6e4d
TL
58322010-02-03 Torsten Landschoff <torsten@debian.org>
5833
5834 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5835 last sectors.
5836
996649b0
VS
58372010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
5840 CDROM reads.
5841 (grub_biosdisk_write): Refuse to write to CDROM.
5842
3b205d4d
VS
58432010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
5846
61e89d9d
VS
58472010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * font/font.c (find_glyph): Check that bmp_idx is available before
5850 using it.
5851 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
5852 with (font == NULL).
5853
bf7fcba2
CS
58542010-01-28 Christian Schmitt <chris@ilovelinux.de>
5855
5856 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
5857
f45d2663
BC
58582010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
5859
5860 * include/grub/script_sh.h (sourcecode): Add const qualifier.
5861 * util/grub-script-check.c (getline): Fix empty lines case.
5862
ec1444e6
RM
58632010-01-28 Robert Millan <rmh.grub@aybabtu.com>
5864
5865 * Makefile.in (check): Exit with fail status when one of the tests
5866 fails.
5867 * tests/example_functional_test.c (example_test): Fix reversed assert.
5868 * tests/example_unit_test.c (example_test): Likewise.
5869
2e1cb9bb
CW
58702010-01-28 Colin Watson <cjwatson@ubuntu.com>
5871
5872 * util/grub.d/10_linux.in: This script does not use any of the
5873 contents of gettext.sh, only the external command `gettext', so stop
5874 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
5875 the same prefix as GRUB.)
5876 * util/grub.d/10_kfreebsd.in: Likewise.
5877
63533ab0
VS
58782010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
5881 of the line.
5882
989e1f93
VS
58832010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * kern/disk.c (grub_disk_read): Fix offset computation when reading
5886 last sectors.
5887
e709ebe2
VS
58882010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
5891 having a 4KiB and not 32KiB buffer size.
5892
27dea7ed
RM
58932010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5894
5895 * util/hostfs.c: Include `<errno.h>'.
5896 (grub_hostfs_read): Handle errors from fseeko() and fread().
5897
67667b9c
RM
58982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5899
5900 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
5901 loop when using read hooks on files whose size isn't sector-aligned.
5902
c294d9d8
RM
59032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5904
5905 Remove unused parameter.
5906
5907 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
5908 (grub_iso9660_open): Remove initialization of `data->length'.
5909
af75a9f1
RM
59102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
5911
5912 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
5913 memleak conditions.
5914
254e2ce5 59152010-01-27 Carles Pina i Estany <carles@pina.cat>
5916
5917 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
5918 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
5919
b510928c 59202010-01-26 Carles Pina i Estany <carles@pina.cat>
5921
5922 * util/bin2h.c (usage): Fix warning (space after backslash).
5923
aa2f9dd2 59242010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 5925
5926 * font/font.c: Include `grub/fontformat.h.
5927 Remove font file format constants.
5928 (grub_font_load): Use the new macros.
5929 * include/grub/fontformat.h: New file.
5930 * util/grub-mkfont.c: Include `grub/fontformat.c'.
5931 (write_font_pf2): Use the new macros.
5932
94e7e712
RM
59332010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5934
5935 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
5936 does.
5937
3973a59a
RM
59382010-01-26 Robert Millan <rmh.grub@aybabtu.com>
5939
5940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
5941
5942 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
5943 (_start): Macroify `0x7F'.
5944
5945 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
5946 (make_install_device): Use "(pxe)" as fallback prefix when booting
5947 via PXE.
5948
42e0cba3
GS
59492010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * configure.ac: Reset LIBS after check for libgcc symbols.
5952
847effd8
CW
59532010-01-25 Colin Watson <cjwatson@ubuntu.com>
5954
5955 * util/hostdisk.c (open_device): Add trailing newline to debug
5956 message.
5957
ea4a7e35
GS
59582010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
5959
5960 * configure.ac: Check for `limits.h'.
5961 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
5962
67951a53
RM
59632010-01-24 Robert Millan <rmh.grub@aybabtu.com>
5964
5965 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
5966 capitalize error strings.
5967
c273d4ce
ST
59682010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
5969
5970 * util/grub.d/10_hurd.in: Add a recovery mode.
5971
69be5b74
VS
59722010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * configure.ac: Check for libgcc symbols with -nostdlib.
5975
fc9e5810
BC
59762010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
5977
5978 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
5979
4b358c0a
VS
59802010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
5983 stack since heap may be unavailable at that point.
5984 (grub_ofconsole_gotoxy): Likewise.
5985
454fcd1c
VS
59862010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * configure.ac: Check for _restgpr_14_x.
5989 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
5990 and _savegpr_* prototypes.
5991
566863ca
RM
59922010-01-22 Robert Millan <rmh.grub@aybabtu.com>
5993
5994 Use generic grub_reboot() for i386-efi.
5995
5996 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
5997 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
5998 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
5999
bf86e59a
VS
60002010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
6003 presence of "prefix" variable as it breaks when normal.mod is
6004 embedded.
6005
d645e0f8
VS
60062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
6009 stack since heap is unavailable at that point.
6010
f9ab2e25
VS
60112010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
6014 (grub_freebsd_bootinfo): Rewritten.
6015 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
6016
01fc7054
VS
60172010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
6020
caab4fd6
RM
60212010-01-21 Robert Millan <rmh.grub@aybabtu.com>
6022
6023 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
6024 domain now.
6025
67eb1427
FZ
60262010-01-20 Felix Zielcke <fzielcke@z-51.de>
6027
6028 * util/misc.c (make_system_path_relative_to_its_root): Change the work
6029 around for handling "/" to the correct fix. Fix a memory leak. Use
6030 xstrdup instead of strdup.
6031
a9ed4ff3
VS
60322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
6035
60362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
6037
6038 Optimise glyph lookup by Basic Multilingual Plane lookup array.
6039
6040 * font/font.c (struct grub_font): New member 'bmp_idx'.
6041 (font_init): Initialise 'bmp_idx'.
6042 (load_font_index): Fill 'bmp_idx'.
6043 (find_glyph): Make inline. Use bmp_idx for BMP characters.
6044
48209f4f
VS
60452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
6048 unnecessary calls.
6049
9f0a4bb7
VS
60502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Move context handling out of the kernel.
6053
6054 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
6055 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
6056 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
6057 * conf/i386-efi.rmk: Likewise.
6058 * conf/i386-ieee1275.rmk: Likewise.
6059 * conf/i386-pc.rmk: Likewise.
6060 * conf/powerpc-ieee1275.rmk: Likewise.
6061 * conf/sparc64-ieee1275.rmk: Likewise.
6062 * conf/x86_64-efi.rmk: Likewise.
6063 * include/grub/env.h: Include grub/menu.h.
6064 (grub_env_var_type): Removed.
6065 (grub_env_var): Replaced field 'type' with 'global'.
6066 (grub_env_find): New prototype.
6067 (grub_env_context_open): Remove EXPORT_FUNC.
6068 (grub_env_context_close): Likewise.
6069 (grub_env_export): Likewise.
6070 (grub_env_set_data_slot): Removed.
6071 (grub_env_get_data_slot): Likewise.
6072 (grub_env_unset_data_slot): Likewise.
6073 (grub_env_unset_menu): New prototype.
6074 (grub_env_set_menu): Likewise.
6075 (grub_env_get_menu): Likewise.
6076 * include/grub/env_private.h: New file.
6077 * include/grub/normal.h (grub_context_init): New prototype.
6078 (grub_context_fini): Likewise.
6079 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
6080 * normal/context.c (grub_cmd_export): ... to here.
6081 * kern/env.c: Include env_private.h.
6082 (HASHSZ): Moved to include/grub/env_private.h.
6083 (grub_env_context): Likewise.
6084 (grub_env_sorted_var): Likewise.
6085 (current_context): Renamed from this ...
6086 (grub_current_context): ...to this. 'static' removed. All users updated.
6087 (grub_env_find): Removed 'static'.
6088 (grub_env_context_open): Moved to normal/context.c.
6089 (grub_env_context_close): Likewise.
6090 (grub_env_export): Likewise.
6091 (mangle_data_slot_name): Removed.
6092 (grub_env_set_data_slot): Likewise.
6093 (grub_env_get_data_slot): Likewise.
6094 (grub_env_unset_data_slot): Likewise.
6095 * kern/main.c (grub_set_root_dev): Don't export root.
6096 It will be done later.
6097 (grub_main): Don't export prefix.
6098 It will be done later.
6099 * normal/context.c: New file.
6100 * normal/main.c (free_menu): Use grub_env_unset_menu.
6101 (grub_normal_add_menu_entry): Use grub_env_get_menu.
6102 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
6103 (GRUB_MOD_INIT(normal)): Call grub_context_init.
6104 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
6105
8dd35b8c
VS
61062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 setpci support.
6109
6110 * commands/setpci.c: New file.
6111 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
6112 (setpci_mod_SOURCES): New variable.
6113 (setpci_mod_CFLAGS): Likewise.
6114 (setpci_mod_LDFLAGS): Likewise.
6115
449193d5
VS
61162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Byte-addressable PCI configuration space.
6119
6120 * bus/pci.c (grub_pci_make_address): Use byte address instead of
6121 dword address.
6122 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
6123 GRUB_PCI_REG_CACHELINE.
6124 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
6125 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
6126 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
6127 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
6128 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
6129 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
6130 grub_pci_make_address.
6131 (lock_rom_area): Likewise.
6132 * commands/lspci.c (grub_lspci_iter): Use macroses
6133 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
6134 of grub_pci_make_address.
6135 * disk/ata.c (grub_ata_pciinit): Likewise.
6136 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
6137 (GRUB_PCI_REG_VENDOR): Likewise.
6138 (GRUB_PCI_REG_DEVICE): Likewise.
6139 (GRUB_PCI_REG_COMMAND): Likewise.
6140 (GRUB_PCI_REG_STATUS): Likewise.
6141 (GRUB_PCI_REG_REVISION): Likewise.
6142 (GRUB_PCI_REG_CLASS): Likewise.
6143 (GRUB_PCI_REG_CACHELINE): Likewise.
6144 (GRUB_PCI_REG_LAT_TIMER): Likewise.
6145 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
6146 (GRUB_PCI_REG_BIST): Likewise.
6147 (GRUB_PCI_REG_ADDRESSES): Likewise.
6148 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6149 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6150 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6151 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6152 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6153 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6154 (GRUB_PCI_REG_CIS_POINTER): Likewise.
6155 (GRUB_PCI_REG_SUBVENDOR): Likewise.
6156 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
6157 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
6158 (GRUB_PCI_REG_CAP_POINTER): Likewise.
6159 (GRUB_PCI_REG_IRQ_LINE): Likewise.
6160 (GRUB_PCI_REG_IRQ_PIN): Likewise.
6161 (GRUB_PCI_REG_MIN_GNT): Likewise.
6162 (GRUB_PCI_REG_MAX_LAT): Likewise.
6163 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
6164 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
6165 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 6166 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
6167 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
6168 space.
6169
96d73208
RM
61702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6171
6172 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
6173 can be reliably determined to be supported.
6174
d4484482
RM
61752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6176
6177 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
6178 that VESA is supported.
6179 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
6180 supported.
6181
00308ecf
VS
61822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
6185
f66924a4
RM
61862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6187
6188 * util/misc.c (make_system_path_relative_to_its_root): Work around
6189 special-casing of "/", as previous incarnation of this routine did.
6190
cbca0ada
VS
61912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Fix any-emu compilation.
6194
6195 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
6196 * grub_bin2h_SOURCES: New variable.
6197
34a66d99
RM
61982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6199
6200 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
6201
94fabf58
RM
62022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6203
6204 * util/grub.d/00_header.in: Fix handling of locale_dir.
6205
02cf98ca
VS
62062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
6209 as possible unifont location (Gentoo).
6210 Reported by: Alexander Brüning
6211
327dbcd7
VS
62122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 Don't try to generate lists for kernel.img.
6215
6216 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
6217 (pkglib_MODULES): Remove kernel.img.
6218 (kernel_img_EXPORTS): Removed.
6219 (kernel_img_RELOCATABLE): New variable.
6220 * conf/x86_64-efi.rmk: Likewise.
6221 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
6222
ca467290
VS
62232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
6226 grub_xasprintf or grub_snprintf.
6227 (grub_vsprintf): Likewise.
6228 (grub_snprintf): New proto.
6229 (grub_vsnprintf): Likewise.
6230 (grub_xasprintf): Likewise.
6231 (grub_xvasprintf): Likewise.
6232 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
6233 (grub_sprintf): Removed.
6234 (grub_vsnprintf): New function.
6235 (grub_snprintf): Likewise.
6236 (grub_xvasprintf): Likewise.
6237 (grub_xasprintf): Likewise.
6238 (grub_vsprintf): Renamed to ...
6239 (grub_vsnprintf_real): ...this. New argument max_len.
6240
aca655fd
BC
62412010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
6242
6243 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
6244 fix grub-script-check warning.
6245
7ee92c32
VS
62462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * include/grub/font.h (grub_font_load): Fix prototype.
6249
f80927ca
VS
62502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
6253
119c50ea
VS
62542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * include/grub/x86_64/at_keyboard.h: New file.
6257
47d5f3c1
VS
62582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * loader/mips/linux.c: Include missing grub/i18n.h.
6261
55ff5266
RM
62622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6263
6264 * normal/menu.c (notify_execution_failure): Clarify error message.
6265
c893cc87
RM
62662009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6267
6268 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
6269 return value (and revert all return statements). Update users.
6270
917dd370
CW
62712010-01-20 Dan Merillat <debian@dan.merillat.org>
6272
6273 * kern/device.c (grub_device_iterate): Allocate new part_ent
6274 structure based on sizeof (*p) rather than sizeof (p->next), to
6275 account for structure padding.
6276
6277 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
6278 disk is NULL, which might happen for LVM physical volumes with no
6279 LVM signature.
6280
d4a4ee57
RM
62812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6282
6283 * loader/mips/linux.c (grub_cmd_initrd)
6284 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
6285
62862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
6287
6288 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
6289 (grub_video_video_init, grub_video_bitmap_init)
6290 (grub_font_manager_init, grub_term_gfxterm_init)
6291 (grub_at_keyboard_init): New extern declarations.
6292 (grub_machine_init): Initialize gfxterm and at_keyboard.
6293
6294 * kern/main.c (grub_main): Revert grub_printf delay kludge.
6295
6296 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
6297 `gfxterm.mod' into core image.
6298
6299 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6300 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6301 (kernel_img_FORMAT): Copy to ...
6302
6303 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6304 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6305 (kernel_img_FORMAT): ... here, and ...
6306
6307 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
6308 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
6309 (kernel_img_FORMAT): ... here.
6310
6311 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
6312 and input (at_keyboard) terminals in kernel.
6313 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
6314
6315 (pkglib_MODULES): Remove `pci.mod'.
6316 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
6317 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
6318 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
6319 (at_keyboard_mod_LDFLAGS): Remove variables.
6320
63212010-01-11 Felix Zielcke <fzielcke@z-51.de>
6322
6323 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
6324
63252009-12-10 Robert Millan <rmh.grub@aybabtu.com>
6326
6327 * include/grub/mips/libgcc.h: Only export symbols for functions
6328 that libgcc provides.
6329
63302009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 MIPS support.
6333
6334 * bus/bonito.c: New file.
6335 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
6336 GRUB_PCI_NUM_DEVICES.
6337 * term/i386/pc/serial.c: Move to ...
6338 * term/serial.c: ... here. All users updated.
6339 * util/i386/pc/grub-mkimage.c: Move to ...
6340 * util/grub-mkrawimage.c: ... here. All users updated.
6341 * term/i386/pc/at_keyboard.c: Move to ...
6342 * term/at_keyboard.c: ... here. All users updated.
6343 * conf/mips-qemu-mips.rmk: New file.
6344 * conf/mips-yeeloong.rmk: Likewise.
6345 * conf/mips.rmk: Likewise.
6346 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
6347 mipsel-qemu-mips.
6348 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
6349 to port addresses.
6350 (grub_ata_pciinit): Support CS5536.
6351 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
6352 * font/font_cmd.c (loadfont_command): Open file before passing it to
6353 grub_font_load.
6354 (pseudo_file_read): New function.
6355 (pseudo_file_close): Likewise.
6356 (pseudo_fs): New structure.
6357 (load_font_module): New function.
6358 (GRUB_MOD_INIT(font_manager)): Load embedded font.
6359 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
6360 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
6361 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
6362 * include/grub/i386/at_keyboard.h: Split into ...
6363 * include/grub/at_keyboard.h: ... this ...
6364 * include/grub/i386/at_keyboard.h: ... and this.
6365 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
6366 New prototype.
6367 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
6368 updated.
6369 (grub_elf64_size): Likewise.
6370 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
6371 filename.
6372 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
6373 * include/grub/i386/coreboot/serial.h: Rewritten.
6374 * include/grub/i386/ieee1275/serial.h: Include
6375 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
6376 * include/grub/i386/pc/serial.h: Moved from here ...
6377 * include/grub/serial.h: ... to here. All users updated.
6378 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
6379 (GRUB_PCI_NUM_BUS): Likewise.
6380 (GRUB_PCI_NUM_DEVICES): Likewise.
6381 (grub_pci_device_map_range): Add missing volatile keyword.
6382 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
6383 * include/grub/mips/at_keyboard.h: New file.
6384 * include/grub/mips/cache.h: Likewise.
6385 * include/grub/mips/io.h: Likewise.
6386 * include/grub/mips/kernel.h: Likewise.
6387 * include/grub/mips/libgcc.h: Likewise.
6388 * include/grub/mips/pci.h: Likewise.
6389 * include/grub/mips/qemu-mips/boot.h: Likewise.
6390 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6391 * include/grub/mips/qemu-mips/loader.h: Likewise.
6392 * include/grub/mips/qemu-mips/memory.h: Likewise.
6393 * include/grub/mips/qemu-mips/serial.h: Likewise.
6394 * include/grub/mips/qemu-mips/time.h: Likewise.
6395 * include/grub/mips/relocator.h: Likewise.
6396 * include/grub/mips/time.h: Likewise.
6397 * include/grub/mips/types.h: Likewise.
6398 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
6399 * include/grub/mips/yeeloong/boot.h: Likewise.
6400 * include/grub/mips/yeeloong/kernel.h: Likewise.
6401 * include/grub/mips/yeeloong/loader.h: Likewise.
6402 * include/grub/mips/yeeloong/memory.h: Likewise.
6403 * include/grub/mips/yeeloong/pci.h: Likewise.
6404 * include/grub/mips/yeeloong/serial.h: Likewise.
6405 * include/grub/mips/yeeloong/time.h: Likewise.
6406 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
6407 * kern/elf.c (grub_elf32_size): New parameter. All users
6408 updated.
6409 (grub_elf64_size): Likewise.
6410 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
6411 Load modules before saying "Welcome to GRUB!".
6412 Call grub_refresh after saying "Welcome to GRUB!".
6413 * kern/mips/cache.S: New file.
6414 * kern/mips/cache_flush.S: Likewise.
6415 * kern/mips/dl.c: Likewise.
6416 * kern/mips/init.c: Likewise.
6417 * kern/mips/qemu-mips/init.c: Likewise.
6418 * kern/mips/startup.S: Likewise.
6419 * kern/mips/yeeloong/init.c: Likewise.
6420 * kern/term.c (grub_putcode): Handle NULL terminal.
6421 (grub_getcharwidth): Likewise.
6422 (grub_getkey): Likewise.
6423 (grub_checkkey): Likewise.
6424 (grub_getkeystatus): Likewise.
6425 (grub_getxy): Likewise.
6426 (grub_getwh): Likewise.
6427 (grub_gotoxy): Likewise.
6428 (grub_cls): Likewise.
6429 (grub_setcolorstate): Likewise.
6430 (grub_setcolor): Likewise.
6431 (grub_getcolor): Likewise.
6432 (grub_refresh): Likewise.
6433 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
6434 (write_jump): Add hatch nop.
6435 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
6436 * lib/mips/setjmp.S: New file.
6437 * loader/mips/linux.c: Likewise.
6438 * term/i386/pc/at_keyboard.c: Move from here ...
6439 * term/at_keyboard.c: ... to here.
6440 * term/i386/pc/serial.c: Moved from here ...
6441 * term/serial.c: ... to here. All users updated.
6442 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
6443 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
6444 (serial_translate_key_sequence): Avoid deadlock.
6445 (grub_serial_getkey): Handle backspace.
6446 (grub_serial_putchar): Fix newline handling.
6447 * util/i386/pc/grub-mkimage.c: Move from here ...
6448 * util/grub-mkrawimage.c: ... to here. All users updated.
6449 (generate_image): New parameters 'font_path' and 'format'.
6450 Support embedding font.
6451 Use grub_host_to_target* instead of grub_cpu_to_le*.
6452 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
6453 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
6454 (options): New option "--font".
6455 (usage): Likewise.
6456 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
6457 (main): Handle "--font".
6458 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
6459 (grub_virtual_screen_setup): Set bg_color_display.
6460 (redraw_screen_rect): Use bg_color_display instead of incorrect
6461 bg_color.
6462 (grub_gfxterm_cls): Likewise.
6463 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
6464 Support embedding config file.
6465 (add_segments): Likewise.
6466 (options): New option "--config".
6467 (main): Handle "--config".
6468 * video/sm712.c: New file.
6469
25c2b5b3
RM
64702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6471
6472 Fix parallel builds.
6473
6474 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
6475 font.c depend on ascii.h).
6476
64772010-01-12 Carles Pina i Estany <carles@pina.cat>
6478
6479 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
6480
64812010-01-11 Carles Pina i Estany <carles@pina.cat>
6482
6483 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
6484 By default: disabled.
6485 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
6486 parameter.
6487
64882010-01-10 Carles Pina i Estany <carles@pina.cat>
6489
6490 * font/font.c: Update copyright years.
6491 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
6492
64932010-01-10 Carles Pina i Estany <carles@pina.cat>
6494
6495 * font/font.c: Include `ascii.h'.
6496 (ASCII_BITMAP_SIZE): New macro.
6497 (ascii_font_glyph): Define.
6498 (ascii_glyph_lookup): New function.
6499 (grub_font_get_string_width): Change comment. If glyph not found, use
6500 ascii_glyph_lookup.
6501 (grub_font_get_glyph_with_fallback): If glyph not available returns
6502 ascii_glyph_lookup.
6503 * util/grub-mkfont.c (file_formats): New enum.
6504 (options): Add `ascii-bitmaps' new option.
6505 (usage): Add `asii-bitmaps' new option.
6506 (write_font_ascii_bitmap): New function.
6507 (write_font): Rename to ...
6508 (write_font_p2): ... this. Remove print_glyphs call.
6509 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
6510 used. Call print_glyphs.
6511 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
6512
65132010-01-14 Robert Millan <rmh.grub@aybabtu.com>
6514
6515 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
6516 (grub_bin2h_SOURCES): New variable.
6517 * util/bin2h.c: New file.
6518
915fc1b8
VS
65192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * include/multiboot.h: Resynced with spec.
6522 * include/multiboot2.h: Likewise.
6523 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
6524 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
6525
9444b678
RM
65262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6527
6528 * include/grub/term.h (grub_term_register_input,
6529 grub_term_register_output): Check return of terminal init()
6530 routines, and abort if errors are raised.
6531
6532 * commands/terminal.c: Update copyright year.
6533
cba98e8d
RM
65342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6535
6536 * commands/terminal.c (grub_cmd_terminal_input)
6537 (grub_cmd_terminal_output): Check return of terminal init()
6538 routines, and abort if errors are raised.
6539
6f7db5d6
VS
65402010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * include/grub/i386/bsd.h: Fix include pathes.
6543
262bff8d
VS
65442010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 Add missing *BSD copyright headers.
6547
6548 * include/grub/aout.h: Add BSD licence.
6549 * include/grub/i386/bsd.h: Parts under different licences moved to ...
6550 * include/grub/i386/freebsd_linker.h: ... here,
6551 * include/grub/i386/freebsd_reboot.h: ... here,
6552 * include/grub/i386/netbsd_bootinfo.h: ... here,
6553 * include/grub/i386/netbsd_reboot.h: ... here,
6554 * include/grub/i386/openbsd_bootarg.h: ... here,
6555 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
6556 licence to each file.
6557
b2cab848
RM
65582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6559
6560 * acinclude.m4: Remove `nop' assembly instruction; it's not
6561 implemented by all architectures.
6562
2cb6be4b
RM
65632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6564
6565 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
6566 ELILO. This is no longer necessary.
6567
a2eaee15
BC
65682010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
6569
6570 Added new tool, grub-scrit-check to verify grub.cfg syntax.
6571
6572 * util/grub-script-check.c: grub-script-check tool.
6573 * conf/common.rmk: Make rules for grub-script-check.
6574
88d17012
RM
65752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6576
6577 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
6578 spotting it back in 2008. Shame on me for forgetting he did.
6579
6580 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
6581
8040619d
RM
65822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
6583
6584 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
6585 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
6586 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
6587 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
6588 (GRUB_VIDEO_TYPE_EFI): Rename to ...
6589 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
6590
a0c2a0f6
RM
65912010-01-17 Robert Millan <rmh.grub@aybabtu.com>
6592
6593 * include/grub/test.h: Add license header.
6594 * tests/example_functional_test.c: Likewise.
6595 * tests/example_unit_test.c: Likewise.
6596 * tests/lib/functional_test.c: Likewise.
6597 * tests/lib/test.c: Likewise.
6598 * tests/lib/unit_test.c: Likewise.
6599
b0b13907
VS
66002010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Use flag-based instead of hook-based video mode selection and "auto"
6603 keyword.
6604
6605 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
6606 (grub_video_set_mode): Changed prototype. All users updated.
6607 (grub_video_check_mode_flag): New inline function.
6608 * video/video.c (parse_modespec): New function.
6609 (grub_video_set_mode): Parse flags and keywords.
6610
ea379330 66112010-01-17 Carles Pina i Estany <carles@pina.cat>
6612
6613 * util/misc.c (grub_util_info): Fix the order of the parameters in a
6614 fprintf call.
6615
e15c215e
FZ
66162010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
6617
6618 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
6619
409ae1c9 66202010-01-16 Carles Pina i Estany <carles@pina.cat>
6621
6622 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
6623 string.
6624 * util/grub-emu.c (usage): Likewise.
6625 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
6626 * util/i386/efi/grub-mkimage.c (usage): Likewise.
6627 * util/i386/pc/grub-mkimage.c (usage): Likewise.
6628 * util/i386/pc/grub-setup.c (usage): Likewise.
6629
70a14d3d 66302010-01-16 Carles Pina i Estany <carles@pina.cat>
6631
6632 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
6633 the message.
6634 (grub_util_info): Likewise.
6635 (grub_util_error): Likewise.
6636 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
6637 and/or new lines in `grub_util_warna', `grub_util_info',
6638 `grub_util_error' calls.
6639 * util/getroot.c: Likewise.
6640 * util/grub-editenv.c: Likewise.
6641 * util/grub-emu.c: Likewise.
6642 * util/grub-fstest.c: Likewise.
6643 * util/grub-mkdevicemap.c: Likewise.
6644 * util/grub-mkfont.c: Likewise.
6645 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6646 * util/grub-mkrelpath.c: Likewise.
6647 * util/grub-pe2elf.c: Likewise.
6648 * util/grub-probe.c: Likewise.
6649 * util/hostdisk.c: Likewise.
6650 * util/i386/efi/grub-mkimage.c: Likewise.
6651 * util/i386/pc/grub-mkimage.c: Likewise.
6652 * util/i386/pc/grub-setup.c: Likewise.
6653 * util/ieee1275/ofpath.c: Likewise.
6654 * util/mkisofs/eltorito.c: Likewise.
6655 * util/mkisofs/rock.c: Likewise.
6656 * util/mkisofs/write.c: Likewise.
6657 * util/raid.c: Likewise.
6658 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6659 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6660
a0b766fc
VS
66612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 Enable multiboot on non-pc.
6664
6665 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
6666 multiboot.mod and multiboot2.mod to ...
6667 * conf/i386.rmk (pkglib_MODULES): ... here.
6668 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
6669 Moved to ...
6670 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
6671 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
6672 Moved to ...
6673 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
6674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
6675 Moved to ...
6676 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
6677 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
6678 Moved to ...
6679 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
6680 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
6681 relocator.mod.
6682 (ata_mod_SOURCES): Removed.
6683 (ata_mod_CFLAGS): Likewise.
6684 (ata_mod_LDFLAGS): Likewise.
6685 (relocator_mod_SOURCES): Removed.
6686 (relocator_mod_CFLAGS): Likewise.
6687 (relocator_mod_ASFLAGS): Likewise.
6688 (relocator_mod_LDFLAGS): Likewise.
6689 Include i386.mk.
6690 * include/grub/x86_64/multiboot.h: New file.
6691 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
6692 Terminate EFI.
6693
884ade56
VS
66942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Video multiboot support.
6697
6698 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
6699 New prototype.
6700 * include/multiboot.h: Resynced with multiboot specification.
6701 * include/multiboot2.h: Likewise.
6702 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
6703 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
6704 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
6705 (HAS_VGA_TEXT): Likewise.
6706 (accepts_video): New variable.
6707 (grub_multiboot_set_accepts_video): New function.
6708 (grub_multiboot_get_mbi_size): Account for video structures.
6709 (set_video_mode): New function.
6710 (retrieve_video_parameters): Likewise.
6711 (grub_multiboot_make_mbi): Fill video fields.
6712
0d90e8a6
VS
67132010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Video driver ids.
6716
6717 * include/grub/video.h (grub_video_driver_id): New type.
6718 (grub_video_adapter): New member 'id'. All users updated.
6719 (grub_video_get_driver_id): New proto.
6720 * video/video.c (grub_video_get_driver_id): New function.
6721
5c71db1b 67222010-01-14 Carles Pina i Estany <carles@pina.cat>
6723
6724 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
6725 `var=val'.
6726
cca15b52 67272010-01-14 Carles Pina i Estany <carles@pina.cat>
6728
6729 * normal/cmdline.c (print_completion): Gettextizze.
6730
c586fbb2 67312001-01-14 Carles Pina i Estany <carles@pina.cat>
6732
6733 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
6734
ba2f6848 67352010-01-14 Carles Pina i Estany <carles@pina.cat>
6736
6737 * gettext/gettext.c (grub_gettext_translate): Push and pop
6738 grub_errno.
6739 (grub_gettext_delete_list): Change comment style.
6740 * kern/err.c (grub_error): Gettextizze.
6741 (grub_fatal): Gettextizze.
6742
0a46429a
RM
67432010-01-14 Robert Millan <rmh.grub@aybabtu.com>
6744
6745 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
6746 (grub_linux16_real_boot): ... this.
6747 * kern/i386/loader.S: Likewise.
6748 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
6749 (grub_linux16_boot): New function. Switches to text mode and calls
6750 grub_linux16_real_boot().
6751
6752 * loader/i386/bsd.c: Include `<grub/video.h>'.
6753 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
6754 text mode before calling grub_unix_real_boot().
6755
6756 * loader/i386/multiboot.c: Include `<grub/video.h>'.
6757 (grub_multiboot_boot): Switch to text mode before calling
6758 grub_relocator32_boot().
6759
6760 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
6761 (grub_chainloader_boot): Switch to text mode before calling
6762 grub_chainloader_real_boot().
6763
d6f93a66
RM
67642010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
67652010-01-05 Colin Watson <cjwatson@ubuntu.com>
6766
6767 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
6768 non-empty value.
6769
67702010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
67712010-01-05 Colin Watson <cjwatson@ubuntu.com>
6772
6773 * util/grub.d/00_header.in: Define a "savedefault" function for use
6774 in menu entries.
6775 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
6776
67772010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
67782010-01-05 Colin Watson <cjwatson@ubuntu.com>
6779
6780 * util/grub-mkconfig_lib.in (save_default_entry): Only set
6781 saved_entry if boot_once is unset.
6782 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
6783 previous saved entry (i.e. grub-reboot).
6784
67852009-12-08 Colin Watson <cjwatson@ubuntu.com>
6786
6787 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
6788
67892009-12-08 Colin Watson <cjwatson@ubuntu.com>
6790
6791 * util/grub.d/00_header.in: Use `set var=val' rather than plain
6792 `var=val'.
6793 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
6794
67952009-12-08 Colin Watson <cjwatson@ubuntu.com>
6796
6797 * util/grub-reboot.in: Fix --version output.
6798 * util/grub-set-default.in: Likewise.
6799
68002009-12-08 Colin Watson <cjwatson@ubuntu.com>
6801
6802 * util/grub.d/00_header.in: Silently ignore zero-sized environment
6803 blocks.
6804
68052009-12-08 Colin Watson <cjwatson@ubuntu.com>
6806
6807 * util/grub.d/00_header.in: Quote the value assigned to `default',
6808 in case it contains spaces.
6809
68102009-12-08 Colin Watson <cjwatson@ubuntu.com>
6811
6812 * util/grub.d/30_os-prober.in: Fix merge error that moved a
6813 `save_default_entry' call from the macosx case to the linux case.
6814
68152009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
68162009-10-25 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
6819 in `chosen' environment variable.
6820 * normal/menu_text.c (get_entry_number): Check if the variable
6821 matches the title of a menu entry.
6822 (run_menu): Pass menu to get_entry_number.
6823
6824 * util/grub-reboot.in: New file.
6825 * util/grub-set-default.in: New file.
6826 * conf/common.rmk (grub-reboot): New utility.
6827 (grub-set-default): New utility.
6828
6829 * util/grub-mkconfig_lib.in (save_default_entry): New function.
6830 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
6831 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
6832 move it to `saved_entry' for the next boot. Load environment on
6833 initialisation.
6834 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
6835 * util/grub.d/10_hurd.in: Likewise.
6836 * util/grub.d/10_linux.in (linux_entry): Likewise.
6837 * util/grub.d/10_windows.in: Likewise.
6838 * util/grub.d/30_os-prober.in: Likewise.
6839
6840 * util/grub-install.in: Create environment block.
6841 * util/i386/efi/grub-install.in: Likewise.
6842 * util/ieee1275/grub-install.in: Likewise.
6843 * util/sparc64/ieee1275/grub-install.in: Likewise.
6844
0934d184
BC
68452010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
6846
6847 Unit testing framework for GRUB.
6848
6849 * Makefile.in: Test framework build rules for 'make check'.
6850 * conf/tests.rmk: Build rules for individual tests and framework.
6851
6852 * include/grub/test.h: Header file for whitebox tests.
6853 * tests/lib/functional_test.c: Framework support for whitebox
6854 functional tests.
6855 * tests/lib/test.c: Common whitebox testing code for unit and
6856 functional tests.
6857 * tests/lib/unit_test.c: Framework support for whitebox unit
6858 tests.
6859
6860 * tests/util/grub-shell-tester.in: Support utility for grub-script
6861 tests.
6862 * tests/util/grub-shell.in: Utility to execute grub-script
6863 commands in a Qemu instance.
6864
6865 * tests/example_functional_test.c: Example whitebox functional
6866 test.
6867 * tests/example_grub_script_test.in: Example grub-script test.
6868 * tests/example_scripted_test.in: Example scripted test.
6869 * tests/example_unit_test.c: Example whitebox unit test.
6870
9c4ffeeb
VS
68712010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
6874 Add loader/i386/multiboot_mbi.c.
6875 (multiboot2_mod_SOURCES): Likewise.
6876 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
6877 (multiboot2_mod_SOURCES): Likewise.
6878 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
6879 (grub_multiboot_make_mbi): Likewise.
6880 (grub_multiboot_free_mbi): Likewise.
6881 (grub_multiboot_init_mbi): Likewise.
6882 (grub_multiboot_add_module): Likewise.
6883 (grub_multiboot_set_bootdev): Likewise.
6884 * loader/i386/multiboot.c (mbi): Removed.
6885 (mbi_dest): Likewise.
6886 (alloc_mbi): New variable.
6887 (grub_multiboot_payload_size): Removed. All users updated.
6888 (grub_multiboot_pure_size): New variable.
6889 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
6890 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
6891 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
6892 (grub_fill_multiboot_mmap): Likewise.
6893 (grub_multiboot_get_bootdev): Likewise.
6894 (grub_multiboot): Use multiboot_mbi functions.
6895 * loader/i386/multiboot_mbi.c: New file.
6896
17383dfe
VS
68972010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
6900 it would result in module crash.
6901
c1f28820
VS
69022010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
6905 (grub_ofconsole_getwh): Split to ...
6906 (grub_ofconsole_getwh): ... this.
6907 (grub_ofconsole_dimensions): ...and this.
6908 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
6909
58655a16
RM
69102010-01-13 Robert Millan <rmh.grub@aybabtu.com>
6911
6912 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
6913
10891398
VS
69142010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * loader/i386/pc/multiboot2.c: Removed stalled file.
6917
0b8a223c
VS
69182010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
6921 Reported by: Grégoire Sutre
6922
92ab12b0
RM
69232010-01-11 Robert Millan <rmh.grub@aybabtu.com>
6924
6925 * util/misc.c (canonicalize_file_name): New function.
6926 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
6927 instead of realpath().
6928
a788afb6
CW
69292010-01-11 Colin Watson <cjwatson@ubuntu.com>
6930
6931 * util/grub-install.in (usage): Clarify meaning of --root-directory,
6932 and make it clearer that it's optional. Based on confusion
6933 witnessed on IRC.
6934
ffa8e3d2
VS
69352010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
6938 in premature implicit newline.
6939
e9060a9d
VS
69402010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6943 which resulted in garbled command line at the end of screen.
6944
f0d0c0b7
RM
69452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6946
6947 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
6948 initialization with similar approach as with other Linux loaders.
6949
0e60bae7
RM
69502010-01-10 Robert Millan <rmh.grub@aybabtu.com>
6951
6952 Fix i386-ieee1275 build.
6953
6954 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
6955 and grub_term_height() for video_{width,height} initialization.
6956
69572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
6958
6959 Fix grub-emu build.
6960
6961 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
6962
cdb3f378
RM
69632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
69642010-01-09 Robert Millan <rmh.grub@aybabtu.com>
6965
6966 Support for multiple terminals.
6967
6968 * Makefile.in (pkglib_DATA): terminal.lst.
6969 (terminal.lst): New target.
6970 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
6971 (GRUB_MOD_INIT(handler)): Likewise.
6972 (GRUB_MOD_FINI(handler)): Likewise.
6973 * commands/help.c (grub_cmd_help): Handle multiple terminals.
6974 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
6975 * commands/sleep.c (do_print): Use grub_term_restore_pos.
6976 (grub_cmd_sleep): Use grub_term_save_pos.
6977 * commands/terminal.c: New file.
6978 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
6979 commands/terminal.c and lib/charset.c.
6980 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
6981 (pkglib_MODULES): Add terminal.mod.
6982 (terminal_mod_SOURCES): New variable.
6983 (terminal_mod_CFLAGS): Likewise.
6984 (terminal_mod_LDFLAGS): Likewise.
6985 * genhandlerlist.sh: Don't handle terminals.
6986 * genmk.rb: Generate terminal-*.lst.
6987 * genterminallist.sh: New file.
6988 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
6989 (grub_is_valid_utf8): Likewise.
6990 (grub_utf8_to_ucs4_alloc): Likewise.
6991 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
6992 (grub_menu_register_viewer): Changed argument.
6993 (grub_menu_try_text): New proto.
6994 (grub_gfxmenu_try_hook): New declaration.
6995 * include/grub/normal.h (grub_normal_exit_level): New declaration.
6996 (grub_menu_init_page): Additional argument term.
6997 (grub_normal_init_page): Likewise.
6998 (grub_cmdline_get): Arguments simplified.
6999 (grub_utf8_to_ucs4_alloc): Removed.
7000 (grub_print_ucs4): Additional argument term.
7001 (grub_getstringwidth): Likewise.
7002 (grub_print_message_indented): Likewise.
7003 (grub_menu_text_register_instances): New proto.
7004 (grub_show_menu): Likewise.
7005 (read_terminal_list): Likewise.
7006 (grub_set_more): Likewise.
7007 * include/grub/parser.h: Include handler.h.
7008 * include/grub/reader.h: Rewritten.
7009 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
7010 (GRUB_TERM_WIDTH): Changed to function.
7011 (GRUB_TERM_HEIGHT): Likewise.
7012 (GRUB_TERM_BORDER_WIDTH): Likewise.
7013 (GRUB_TERM_BORDER_HEIGHT): Likewise.
7014 (GRUB_TERM_NUM_ENTRIES): Likewise.
7015 (GRUB_TERM_ENTRY_WIDTH): Likewise.
7016 (GRUB_TERM_CURSOR_X): Likewise.
7017 (grub_term_input_class): Likewise.
7018 (grub_term_output_class): Likewise.
7019 (grub_term_outputs_disabled): New declaration.
7020 (grub_term_inputs_disabled): Likewise.
7021 (grub_term_outputs): Likewise.
7022 (grub_term_inputs): Likewise.
7023 (grub_term_register_input): Rewritten.
7024 (grub_term_register_output): Likewise.
7025 (grub_term_unregister_input): Likewise.
7026 (grub_term_unregister_output): Likewise.
7027 (FOR_ACTIVE_TERM_INPUTS): New macro.
7028 (FOR_DISABLED_TERM_INPUTS): Likewise.
7029 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7030 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7031 * include/grub/terminfo.h: Add oterm argument to all protypes.
7032 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
7033 Use grub_rescue_run.
7034 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
7035 All users updated.
7036 * kern/reader.c: Removed. All users updated.
7037 * kern/rescue_reader.c (grub_rescue_init): Removed.
7038 (grub_rescue_reader): Likewise.
7039 (grub_register_rescue_reader): Likewise.
7040 (grub_rescue_run): New function based on kern/reader.c.
7041 * kern/term.c: Adapted for multiterm.
7042 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
7043 (grub_is_valid_utf8): Likewise.
7044 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
7045 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
7046 right terminal.
7047 * loader/i386/linux.c (grub_linux_boot): Likewise.
7048 * normal/auth.c (grub_username_get): New function.
7049 (grub_auth_check_authentication): Use grub_username_get.
7050 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
7051 * normal/color.c: Adapt for multiterm.
7052 * normal/main.c (read_config_file): Don't use grub_reader_loop.
7053 (grub_normal_init_page): Additional argument term.
7054 (read_lists): Call read_terminal_lists.
7055 (grub_enter_normal_mode): Call grub_cmdline_run.
7056 Handle grub_normal_exit_level.
7057 (grub_cmd_normal): Make reentrant.
7058 (grub_cmd_normal_exit): New function.
7059 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
7060 * normal/menu.c: Adapt for multiterm.
7061 * normal/menu_entry.c: Likewise.
7062 * normal/menu_text.c: Likewise.
7063 * normal/menu_viewer.c: Removed. All users updated.
7064 * normal/term.c: New file.
7065 * util/console.c: Change order of includes to workaround a bug in
7066 ncurses headers.
7067 * term/terminfo.c: New argument oterm on all exported functions.
7068 All users updated.
7069 * util/grub-editenv.c (grub_term_input_class): Removed.
7070 (grub_term_output_class): Likewise.
7071
1a064917
RM
70722010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7073
7074 Make loader output a bit more user-friendly.
7075
7076 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
7077 is being loaded. Likewise for the Hurd.
7078
7079 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
7080 that kernel of FreeBSD ${version} is being loaded.
7081
7082 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
7083 grub_dprintf().
7084 (grub_cmd_initrd): Likewise.
7085 * util/grub.d/10_linux.in (linux_entry): Print message indicating
7086 that Linux ${version} is being loaded. Likewise for initrd.
7087
5ce0a83a 70882010-01-09 Carles Pina i Estany <carles@pina.cat>
7089
7090 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
7091
809bbfeb 70922010-01-08 Carles Pina i Estany <carles@pina.cat>
7093
7094 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
7095 (GRUB_MOD_INIT): Gettextizze.
7096 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
7097 (GRUB_MOD_INIT): Gettextizze.
7098 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
7099 (grub_cmd_linux): Capitalise Linux.
7100 (GRUB_MOD_INIT): Gettextizze.
7101 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
7102 (grub_cmd_linux): Capitalise Linux.
7103 (GRUB_MOD_INIT): Gettextizze.
7104 * loader/i386/linux.c: Include `<grub/i18n.h>'.
7105 (grub_cmd_linux): Capitalise Linux.
7106 (GRUB_MOD_INIT): Gettextizze.
7107 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
7108 (GRUB_MOD_INIT): Gettextizze.
7109 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
7110 (grub_cmd_linux): Capitalise Linux.
7111 (GRUB_MOD_INIT): Gettextizze.
7112 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
7113 (grub_cpu_xnu_init): Gettextizze.
7114 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
7115 (GRUB_MOD_INIT): Gettextizze.
7116 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
7117 (GRUB_MOD_INIT): Gettextizze.
7118 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
7119 (grub_linux_load64): Capitalise Linux.
7120 (GRUB_MOD_INIT): Gettextizze.
7121 * loader/xnu.c: Include `<grub/i18n.h>'.
7122 (GRUB_MOD_INIT): Gettextizze.
7123 * po/POTFILES: Add `loader/efi/appleloader.c',
7124 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
7125 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
7126 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
7127 `loader/i386/xnu.c', `loader/multiboot_loader.c',
7128 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
7129 and `loader/xnu.c'.
7130
b394b2ca
RM
71312010-01-08 Robert Millan <rmh.grub@aybabtu.com>
7132
7133 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
7134
71352010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
7136
7137 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
7138 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
7139 * util/mkisofs/mkisofs.c (main): Readjust --version output.
7140
bc8b32b3
RM
71412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7142
7143 Reset Multiboot 2 support. New loader implements the draft in
7144 /branches/multiboot2 and shares as much code as possible with the
7145 production Multiboot 1 implementation.
7146
7147 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
7148 * loader/multiboot2.c: Likewise.
7149 * loader/i386/multiboot_helper.S: Likewise.
7150 * include/multiboot2.h: Replace with latest version from the draft
7151 in /branches/multiboot2.
7152
7153 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
7154 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
7155 and `loader/multiboot2.c'.
7156 (pkglib_MODULES): Add `multiboot2.mod'.
7157 (multiboot2_mod_SOURCES): New variable.
7158 (multiboot2_mod_LDFLAGS): Likewise.
7159 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
7160
7161 * conf/i386-pc.rmk: Likewise.
7162
7163 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7164 (multiboot_mod_SOURCES): Remove variable.
7165 (multiboot_mod_LDFLAGS): Likewise.
7166 (multiboot_mod_CFLAGS): Likewise.
7167
7168 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
7169 `<multiboot2.h>' instead of `<multiboot.h>'.
7170 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
7171 (MULTIBOOT_HEADER_MAGIC): New macros.
7172
7173 * loader/multiboot_loader.c (module_version_status): Remove variable.
7174 (find_multi_boot2_header): Remove function.
7175 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
7176 logic. Always check for the Multiboot version we're compiling for.
7177 (grub_cmd_module_loader): Likewise.
7178 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
7179 command instead of `multiboot'.
7180
5d2c52b8
RM
71812010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7182
7183 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
7184 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
7185 all users.
7186
53108d92
RM
71872010-01-07 Robert Millan <rmh.grub@aybabtu.com>
71882010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 Fix breakage introduced with previous commit.
7191
7192 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
7193 commands.
7194 * normal/handler.c (read_handler_list): Revert part of previous commit
7195 affecting this file.
7196 * normal/main.c (read_lists): Move read_handler_list() call back to ...
7197 (grub_normal_execute): ... here.
7198
e2e936b2
RM
71992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7200
7201 Merge prefix-redefinition-fix branch.
7202
7203 * normal/autofs.c (read_fs_list): Make function capable of being
7204 run multiple times, gracefuly replacing the previous data
7205 structures.
7206 * normal/dyncmd.c (read_command_list): Likewise.
7207 * normal/handler.c (read_handler_list): Likewise.
7208 * normal/main.c (read_lists): New function. Calls all the
7209 list reading functions.
7210 (grub_normal_execute): Use read_lists() instead of calling all
7211 list reading functions explicitly. Register read_lists() as a
7212 variable hook attached to ${prefix}.
7213
607a3701
VS
72142010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 Merge crypto branch.
7217
7218 * Makefile.in (pkglib_DATA): Add crypto.lst.
7219 (crypto.lst): New target.
7220 * commands/hashsum.c: New file.
7221 * commands/password.c (check_password): Use grub_crypto_memcmp.
7222 * commands/password_pbkdf2.c: New file.
7223 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
7224 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
7225 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
7226 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
7227 -I$(srcdir)/lib/libgcrypt_wrap.
7228 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
7229 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
7230 password_pbkdf2.mod.
7231 (crypto_mod_SOURCES): New variable.
7232 (crypto_mod_CFLAGS): Likewise.
7233 (crypto_mod_LDFLAGS): Likewise.
7234 (hashsum_mod_SOURCES): New variable.
7235 (hashsum_mod_CFLAGS): Likewise.
7236 (hashsum_mod_LDFLAGS): Likewise.
7237 (pbkdf2_mod_SOURCES): New variable.
7238 (pbkdf2_mod_CFLAGS): Likewise.
7239 (pbkdf2_mod_LDFLAGS): Likewise.
7240 (password_pbkdf2_mod_SOURCES): New variable.
7241 (password_pbkdf2_mod_CFLAGS): Likewise.
7242 (password_pbkdf2_mod_LDFLAGS): Likewise.
7243 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
7244 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
7245 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
7246 Include conf/gcry.rmk.
7247 * include/grub/auth.h: Rewritten.
7248 * include/grub/crypto.h: New file.
7249 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
7250 * include/grub/normal.h (read_crypto_list): New prototype.
7251 * lib/crypto.c: New file.
7252 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7253 * lib/pbkdf2.c: Likewise.
7254 * normal/auth.c (grub_auth_strcmp): Removed.
7255 (grub_iswordseparator): Likewise.
7256 (grub_auth_strword): Likewise.
7257 (is_authenticated): Use grub_strword.
7258 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
7259 and grub_strword. Pass entered password to authentication callback.
7260 * normal/crypto.c: New file.
7261 * normal/main.c: Call read_crypto_list.
7262 * util/grub-mkpasswd-pbkdf2.c: New file.
7263 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
7264
42841caa
VS
72652010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Fix descent and ascent calculation.
7268
7269 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
7270 (options): New option "asce".
7271 (usage): Likewise.
7272 (add_char): Ignore invalid glyphs for descent calculation.
7273 Calculate ascent from actual content.
7274 (print_glyphs): Use 'asce'.
7275 (write_font): Likewise. Allow ascent override.
7276 (main): Handle "asce" option.
7277
e7730de7 72782010-01-06 Carles Pina i Estany <carles@pina.cat>
7279
7280 * kern/err.c: Include `<grub/i18n.h>'.
7281 (grub_print_error): Add full stop. Gettextizze.
7282 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
7283 (grub_bsd_load_elf): Capitalise ELF.
7284 (grub_cmd_freebsd_loadenv): Add `s' in error string.
7285 (grub_cmd_freebsd_module): Likewise.
7286 (grub_cmd_freebsd_module_elf): Likewise.
7287 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
7288
40e3a41f 72892010-01-06 Carles Pina i Estany <carles@pina.cat>
7290
7291 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
7292 * commands/search_file.c (HELP_MESSAGE): New macro.
7293 * commands/search_label.c (HELP_MESSAGE): Likewise.
7294 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
7295 * po/POTFILES: Add `commands/search_file.c',
7296 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
7297 `commands/search.c'.
7298
83507e68
RM
72992010-01-05 Robert Millan <rmh.grub@aybabtu.com>
7300
7301 * config.rpath: Update from Gnulib.
7302
465c787b
YB
73032010-01-05 Yves Blusseau <blusseau@zetam.org>
7304
7305 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
7306
6581dd3a
YB
73072010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
7308
7309 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
7310
3bff18c5
CW
73112010-01-05 Colin Watson <cjwatson@ubuntu.com>
7312
7313 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
7314 arguments to fread so that we get a return value in bytes, rather
7315 than something that will normally be rounded down to 0.
7316 Adjust error handling to avoid producing garbage when size_t is not
7317 the same size as long long.
7318
a1368118
CW
73192010-01-05 Colin Watson <cjwatson@ubuntu.com>
7320
7321 * util/mkisofs/write.c (padblock_write): Check return value of
7322 fread.
7323
7c302978
RM
73242010-01-05 Robert Millan <rmh.grub@aybabtu.com>
7325
7326 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
7327 floppy images now.
7328
7329 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
7330
e33ace06
RM
73312010-01-04 Robert Millan <rmh.grub@aybabtu.com>
7332
7333 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
7334 instead of manual alignment.
7335 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
7336 verbose). Avoid attempts to read past end of the device
7337 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
7338 but GRUB_DISK_CACHE_SIZE may exceed that).
7339
4b856776
RM
73402010-01-04 Robert Millan <rmh.grub@aybabtu.com>
7341
7342 * commands/crc.c (grub_cmd_crc): Abort on read errors.
7343 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
7344 it to upper layer.
7345
52c2d97f
VS
73462010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
7349 New constant.
7350 (grub_efi_piwg_device_path): New structure
7351 (grub_efi_piwg_device_path_t): New type.
7352 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
7353 (devpath_1): Transform to a structure. All users updated.
7354 (devpath_2): Likewise.
7355 (devpath_3): Likewise.
7356 (devpath_4): Likewise.
7357 (devpath_5): Likewise.
7358
98ff6a54
VS
73592010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * loader/efi/appleloader.c: Restored. Update all users.
7362
3a73dcb6
RM
73632010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7364
7365 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
7366
7367 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
7368 (struct boot_blocklist): Move from here ...
7369 * include/grub/i386/pc/boot.h [ASM_FILE]
7370 (struct grub_boot_blocklist): ... to here. Update all users.
7371 (setup): Only initialize `start' member of `first_block'
7372 structure. Add assert() calls to verify the other members.
7373
7374 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
7375 (generate_image): Fix broken blocklist length initialization.
7376 Add assert() call to verify blocklist `segment' field.
7377
ab0eeb0c
RM
73782010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7379
7380 * loader/efi/appleloader.c: Remove. Update all users.
7381
58bc8bd5
RM
73822010-01-03 Robert Millan <rmh.grub@aybabtu.com>
7383
7384 * boot/i386/pc/boot.S: Update copyright year.
7385 * boot/i386/pc/cdboot.S: Likewise.
7386 * boot/i386/pc/diskboot.S: Likewise.
7387 * boot/i386/pc/lnxboot.S: Likewise.
7388 * boot/i386/pc/pxeboot.S: Likewise.
7389 * bus/pci.c: Likewise.
7390 * commands/cmp.c: Likewise.
7391 * commands/help.c: Likewise.
7392 * commands/hexdump.c: Likewise.
7393 * commands/i386/pc/halt.c: Likewise.
7394 * commands/i386/pc/play.c: Likewise.
7395 * commands/i386/pc/vbeinfo.c: Likewise.
7396 * commands/ls.c: Likewise.
7397 * commands/test.c: Likewise.
7398 * disk/dmraid_nvidia.c: Likewise.
7399 * disk/i386/pc/biosdisk.c: Likewise.
7400 * disk/ieee1275/nand.c: Likewise.
7401 * disk/ieee1275/ofdisk.c: Likewise.
7402 * disk/lvm.c: Likewise.
7403 * disk/raid.c: Likewise.
7404 * disk/raid6_recover.c: Likewise.
7405 * disk/scsi.c: Likewise.
7406 * fs/affs.c: Likewise.
7407 * fs/cpio.c: Likewise.
7408 * fs/ext2.c: Likewise.
7409 * fs/hfs.c: Likewise.
7410 * fs/iso9660.c: Likewise.
7411 * fs/ntfs.c: Likewise.
7412 * fs/sfs.c: Likewise.
7413 * fs/udf.c: Likewise.
7414 * fs/ufs.c: Likewise.
7415 * fs/xfs.c: Likewise.
7416 * gencmdlist.sh: Likewise.
7417 * genmk.rb: Likewise.
7418 * include/grub/disk.h: Likewise.
7419 * include/grub/efi/api.h: Likewise.
7420 * include/grub/efi/efi.h: Likewise.
7421 * include/grub/efi/pe32.h: Likewise.
7422 * include/grub/elf.h: Likewise.
7423 * include/grub/fs.h: Likewise.
7424 * include/grub/i386/at_keyboard.h: Likewise.
7425 * include/grub/i386/pc/memory.h: Likewise.
7426 * include/grub/i386/pc/vbe.h: Likewise.
7427 * include/grub/i386/pci.h: Likewise.
7428 * include/grub/i386/tsc.h: Likewise.
7429 * include/grub/ieee1275/ieee1275.h: Likewise.
7430 * include/grub/ntfs.h: Likewise.
7431 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
7432 * include/grub/sparc64/libgcc.h: Likewise.
7433 * include/grub/symbol.h: Likewise.
7434 * include/grub/types.h: Likewise.
7435 * include/multiboot2.h: Likewise.
7436 * io/gzio.c: Likewise.
7437 * kern/device.c: Likewise.
7438 * kern/disk.c: Likewise.
7439 * kern/efi/efi.c: Likewise.
7440 * kern/efi/mm.c: Likewise.
7441 * kern/elf.c: Likewise.
7442 * kern/file.c: Likewise.
7443 * kern/i386/dl.c: Likewise.
7444 * kern/i386/pc/init.c: Likewise.
7445 * kern/i386/pc/startup.S: Likewise.
7446 * kern/ieee1275/ieee1275.c: Likewise.
7447 * kern/ieee1275/init.c: Likewise.
7448 * kern/main.c: Likewise.
7449 * kern/mm.c: Likewise.
7450 * kern/powerpc/dl.c: Likewise.
7451 * kern/sparc64/dl.c: Likewise.
7452 * kern/x86_64/dl.c: Likewise.
7453 * lib/hexdump.c: Likewise.
7454 * loader/efi/appleloader.c: Likewise.
7455 * loader/i386/ieee1275/linux.c: Likewise.
7456 * loader/i386/pc/chainloader.c: Likewise.
7457 * loader/i386/pc/linux.c: Likewise.
7458 * loader/i386/pc/multiboot2.c: Likewise.
7459 * loader/ieee1275/multiboot2.c: Likewise.
7460 * loader/multiboot2.c: Likewise.
7461 * loader/multiboot_loader.c: Likewise.
7462 * loader/powerpc/ieee1275/linux.c: Likewise.
7463 * normal/completion.c: Likewise.
7464 * normal/menu_entry.c: Likewise.
7465 * partmap/apple.c: Likewise.
7466 * util/grub.d/10_hurd.in: Likewise.
7467 * util/hostfs.c: Likewise.
7468 * video/readers/png.c: Likewise.
7469
e2d70b5c
CW
74702010-01-03 Colin Watson <cjwatson@ubuntu.com>
7471
7472 * include/grub/misc.h (GNUC_PREREQ): New macro.
7473 (ATTRIBUTE_ERROR): New macro.
7474 * include/grub/list.h (grub_bad_type_cast_real): Use
7475 ATTRIBUTE_ERROR.
7476
a173283f 74772010-01-03 Carles Pina i Estany <carles@pina.cat>
7478
7479 * normal/menu_text.c (print_message): Change messages.
7480
7fa7ff74 74812010-01-03 Carles Pina i Estany <carles@pina.cat>
7482
7483 * normal/menu_entry.c (store_completion): Gettextizze.
7484
136d24f6 74852010-01-03 Carles Pina i Estany <carles@pina.cat>
7486
7487 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
7488
f936862e 74892010-01-03 Carles Pina i Estany <carles@pina.cat>
7490
7491 * po/POTFILES: Sort correctly.
7492
29c44ad1 74932010-01-03 Carles Pina i Estany <carles@pina.cat>
7494
7495 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
7496 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
7497 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
7498 full stop.
7499 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
7500 summary. Gettextizze the strings.
7501 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
7502 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
7503 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
7504 full stop.
7505 (GRUB_MOD_INIT): Remove command name from summary.
7506 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
7507 summary.
7508 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
7509 * term/i386/pc/serial.c (options): Add full stops.
7510 (GRUB_MOD_INIT): Remove command name from the summary.
7511
77a79592 75122010-01-03 Carles Pina i Estany <carles@pina.cat>
7513
7514 * commands/acpi.c: Gettextizze help strings and/or options. Include
7515 `grub/i18n.h' if needed.
7516 * commands/blocklist.c: Likewise.
7517 * commands/boot.c: Likewise.
7518 * commands/cat.c: Likewise.
7519 * commands/cmp.c: Likewise.
7520 * commands/configfile.c: Likewise.
7521 * commands/crc.c: Likewise.
7522 * commands/date.c: Likewise.
7523 * commands/echo.c: Likewise.
7524 * commands/efi/fixvideo.c: Likewise.
7525 * commands/efi/loadbios.c: Likewise.
7526 * commands/gptsync.c: Likewise.
7527 * commands/halt.c: Likewise.
7528 * commands/handler.c: Likewise.
7529 * commands/hdparm.c: Likewise.
7530 * commands/hexdump.c: Likewise.
7531 * commands/i386/cpuid.c: Likewise.
7532 * commands/i386/pc/drivemap.c: Likewise.
7533 * commands/i386/pc/halt.c: Likewise.
7534 * commands/i386/pc/pxecmd.c: Likewise.
7535 * commands/i386/pc/vbeinfo.c: Likewise.
7536 * commands/i386/pc/vbetest.c: Likewise.
7537 * commands/ieee1275/suspend.c: Likewise.
7538 * commands/keystatus.c: Likewise.
7539 * commands/loadenv.c: Likewise.
7540 * commands/ls.c: Likewise.
7541 * commands/lsmmap.c: Likewise.
7542 * commands/lspci.c: Likewise.
7543 * commands/memrw.c: Likewise.
7544 * commands/minicmd.c: Likewise.
7545 * commands/parttool.c: Likewise.
7546 * commands/password.c: Likewise.
7547 * commands/probe.c: Likewise.
7548 * commands/read.c: Likewise.
7549 * commands/reboot.c: Likewise.
7550 * commands/search.c: Likewise.
7551 * commands/sleep.c: Likewise.
7552 * commands/test.c: Likewise.
7553 * commands/true.c: Likewise.
7554 * commands/usbtest.c: Likewise.
7555 * commands/videotest.c: Likewise.
7556 * commands/xnu_uuid.c: Likewise.
7557 * disk/loopback.c: Likewise.
7558 * hello/hello.c: Likewise.
7559 * loader/i386/bsd.c: Likewise.
7560 * term/i386/pc/serial.c: Likewise.
7561 * po/POTFILES: Add new files.
7562
da8d5c53
CW
75632010-01-02 Colin Watson <cjwatson@ubuntu.com>
7564
7565 * term/i386/pc/at_keyboard.c
7566 (keyboard_controller_wait_untill_ready): Rename to ...
7567 (keyboard_controller_wait_until_ready): ... this. Update all users.
7568
33937904 75692010-01-01 Carles Pina i Estany <carles@pina.cat>
7570
7571 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
7572 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
7573 string using string width.
7574 * normal/menu_text.c (grub_print_message_indented): Use
7575 grub_print_spaces and not print_spaces.
7576 (print_timeout): Likewise.
7577 (print_spaces): Move to...
7578 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
7579
3fd3b8d8
RM
75802010-01-01 Robert Millan <rmh.grub@aybabtu.com>
7581
7582 Import from Gnulib.
7583
7584 * gnulib/getdelim.c: New file.
7585 * gnulib/getline.c: Likewise.
7586
33433555
VS
75872009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
7588
7589 * include/grub/list.h (grub_assert_fail): Removed.
7590 (grub_bad_type_cast_real): New function.
7591 (grub_bad_type_cast): New macro.
7592 (GRUB_AS_LIST): Use grub_bad_type_cast.
7593 (GRUB_AS_LIST_P): Likewise.
e44721e8 7594 (GRUB_AS_NAMED_LIST): Likewise.
33433555 7595 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 7596 (GRUB_AS_PRIO_LIST): Likewise.
33433555 7597 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 7598 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 7599
f5a51306
VS
76002009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
7603 Fix syntax error.
7604
90d1e879
RM
76052009-12-29 Robert Millan <rmh.grub@aybabtu.com>
7606
7607 * configure.ac: Check for TARGET_CFLAGS initialization before we
7608 initialize it ourselves (sigh).
7609 Move a few modifications to TARGET_CFLAGS to be unconditional
7610 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
7611 eh_frame)
7612
7613 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
7614 * term/i386/pc/at_keyboard.c
7615 (keyboard_controller_wait_untill_ready): Likewise.
7616 (keyboard_controller_led): Rename `led_status' paramter to avoid
7617 name conflict.
7618
465b5a81 76192009-12-28 Carles Pina i Estany <carles@pina.cat>
7620
7621 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
7622 quotes.
7623
c181849b
VS
76242009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
7627
9c8739a4
VS
76282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * normal/menu_text.c (grub_print_message_indented): Prevent
7631 past-the-end-of-array dereference.
7632
3e74249c
VS
76332009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
7636 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
7637
64fd18ed 76382009-12-27 Carles Pina i Estany <carles@pina.cat>
7639
7640 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
7641 * normal/main.c (grub_normal_read_line): Remove a space from the
7642 default prompt.
7643
714af9b9 76442009-12-27 Carles Pina i Estany <carles@pina.cat>
7645
7646 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
7647 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7648 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
7649 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
7650 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7651 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7652 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7653
82f3e412 76542009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 7655
7656 * video/readers/jpeg.c (cmd): Declare.
7657 (grub_cmd_jpegtest): Use `grub_command_t' type.
7658 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7659 Assign to `cmd'.
7660 (GRUB_MOD_FINI): Use `cmd' to unregister.
7661 * video/readers/png.c (cmd): Declare.
7662 (grub_cmd_pngtest): Use `grub_command_t' type.
7663 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7664 Assign to `cmd'.
7665 (GRUB_MOD_FINI): Use `cmd' to unregister.
7666 * video/readers/tga.c (cmd): Declare.
7667 (grub_cmd_tgatest): Use `grub_command_t' type.
7668 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
7669 Assign to `cmd'.
7670 (GRUB_MOD_FINI): Use `cmd' to unregister.
7671
82f3e412 76722009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 7673
7674 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
7675 stops.
7676 * kern/corecmd.c (grub_register_core_commands): Likewise.
7677 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
7678 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
7679 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
7680 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7681 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
7682 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
7683 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
7684 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
7685 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7686 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
7687 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7688 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7689 * normal/handler.c (insert_handler): Likewise.
7690 * normal/main.c (GRUB_MOD_INIT): Likewise.
7691 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7692
fdcdbb66 76932009-12-26 Carles Pina i Estany <carles@pina.cat>
7694
7695 * commands/help.c (grub_cmd_help): Print the command name before the
7696 summary.
7697 (GRUB_MOD_INIT): Remove command name from the summary.
7698 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 7699 string as summary.
fdcdbb66 7700 * lib/arg.c (find_long): Print the command name before the summary.
7701 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
7702 summary.
7703 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
7704 * commands/cat.c (GRUB_MOD_INIT): Likewise.
7705 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
7706 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
7707 * commands/crc.c (GRUB_MOD_INIT): Likewise.
7708 * commands/date.c (GRUB_MOD_INIT): Likewise.
7709 * commands/echo.c (GRUB_MOD_INIT): Likewise.
7710 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
7711 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
7712 * commands/handler.c (GRUB_MOD_INIT): Likewise.
7713 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
7714 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
7715 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
7716 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
7717 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
7718 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
7719 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
7720 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
7721 * commands/ls.c (GRUB_MOD_INIT): Likewise.
7722 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
7723 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
7724 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
7725 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
7726 * commands/password.c (GRUB_MOD_INIT): Likewise.
7727 * commands/probe.c (GRUB_MOD_INIT): Likewise.
7728 * commands/read.c (GRUB_MOD_INIT): Likewise.
7729 * commands/search.c (GRUB_MOD_INIT): Likewise.
7730 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
7731 * commands/test.c (GRUB_MOD_INIT): Likewise.
7732 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
7733 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7734 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7735 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
7736 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7737 * lib/arg.c (GRUB_MOD_INIT): Likewise.
7738 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
7739 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
7740 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
7741 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7742 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7743 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
7744 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
7745 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
7746
9c288be2
VS
77472009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Use search command for preliminar UUID search.
7750
7751 * commands/search.c: Split into ...
7752 * commands/search_wrap.c: ...this
7753 * commands/search.c: ...and this.
7754 * commands/search_file.c: New file.
7755 * commands/search_label.c: New file.
7756 * commands/search_uuid.c: New file.
7757 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
7758 Add commands/search_wrap.c, commands/search_file.c,
7759 commands/search_label.c and commands/search_uuid.c.
7760 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
7761 (search_mod_SOURCES): Set to commands/search_wrap.c.
7762 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
7763 search_label.mod.
7764 (search_fs_file_mod_SOURCES): New variable.
7765 (search_fs_file_mod_CFLAGS): Likewise.
7766 (search_fs_file_mod_LDFLAGS): Likewise.
7767 (search_label_mod_SOURCES): Likewise.
7768 (search_label_mod_CFLAGS): Likewise.
7769 (search_label_mod_LDFLAGS): Likewise.
7770 (search_fs_uuid_mod_SOURCES): New variable.
7771 (search_fs_uuid_mod_CFLAGS): Likewise.
7772 (search_fs_uuid_mod_LDFLAGS): Likewise.
7773 (fs_file_mod_SOURCES): Removed.
7774 (fs_file_mod_CFLAGS): Likewise.
7775 (fs_file_mod_LDFLAGS): Likewise.
7776 (fs_uuid_mod_SOURCES): Removed.
7777 (fs_uuid_mod_CFLAGS): Likewise.
7778 (fs_uuid_mod_LDFLAGS): Likewise.
7779 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
7780 Set to util/grub-install.in.
7781 * disk/fs_file.c: Removed.
7782 * disk/fs_uuid.c: Likewise.
7783 * include/grub/search.h: New file.
7784 * util/grub-install.in: Handle sparc64.
7785 Create and use load.cfg.
7786 * util/sparc64/ieee1275/grub-install.in: Removed.
7787
db943399
VS
77882009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
7791 Ignore return status if CF is cleared.
7792 (grub_biosdisk_get_diskinfo_standard): Likewise.
7793
3fdae612
RM
77942009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7795
7796 * term/i386/pc/at_keyboard.c
7797 (keyboard_controller_wait_untill_ready): New function.
7798 (grub_keyboard_controller_write, grub_keyboard_controller_read)
7799 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
7800 for keyboard polling, rather than duplicate the same loop. This
7801 saves a few bytes in code size.
7802
7ebaa2b4
VS
78032009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 Support for (pxe[:server[:gateway]]) syntax and
7806 use environment variable for PXE.
7807
7808 * commands/i386/pc/pxecmd.c (options): Removed.
7809 (print_ip): Removed.
7810 (grub_cmd_pxe): Removed
7811 (grub_cmd_pxe_unload): New function.
7812 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
7813 (grub_pxe_your_ip): Made static.
7814 (grub_pxe_default_server_ip): Likewise.
7815 (grub_pxe_default_gateway_ip): Likewise.
7816 (grub_pxe_blksize): Likewise.
7817 (parse_ip): New function.
7818 (grub_pxe_open): Support server and gateway specification.
7819 (grub_pxe_close): Free disk->data.
7820 (grub_pxefs_open): Use disk->data.
7821 (grub_pxefs_read): Likewise.
7822 (grub_env_write_readonly): New function.
7823 (set_mac_env): Likewise.
7824 (set_env_limn_ro): Likewise.
7825 (parse_dhcp_vendor): Likewise.
7826 (grub_pxe_detect): Set the environment variables.
7827 (set_ip_env): New function.
7828 (write_ip_env): Likewise.
7829 (grub_env_write_pxe_default_server): Likewise.
7830 (grub_env_write_pxe_default_gateway): Likewise.
7831 (grub_env_write_pxe_blocksize): Likewise.
7832 (GRUB_MOD_INIT(pxe)): Set environment variables.
7833 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
7834 (grub_pxe_mac_addr_t): ... this. All users updated.
7835 (grub_pxe_your_ip): Removed.
7836 (grub_pxe_server_ip): Likewise.
7837 (grub_pxe_gateway_ip): Likewise.
7838 (grub_pxe_blksize): Likewise.
7839
ec5f98ab 78402009-12-25 Carles Pina i Estany <carles@pina.cat>
7841
7842 * commands/help.c: Include `<grub/i18n.h>'.
7843 (grub_cmd_help): Gettextizze.
7844 (GRUB_MOD_INIT): Likewise.
7845 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
7846 (GRUB_MOD_INIT): Gettextizze.
7847 * commands/search.c: Include `<grub/i18n.h>'.
7848 (options): Gettextizze.
7849 (GRUB_MOD_INIT): Gettextizze.
7850 * lib/arg.c: Include `<grub/i18n.h>'.
7851 (help_options): Gettextizze.
7852 (find_long): Likewise.
7853 (grub_arg_show_help): Likewise.
7854 * normal/dyncmd.c: Include `<grub/i18n.h>'.
7855 (read_command_list): Gettextizze.
7856 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 7857 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 7858
22815526
RM
78592009-12-25 Robert Millan <rmh.grub@aybabtu.com>
7860
7861 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
7862 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
7863 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
7864 (led_status): New variable.
7865 (keyboard_controller_led): New function.
7866 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
7867 update led status for caps lock, num lock and scroll lock.
7868
0ad46fd7
FZ
78692009-12-25 Felix Zielcke <fzielcke@z-51.de>
7870
7871 * util/hostdisk.c (open_device): Fix a comment.
7872
d0e158c2
RM
78732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7874
7875 * util/grub-install.in (host_os): New variable.
7876 * util/i386/efi/grub-install.in (host_os): Likewise.
7877
401c0ad6
RM
78782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7879
7880 * util/mkisofs/write.c (padblock_write): Abort when given an
7881 excedingly large embed image, instead of silently truncating it.
7882
d14d3370
RM
78832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7884
7885 * include/multiboot.h: Indentation fixes.
7886
eeed10b4
RM
78872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7888
7889 * include/multiboot.h (struct multiboot_aout_symbol_table)
7890 (struct multiboot_elf_section_header_table): New structure
7891 declarations (stolen from GRUB Legacy).
7892 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
7893 table information.
7894
7895 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
7896 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
7897 type aliases.
7898
681c70ab
RM
78992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7900
7901 * include/multiboot.h: Make comments src2texi-friendly.
7902
e4d47d8d
RM
79032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7904
7905 For consistency with [multiboot]/docs/boot.S.
7906
7907 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
7908 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
7909 (MULTIBOOT_MAGIC2): Rename from this ...
7910 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
7911
a0b70bda
RM
79122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
7913
7914 * include/multiboot.h: Remove `<grub/types.h>'.
7915 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
7916 types. Update all users.
7917
61ba42be 79182009-12-25 Carles Pina i Estany <carles@pina.cat>
7919
7920 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
7921 `couldn't' and `can not' by `cannot'.
7922 * commands/i386/pc/drivemap.c: Likewise.
7923 * disk/ata.c: Likewise.
7924 * disk/ieee1275/nand.c: Likewise.
7925 * fs/affs.c: Likewise.
7926 * fs/fat.c: Likewise.
7927 * fs/hfs.c: Likewise.
7928 * fs/hfsplus.c: Likewise.
7929 * fs/iso9660.c: Likewise.
7930 * fs/jfs.c: Likewise.
7931 * fs/minix.c: Likewise.
7932 * fs/reiserfs.c: Likewise.
7933 * fs/sfs.c: Likewise.
7934 * fs/udf.c: Likewise.
7935 * fs/ufs.c: Likewise.
7936 * fs/xfs.c: Likewise.
7937 * loader/powerpc/ieee1275/linux.c: Likewise.
7938 * loader/sparc64/ieee1275/linux.c: Likewise.
7939 * util/grub-probe.c: Likewise.
7940 * util/misc.c: Likewise.
7941
7fd0baee 79422009-12-24 Carles Pina i Estany <carles@pina.cat>
7943
7944 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
7945 grub_errno calls.
7946 * commands/acpi.c: Likewise.
7947 * commands/blocklist.c: Likewise.
7948 * commands/efi/loadbios.c: Likewise.
7949 * commands/i386/pc/drivemap.c: Likewise.
7950 * commands/loadenv.c: Likewise.
7951 * commands/memrw.c: Likewise.
7952 * commands/password.c: Likewise.
7953 * commands/videotest.c: Likewise.
7954 * disk/ata.c: Likewise.
7955 * disk/ata_pthru.c: Likewise.
7956 * disk/dmraid_nvidia.c: Likewise.
7957 * disk/ieee1275/nand.c: Likewise.
7958 * disk/ieee1275/ofdisk.c: Likewise.
7959 * disk/loopback.c: Likewise.
7960 * disk/lvm.c: Likewise.
7961 * disk/mdraid_linux.c: Likewise.
7962 * disk/raid.c: Likewise.
7963 * disk/raid6_recover.c: Likewise.
7964 * disk/scsi.c: Likewise.
7965 * efiemu/main.c: Likewise.
7966 * efiemu/mm.c: Likewise.
7967 * efiemu/pnvram.c: Likewise.
7968 * efiemu/symbols.c: Likewise.
7969 * font/font.c: Likewise.
7970 * fs/cpio.c: Likewise.
7971 * fs/hfsplus.c: Likewise.
7972 * fs/iso9660.c: Likewise.
7973 * fs/jfs.c: Likewise.
7974 * fs/minix.c: Likewise.
7975 * fs/ntfs.c: Likewise.
7976 * fs/ntfscomp.c: Likewise.
7977 * fs/reiserfs.c: Likewise.
7978 * fs/ufs.c: Likewise.
7979 * fs/xfs.c: Likewise.
7980 * gettext/gettext.c: Likewise.
7981 * include/grub/auth.h: Likewise.
7982 * kern/elf.c: Likewise.
7983 * kern/file.c: Likewise.
7984 * kern/ieee1275/init.c: Likewise.
7985 * kern/ieee1275/mmap.c: Likewise.
7986 * kern/ieee1275/openfw.c: Likewise.
7987 * kern/powerpc/dl.c: Likewise.
7988 * kern/sparc64/dl.c: Likewise.
7989 * lib/arg.c: Likewise.
7990 * loader/i386/bsd.c: Likewise.
7991 * loader/i386/bsdXX.c: Likewise.
7992 * loader/i386/efi/linux.c: Likewise.
7993 * loader/i386/efi/xnu.c: Likewise.
7994 * loader/i386/ieee1275/linux.c: Likewise.
7995 * loader/i386/linux.c: Likewise.
7996 * loader/i386/multiboot.c: Likewise.
7997 * loader/i386/pc/linux.c: Likewise.
7998 * loader/i386/pc/multiboot2.c: Likewise.
7999 * loader/i386/xnu.c: Likewise.
8000 * loader/ieee1275/multiboot2.c: Likewise.
8001 * loader/macho.c: Likewise.
8002 * loader/machoXX.c: Likewise.
8003 * loader/multiboot2.c: Likewise.
8004 * loader/multiboot_loader.c: Likewise.
8005 * loader/powerpc/ieee1275/linux.c: Likewise.
8006 * loader/sparc64/ieee1275/linux.c: Likewise.
8007 * loader/xnu.c: Likewise.
8008 * loader/xnu_resume.c: Likewise.
8009 * mmap/i386/pc/mmap.c: Likewise.
8010 * normal/menu_viewer.c: Likewise.
8011 * partmap/acorn.c: Likewise.
8012 * partmap/amiga.c: Likewise.
8013 * partmap/apple.c: Likewise.
8014 * script/lexer.c: Likewise.
8015 * term/gfxterm.c: Likewise.
8016 * term/i386/pc/serial.c: Likewise.
8017 * term/i386/pc/vga.c: Likewise.
8018 * term/ieee1275/ofconsole.c: Likewise.
8019 * term/terminfo.c: Likewise.
8020 * video/bitmap.c: Likewise.
8021 * video/efi_gop.c: Likewise.
8022 * video/efi_uga.c: Likewise.
8023 * video/fb/video_fb.c: Likewise.
8024 * video/i386/pc/vbe.c: Likewise.
8025 * video/readers/tga.c: Likewise.
8026 * video/video.c: Likewise.
8027
0ad46fd7 80282009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
8029
8030 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
8031 * commands/lspci.c: Likewise.
8032 * commands/probe.c: Likewise.
8033 * commands/xnu_uuid.c: Likewise.
8034 * conf/i386-coreboot.rmk: Likewise.
8035 * conf/i386-efi.rmk: Likewise.
8036 * conf/i386-ieee1275.rmk: Likewise.
8037 * conf/i386-pc.rmk: Likewise.
8038 * conf/powerpc-ieee1275.rmk: Likewise.
8039 * conf/sparc64-ieee1275.rmk: Likewise.
8040 * conf/x86_64-efi.rmk: Likewise.
8041 * fs/i386/pc/pxe.c: Likewise.
8042 * gettext/gettext.c: Likewise.
8043 * include/grub/efi/graphics_output.h: Likewise.
8044 * include/grub/i386/pc/memory.h: Likewise.
8045 * kern/env.c: Likewise.
8046 * kern/i386/qemu/startup.S: Likewise.
8047 * lib/i386/pc/biosnum.c: Likewise.
8048 * lib/i386/relocator.c: Likewise.
8049 * lib/i386/relocator_asm.S: Likewise.
8050 * lib/relocator.c: Likewise.
8051 * loader/i386/bsd.c: Likewise.
8052 * loader/i386/multiboot.c: Likewise.
8053 * loader/i386/pc/chainloader.c: Likewise.
8054 * loader/i386/xnu.c: Likewise.
8055 * loader/xnu.c: Likewise.
8056 * normal/main.c: Likewise.
8057 * normal/menu_text.c: Likewise.
8058 * util/getroot.c: Likewise.
8059 * util/grub-mkconfig_lib.in: Likewise.
8060 * util/grub.d/00_header.in: Likewise.
8061 * util/i386/pc/grub-mkimage.c: Likewise.
8062 * util/mkisofs/eltorito.c: Likewise.
8063 * util/mkisofs/exclude.h: Likewise.
8064 * util/mkisofs/hash.c: Likewise.
8065 * util/mkisofs/iso9660.h: Likewise.
8066 * util/mkisofs/joliet.c: Likewise.
8067 * util/mkisofs/mkisofs.c: Likewise.
8068 * util/mkisofs/mkisofs.h: Likewise.
8069 * util/mkisofs/multi.c: Likewise.
8070 * util/mkisofs/name.c: Likewise.
8071 * util/mkisofs/rock.c: Likewise.
8072 * util/mkisofs/tree.c: Likewise.
8073 * util/mkisofs/write.c: Likewise.
8074 * video/efi_gop.c: Likewise.
8075
009ec743
VS
80762009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
8079 size counting.
8080
0ad46fd7 80812009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
8082
8083 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
8084 * genmk.rb (class SCRIPT): Modify the target file instead of source.
8085
d3d30ea0
VS
80862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
8089 (GRUB_MOD_INIT(memrw)): Update help line.
8090
a34f5c70
VS
80912009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
8094 Use grub_extcmd_t. All users updated.
8095 (options): New variable.
8096 (grub_cmd_read): Restructure for readability. Support "-v" option.
8097 (grub_cmd_write): Restructure for readability.
8098
0ad46fd7 80992009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
8100
8101 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
8102
0ad46fd7 81032009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
8104
8105 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
8106 with the actual contents of the correspondending make variable.
8107 * util/grub-mkrescue.in (pkglib_DATA): New variable.
8108 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
8109 specifying `*.lst' and `efiemu??.o'
8110
0ad46fd7 81112009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
8112
8113 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
8114 after function name.
8115 Noticed by Rene Engelhard <rene@debian.org>.
8116
dc77a799
VS
81172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
8120 (options): New variable.
8121 (iospace): Likewise.
8122 (grub_lspci_iter): List IO spaces if "-i" was given.
8123 (grub_cmd_lspci): Parse options.
8124 (GRUB_MOD_INIT(lspci)): Use extcmd.
8125 (GRUB_MOD_FINI(lspci)): Likewise.
8126
0ad46fd7 81272009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
8128
8129 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
8130 `function' keyword.
8131 Patch by Tony Mancill <tmancill@debian.org>.
8132
b5d5993b
VS
81332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
8136 (grub_uhci_portstatus): Likewise.
8137 (grub_uhci_portstatus): Add necessary delay.
11d18281 8138 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 8139
941903f2 81402009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 8141
941903f2 8142 * commands/acpi.c (options): Fix capitalizations and/or full stops.
8143 (GRUB_MOD_INIT): Likewise.
8144 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 8145 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
8146 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 8147 * commands/efi/loadbios.c (enable_rom_area): Likewise.
8148 (enable_rom_area): Likewise.
8149 (GRUB_MOD_INIT): Likewise.
8150 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8151 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
8152 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8153 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
8154 * commands/hexdump.c (options): Likewise.
8155 * commands/i386/cpuid.c (options): Likewise.
8156 (GRUB_MOD_INIT): Likewise.
8157 * commands/i386/pc/drivemap.c (options): Likewise.
8158 (GRUB_MOD_INIT): Likewise.
8159 * commands/i386/pc/halt (options): Likewise.
8160 (GRUB_MOD_INIT): Likewise.
8161 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8162 * commands/i386/pc/pxecmd.c (options): Likewise.
8163 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
8164 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
8165 * commands/keystatus.c (options): Likewise.
8166 (GRUB_MOD_INIT): Likewise.
8167 * commands/loadenv.c (options): Likewise.
8168 * commands/ls.c (options): Likewise.
8169 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8170 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8171 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8172 * commands/parttool.c (helpmsg): Likewise.
8173 * commands/probe.c (options): Likewise.
8174 * commands/read.c (GRUB_MOD_INIT): Likewise.
8175 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
8176 * commands/search.c (options): Likewise.
8177 * commands/sleep.c (options): Likewise.
8178 * commands/test.c (GRUB_MOD_INIT): Likewise.
8179 * commands/true.c (GRUB_MOD_INIT): Likewise.
8180 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
8181 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
8182 * lib/arg.c (help_options): Likewise.
e9bbb4e7 8183 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
8184 `$(XGETTEXT)'.
98a50553 8185 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 8186
0ad46fd7 81872009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 8188
ef3c2c3a 8189 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
8190 instead of specifying them explicit.
8191
7922f68b
RM
81922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8193
8194 * NEWS: Add grub-probe support for GNU/Hurd.
8195
537ce47f
RM
81962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8197
8198 * NEWS: gettext was added after 1.97.
8199
9b214e3a
RM
82002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8201
8202 * util/mkisofs/msdos_partition.h: New file (based on
8203 include/grub/msdos_partition.h).
8204 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
8205 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
8206 (ld_options, main): Recognize --protective-msdos-label.
8207 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
8208 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
8209 (padblock_write): If `use_protective_msdos_label' is set, patch a
8210 protective DOS-style label in the output image.
8211
8212 * util/grub-mkrescue.in: Use --protective-msdos-label.
8213
e9309813
RM
82142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8215
8216 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
8217 boot.
8218
0ae56929
RM
82192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8220
8221 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
8222 variables.
8223 (ld_options, main): Recognize `--embedded-boot'.
8224 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
8225 declarations.
8226 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
8227 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
8228 (padblock_write): Likewise. Rewrite to support embedded boot image.
8229
8230 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
8231 for BIOS-based disk boot instead of only ElTorito.
8232
b15937b1
RM
82332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8234
8235 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
8236 build (not needed for bootstrap).
8237
52cc3ce0
RM
82382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8239
8240 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
8241 from i386-pc build (not needed for bootstrap).
8242 Rewrite a pair of strings.
8243
36f5ff04
RM
82442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8245
8246 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
8247
973c6c85 82482009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
8249
8250 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
8251
05d21547
AB
82522009-12-21 Andreas Born <futur.andy@googlemail.com>
8253
8254 * kern/env.c (grub_env_context_open): Mark exported variable for
8255 reexport.
8256
0175d51f
AB
82572009-12-21 Andreas Born <futur.andy@googlemail.com>
8258
8259 * kern/env.c (grub_env_export): Create nonexistent variables before
8260 exporting.
8261
7f39d92f 82622009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 8263
7f39d92f 8264 * include/grub/auth.h: Include `<grub/i18n.h>'.
8265 (GRUB_GET_PASSWORD): Gettextizze string.
8266 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
8267 menu_text.c.
8268 (grub_utf8_to_ucs4_alloc): Fix indentation.
8269 (grub_print_ucs4): Likewise.
8270 (grub_getstringwidth): Likewise.
8271 (print_message_indented): New declaration.
8272 * normal/auth.c: Include `<grub/i18n.h>'.
8273 (grub_auth_check_authentication): Gettexttize string.
8274 * normal/cmdline.c: Include `<grub/i18n.h>'.
8275 (grub_cmdline_get): Gettextizze.
8276 * normal/color.c: Include `<grub/i18n.h>'.
8277 (grub_parse_color_name_pair): Gettexttize strings.
8278 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
8279 string (use `print_message_indented').
8280 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
8281 `include/grub/normal.h'.
8282 (print_message_indented): Renamed to ...
8283 (grub_print_message_indented): ... this. Remove `static' qualifer (now
8284 used in normal/main.c).
8285 (print_message): Use `grub_print_message_indented' instead of
8286 `print_message_indented'.
8287 (print_timeout): Likewise.
8288 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
8289 (grub_normal_print_device_info): Gettexttize strings.
8290 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
8291
3041d898
VS
82922009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
8295 of arguments. Return number of tokens and not arguments. All users
8296 updated.
8297
de15bf8e
VS
82982009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
8301 non-MSDOS paritions.
8302
e0a6ca52
VS
83032009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * include/grub/types.h (UNUSED): Removed since it conflicts with
8306 NetBSD headers. All users changed to direct __attribute__ ((unused)).
8307 Reported by Grégoire Sutre.
8308
b99518d1 83092009-12-19 Carles Pina i Estany <carles@pina.cat>
8310
8311 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
8312 (grub_print_ucs4_alloc): Likewise.
8313 (grub_getstringwidth): Likewise.
8314 * normal/main.c (grub_normal_init_page): Gettextize version string.
8315 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
8316 (getstringwidth): Renamed to ...
8317 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
8318 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
8319 (grub_print_ucs4): Remove `static' qualifer (now used in
8320 normal/main.c).
8321 * po/POTFILES: Add normal/main.c.
8322
bfd5e52b 83232009-12-19 Carles Pina i Estany <carles@pina.cat>
8324
8325 * normal/menu_text.c (STANDARD_MARGIN): New macro.
8326 (print_message_indented): Add `margin_left' and `margin_right'
8327 parameters.
8328 (print_message): Update `print_message_indented' calls. Adds '\n' to the
8329 strings.
8330 (print_timeout): Use `print_message_indented' to print the message.
8331 Deletes `second_stage' parameter.
8332 (run_menu): Update `print_timeout' calls.
8333
5a1ad2b9
VS
83342009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 Fix console palette on OpenFirmware.
8337
8338 * term/ieee1275/ofconsole.c (MAX): Removed.
8339 (colors): Redone based on VGA palette.
8340 (grub_ofconsole_setcolor): Discard brightness bit since only 8
8341 colors are supported.
8342 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
8343
b045f00a
VS
83442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 Fix potential EfiEmu double prepare.
8347
8348 * efiemu/main.c (prepared): New variable
8349 (grub_efiemu_unload): Set prepare to '0'.
8350 (grub_efiemu_prepare): Return if already prepared. Set prepared.
8351
8352 set_virtual_address_map support.
8353
8354 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
8355 prototype.
8356 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
8357 prototype.
8358 (grub_efiemu_crc32): Likewise.
8359 (grub_efiemu_crc64): Likewise.
8360 (grub_efiemu_set_virtual_address_map): Likewise.
8361 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
8362 New definition.
8363 (grub_autoefi_set_virtual_address_map): Likewise.
8364 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
8365 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
8366 Restructure flow to accomodate it.
8367 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
8368 (grub_efiemu_crc): Recompute CRC32.
8369 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
8370 (efiemu_ptv_relocated): ... this. Made global. All users updated.
8371 * efiemu/symbols.c (relocated_handle): New variable.
8372 (grub_efiemu_free_syms): Free relocated_handle.
8373 (grub_efiemu_alloc_syms): Allocate relocated_handle.
8374 (grub_efiemu_write_sym_markers): New function.
8375 (grub_efiemu_set_virtual_address_map): Likewise.
8376
8377 Newer XNU parameters.
8378
8379 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
8380 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
8381 (grub_xnu_fill_devicetree): New prototype.
8382 (grub_xnu_heap_real_start): New variable.
8383 * loader/xnu.c (get_name_ptr): New function.
8384 (grub_xnu_load_driver): Fill namelen and name.
8385
8386 64-bit xnu support.
8387
8388 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
8389 and 'loader/macho64.c'.
8390 * conf/i386-pc.rmk: Likewise.
8391 * conf/x86_64-efi.rmk: Likewise.
8392 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
8393 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
8394 * include/grub/macho.h (grub_macho_segment64): New structure.
8395 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
8396 (grub_macho_size32): ... to this.
8397 (grub_macho32_get_entry_point): Renamed from ...
8398 (grub_macho_get_entry_point32): ... to this.
8399 (grub_macho_contains_macho64): New prototype.
8400 (grub_macho_size64): Likewise.
8401 (grub_macho_get_entry_point64): Likewise.
8402 (grub_macho32_load): Renamed from ...
8403 (grub_macho_load32): ... to this.
8404 (grub_macho32_filesize): Renamed from ...
8405 (grub_macho_filesize32): ... to this.
8406 (grub_macho32_readfile): Renamed from ...
8407 (grub_macho_readfile32): ... to this.
8408 (grub_macho_filesize64): New prototype.
8409 (grub_macho_readfile64): Likewise.
8410 (grub_macho_parse32): Likewise.
8411 (grub_macho_parse64): Likewise.
8412 * loader/macho.c: Split into ...
8413 * loader/machoXX.c: ... and this. Replace 32 with XX.
8414 * loader/macho32.c: New file.
8415 * loader/macho64.c: Likewise.
8416 * loader/xnu.c (grub_xnu_is_64bit): New variable.
8417 (grub_cmd_xnu_kernel): Make 32-bit only.
8418 (grub_cmd_xnu_kernel64): New function.
8419 (grub_xnu_load_driver): Support Mach-O 64.
8420 (grub_cmd_xnu_mkext): Likewise.
8421 * util/grub.d/30_os-prober.in (osx_entry): New function.
8422 Generate entries for 64-bit boot too.
8423
8424 Eliminate ad-hoc tree format in XNU and EfiEmu.
8425
8426 * efiemu/main.c (grub_efiemu_prepare): Update comment.
8427 * efiemu/pnvram.c: Rewritten to use environment variables.
8428 All users updated.
8429
8430 Inline utf16_to_utf8.
8431
8432 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
8433 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
8434 All users updated.
8435 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
8436
8437 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
8438 * commands/usbtest.c (grub_usb_get_string): ... move here.
8439 (usb_print_str): Fix error handling.
8440 * include/grub/usb.h (grub_usb_get_string): Remove.
8441
8442 UTF-8 to UTF-16 transformation.
8443
8444 * conf/common.rmk (pkglib_MODULES): Add charset.mod
8445 (charset_mod_SOURCES): New variable.
8446 (charset_mod_CFLAGS): Likewise.
8447 (charset_mod_LDFLAGS): Likewise.
8448 * include/grub/utf.h: New file.
8449 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
8450
8451 Support for device properties.
8452
8453 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
8454 (grub_xnu_devprop_device_header): Likewise.
8455 (grub_xnu_devprop_device_descriptor): Likewise.
8456 (grub_xnu_devprop_add_device): New prototype.
8457 (grub_xnu_devprop_remove_device): Likewise.
8458 (grub_xnu_devprop_remove_property): Likewise.
8459 (grub_xnu_devprop_add_property_utf8): Likewise.
8460 (grub_xnu_devprop_add_property_utf16): Likewise.
8461 (grub_cpu_xnu_init): Likewise.
8462 (grub_cpu_xnu_fini): Likewise.
8463 (grub_cpu_xnu_unload): Likewise.
8464 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
8465 (property_descriptor): Likewise.
8466 (devices): New variable.
8467 (grub_xnu_devprop_remove_property): New function.
8468 (grub_xnu_devprop_add_device): Likewise.
8469 (grub_xnu_devprop_remove_device): Likewise.
8470 (grub_xnu_devprop_add_property): Likewise.
8471 (grub_xnu_devprop_add_property_utf8): Likewise.
8472 (grub_xnu_devprop_add_property_utf16): Likewise.
8473 (hextoval): Likewise.
8474 (grub_cpu_xnu_fill_devprop): Likewise.
8475 (grub_cmd_devprop_load): Likewise.
8476 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
8477 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
8478 (cmd_devprop_load): New variable.
8479 (grub_cpu_xnu_init): New function.
8480 (grub_cpu_xnu_fini): Likewise.
8481 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
8482 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
8483 (grub_cmd_xnu_devtree): Likewise.
8484 (hextoval): New function.
8485 (unescape): Likewise.
8486 (grub_xnu_fill_devicetree): Likewise.
8487
8488 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
8489 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
8490
0945f181
VS
84912009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Workaround for broken ATI VBE.
8494
8495 * video/i386/pc/vbe.c (last_set_mode): New variable.
8496 (grub_vbe_set_video_mode): Set 'last_set_mode'.
8497 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
8498 (grub_video_vbe_setup): Don't check for reserved flag.
8499
0ad46fd7 85002009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
8501
8502 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
8503 the `find' command.
8504
c179ebe4
VS
85052009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 UUID support for HFS.
8508
8509 * fs/hfs.c (grub_hfs_uuid): New function.
8510 (grub_hfs_fs): New value .uuid.
8511 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
8512
0ad46fd7 85132009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
8514
8515 Fix a segfault with parsing unknown long options.
8516
8517 * util/grub-mkrelpath.c (options): Zero terminate it.
8518
c4a3e41a
CPE
85192009-12-13 Carles Pina i Estany <carles@pina.cat>
8520
8521 * include/grub/misc.h (grub_puts): New declaration.
8522 (grub_puts_): Likewise.
a22008a6 8523 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
8524 (grub_puts_): Likewise.
8525
2e8a7602
RM
85262009-12-13 Robert Millan <rmh.grub@aybabtu.com>
8527
8528 * util/grub-probe.c (probe): Improve error message.
8529
b50b77b9
RM
85302009-12-13 Robert Millan <rmh.grub@aybabtu.com>
8531
8532 * loader/i386/multiboot_elfxx.c
8533 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
8534 initialization.
8535
85362009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Relocator framework
8539
8540 * loader/i386/xnu_helper.S: Removed. All users updated.
8541 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
8542 (relocator_mod_SOURCES): New variable.
8543 (relocator_mod_CFLAGS): Likewise.
8544 (relocator_mod_LDFLAGS): Likewise.
8545 (relocator_mod_ASFLAGS): Likewise.
8546 * conf/x86_64.rmk: Likewise.
8547 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
8548 (grub_multiboot_payload_entry_offset): Likewise.
8549 (grub_multiboot_forward_relocator): Likewise.
8550 (grub_multiboot_forward_relocator_end): Likewise.
8551 (grub_multiboot_backward_relocator): Likewise.
8552 (grub_multiboot_backward_relocator_end): Likewise.
8553 (grub_multiboot_payload_eip): New variable.
8554 (grub_multiboot_payload_orig): Likewise.
8555 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
8556 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
8557 * include/grub/i386/memory.h
8558 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
8559 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
8560 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
8561 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
8562 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
8563 * include/grub/i386/relocator.h: New file.
8564 * include/grub/x86_64/relocator.h: Likewise.
8565 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
8566 (XNU_RELOCATOR): New macro.
8567 (grub_xnu_launcher_start): Remove.
8568 (grub_xnu_launcher_end): Likewise.
8569 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
8570 (grub_xnu_heap_real_start): Remove.
8571 (grub_xnu_heap_start): Change to void *. All users updated.
8572 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
8573 * lib/i386/relocator.c: New file.
8574 * lib/i386/relocator_asm.S: Likewise.
8575 * lib/i386/relocator_backward.S: Likewise.
8576 * lib/mips/relocator.c: Likewise.
8577 * lib/mips/relocator_asm.S: Likewise.
8578 * lib/relocator.c: Likewise.
8579 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
8580 (entry): Removed.
8581 (playground): Likewise.
8582 (grub_multiboot_payload_orig): New variable.
8583 (grub_multiboot_payload_dest): Likewise.
8584 (grub_multiboot_payload_size): Likewise.
8585 (grub_multiboot_payload_eip): Likewise.
8586 (grub_multiboot_payload_esp): Likewise.
8587 (grub_multiboot_boot): Use grub_relocator32_boot.
8588 (grub_multiboot_unload): Free relocators.
8589 (grub_multiboot): Setup stack. Use relocators.
8590 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
8591 (grub_multiboot_load_elfXX): Use relocators.
8592 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
8593 (grub_multiboot_payload_size): Likewise.
8594 (grub_multiboot_payload_dest): Likewise.
8595 (grub_multiboot_payload_entry_offset): Likewise.
8596 (grub_multiboot_forward_relocator): Likewise.
8597 (grub_multiboot_backward_relocator): Likewise.
8598 (grub_multiboot_real_boot): Likewise.
8599 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
8600 (grub_xnu_entry_point): Likewise.
8601 (grub_xnu_arg1): Likewise.
8602 (grub_xnu_stack): Likewise.
8603 (grub_xnu_launch): Removed.
8604 (grub_xnu_boot_resume): New function.
8605 (grub_xnu_boot): Use relocators.
8606 * loader/i386/xnu_helper.S: Removed.
8607 * loader/xnu.c (grub_xnu_heap_start): New variable.
8608 (grub_xnu_heap_size): Likewise.
8609 (grub_xnu_heap_malloc): Use relocators.
8610 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
8611
29eb90c6
VS
86122009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
8615 anything.
8616
31027430
CPE
86172009-12-13 Carles Pina i Estany <carles@pina.cat>
8618
8619 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
8620 GRUB_ERR_NONE before calling grub_env_set.
8621
dc0c71d9
RM
86222009-12-12 Robert Millan <rmh@aybabtu.com>
8623
8624 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
8625 * genmk.rb (video): New variable.
8626 (CLEANFILES, VIDEOFILES): Add #{video}.
8627 (#{video}): New target rule.
8628 * genvideolist.sh: New file.
8629 * Makefile.in (pkglib_DATA): Add video.lst.
8630 (video.lst): New target rule.
8631 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
8632 `video.lst'.
8633 * util/grub.d/30_os-prober.in: Replace `vbe' with
8634 ${GRUB_VIDEO_BACKEND}.
8635
2a4bfcf0
RM
86362009-12-11 Robert Millan <rmh.grub@aybabtu.com>
8637
8638 * THANKS: Add David Miller.
8639
2a3aa4d5
RM
86402009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 libpciaccess support.
8643
8644 * Makefile.in (LIBPCIACCESS): New variable.
8645 (enable_grub_emu_pci): Likewise.
8646 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
8647 util/pci.c and commands/lspci.c.
8648 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
8649 * configure.ac (grub-emu-pci): New option.
8650 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
8651 (grub_pci_device_unmap_range): Likewise.
8652 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
8653 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
8654 (grub_pci_address_t) [!GRUB_UTIL]: New type.
8655 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
8656 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
8657 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
8658 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
8659 * include/grub/pciutils.h: New file.
8660 * util/pci.c: Likewise.
8661
0ad46fd7 86622009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
8663
8664 * util/misc.c: Don't include <errno.h> twice.
8665
0ad46fd7 86662009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
8667
8668 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
8669 name in an error message.
8670 (grub_biosdisk_rw): Likewise.
8671
2e59983c
VS
86722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 Eliminate NTFS 4Gib barrier.
8675
8676 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
8677 (read_run_data): Likewise.
8678 (grub_ntfs_read_run_list): Likewise.
8679 (grub_ntfs_read_block): Likewise.
8680 (grub_ntfs_iterate_dir): Likewise.
8681 (read_mft): Likewise.
8682 (read_data): Likewise.
8683 Use COM_LOG_LEN.
8684 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
8685 to avoid 64-bit division
8686 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
8687 (grub_ntfs_rlst): Use grub_disk_addr_t.
8688
71ee178a
VS
86892009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Eliminate grub-fstest 4Gib barrier.
8692
8693 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
8694 (read_file): Fix error reporting.
8695
2520d4b8
VS
86962009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 Eliminate hexdump 4Gib barrier.
8699
8700 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
8701 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
8702
e1f27065
VS
87032009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
8706 Fixes amarsh bug.
8707
1a0f7f45
RM
87082009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
8709
8710 Remove miscellaneous files in distclean target.
8711
8712 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
8713
c631d9fb
CW
87142009-12-09 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
8717 if they're already set. This resolves the conflict between my
8718 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
8719 fixing the --grub-probe option again.
8720 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
8721 change on 2009-10-06, so that we now once again source
8722 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
8723
7c7b6106
RM
87242009-12-08 Robert Millan <rmh.grub@aybabtu.com>
8725
8726 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
8727 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
8728 `util/devicemap.c'.
8729
e3069ec1
CPE
87302009-12-08 Carles Pina i Estany <carles@pina.cat>
8731
8732 * include/grub/misc.h (grub_printf_): New declaration.
8733 * kern/misc.c (grub_printf_): New definition.
8734 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
8735 instead of `grub_printf' and `_'.
8736 * normal/menu_entry.c (store_completion): Likewise.
8737 (run): Likewise.
8738 (grub_menu_entry_run): Likewise.
8739 * normal/menu_text.c (grub_wait_after_message): Likewise.
8740 (notify_booting): Likewise.
8741 (notify_fallback): Likewise.
8742 (notify_execution_failure): Likewise.
8743
d6ceebf1
CW
87442009-12-07 Colin Watson <cjwatson@ubuntu.com>
8745
8746 * configure.ac: Check for vasprintf.
8747 * util/misc.c (asprintf): Move allocation from here ...
8748 (vasprintf): ... to here. New function.
8749 (xasprintf): New function.
8750 * include/grub/util/misc.h (vasprintf, xasprintf): Add
8751 prototypes.
8752 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8753 * util/grub-mkfont.c (write_font): Likewise.
8754 * util/grub-probe.c (probe): Likewise.
8755 * util/hostdisk.c (make_device_name): Likewise.
8756
de6daa8b
DM
87572009-12-06 David S. Miller <davem@sunset.davemloft.net>
8758
8759 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
8760 anything even prefixed with 'cdrom' as a cdrom.
8761
0ad46fd7 87622009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
8763
8764 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
8765 mount points.
8766
98d3dc02
CPE
87672009-12-05 Carles Pina i Estany <carles@pina.cat>
8768
8769 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
8770 grub_gettext_msg_list.
8771 (grub_gettext_gettranslation_from_position): Return const char *
8772 and not char *.
a2c1332b 8773 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
8774 returns from the list if existing there.
8775 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
8776 (grub_gettext_delete_list): Delete the list.
8777 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
8778 lang environment variable is changed.
8779 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
8780
b283f108
VS
87812009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 Rename kernel.mod to kernel.img.
8784
8785 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
8786 (kernel_mod_EXPORTS): Rename to ...
8787 (kernel_img_EXPORTS): ... this.
8788 (kernel_mod_SOURCES): Rename to ...
8789 (kernel_img_SOURCES): ... this.
8790 (kernel_mod_HEADERS): Rename to ...
8791 (kernel_img_HEADERS): ... this. All users updated.
8792 (kernel_mod_CFLAGS): Rename to ...
8793 (kernel_img_CFLAGS): ... this.
8794 (kernel_mod_ASFLAGS): Rename to ...
8795 (kernel_img_ASFLAGS): ... this.
8796 (kernel_mod_LDFLAGS): Rename to ...
8797 (kernel_img_LDFLAGS): ... this.
8798 * conf/x86_64-efi.rmk: Likewise.
8799 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
8800 (read_kernel_image): ... this. All users updated.
8801 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
8802
69055f8a
CPE
88032009-12-05 Carles Pina i Estany <carles@pina.cat>
8804
8805 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
8806 (print_spaces): New function.
8807 (grub_print_ucs4): New function.
8808 (getstringwidth): New function.
8809 (print_message_indented): New function.
8810 (print_message): Gettexttize strings using print_message_indented.
8811 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
8812 width.
8813 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 8814 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
8815 Gettextize.
8816 * normal/menu_entry.c (store_completion): Cleanup the gettextized
8817 string.
8818 (run): Likewise.
8819 (grub_menu_entry_run): Likewise.
8820 * PO/POTFILES: Add normal/menu_entry.c.
8821
f616f51c
VS
88222009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
8825
57bbe3be
CPE
88262009-12-05 Carles Pina i Estany <carles@pina.cat>
8827
8828 * util/grub-install.in: Install gettext .mo files.
8829 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
8830
013d67a1
CPE
88312009-12-05 Carles Pina i Estany <carles@pina.cat>
8832
8833 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
8834 grub_dprintf.
8835
fb954db0
RM
88362009-12-05 Robert Millan <rmh.grub@aybabtu.com>
8837
8838 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
8839 non-firmware-dependant one in realmode.S takes precedence.
8840
6b8474f8
RM
88412009-12-04 Robert Millan <rmh.grub@aybabtu.com>
8842
8843 * commands/halt.c: Replace misc arch-specific headers with
8844 `<grub/misc.h>'.
8845 * commands/reboot.c: Likewise.
8846 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
8847 `<grub/misc.h>'.
8848 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
8849 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
8850 (kernel_img_SOURCES): ... to here.
8851
8852 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
8853 * include/grub/i386/pc/init.h: Likewise.
8854 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8855 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8856
8857 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
8858
8859 * include/grub/i386/halt.h: Remove.
8860 * include/grub/i386/reboot.h: Likewise.
8861
8862 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
8863
4b2e6ca2
DM
88642009-12-03 David S. Miller <davem@sunset.davemloft.net>
8865
8866 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
8867 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
8868 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
8869 "progname.h"
8870 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
8871 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8872 (usage): Add missing comma in printf.
8873
5239348f
RM
88742009-12-02 Robert Millan <rmh.grub@aybabtu.com>
8875
8876 Use the same reboot approach on i386 coreboot and qemu as we do on
8877 BIOS.
8878
8879 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
8880 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
8881 * kern/i386/reboot.c: Remove.
8882 * include/grub/i386/reboot.h (grub_reboot): Export function.
8883 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
8884 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
8885 0xf000:0xfff0 instead of 0xffff:0x0000.
8886 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
8887 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
8888
ef34cbd4
RM
88892009-11-30 Robert Millan <rmh.grub@aybabtu.com>
8890
8891 Fix $srcdir != $objdir build.
8892
8893 * Makefile.in (po/%.po): Rewrite as ...
8894 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
8895
dc9837ea
ST
88962009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
8897
8898 Fix GNU/Hurd grub-install crash.
8899 * util/grub-probe.c (probe): Try to access `path' only when it is not
8900 NULL.
8901
2f857f98
VS
89022009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 Correct module naming.
8905
8906 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8907 (GRUB_MOD_INIT(efi_uga)): ... to this
8908 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8909 (GRUB_MOD_FINI(efi_uga)): ... to this
8910 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
8911 (GRUB_MOD_INIT(efi_gop)): ... to this
8912 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
8913 (GRUB_MOD_FINI(efi_gop)): ... to this
8914
c5448046
RM
89152009-11-28 Robert Millan <rmh.grub@aybabtu.com>
8916
8917 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
8918 translatable.
8919 (usage): Translate `arg' strings using gettext().
8920 Thanks to Jordi Mallach for the suggestion.
8921
c85184ad
VS
89222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 GOP support. Based on patch from Bean
8925 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
8926
8927 * video/efi_gop.c: New file.
8928 * include/grub/efi/graphics_output.h: Likewise.
8929 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
8930 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
8931 variables.
8932 * conf/x86_64-efi.rmk: Likewise.
8933
8a4c48d8
VS
89342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 Rename efi_fb to efi_uga.
8937
8938 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8939 'efi_uga.mod'.
8940 (efi_fb_mod_SOURCES): Rename this ...
8941 (efi_uga_mod_SOURCES): ... to this.
8942 (efi_fb_mod_CFLAGS): Rename this ...
8943 (efi_uga_mod_CFLAGS): ... to this.
8944 (efi_fb_mod_LDFLAGS): Rename this ...
8945 (efi_uga_mod_LDFLAGS): ... to this.
8946 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
8947 'efi_uga.mod'.
8948 (efi_fb_mod_SOURCES): Rename this ...
8949 (efi_uga_mod_SOURCES): ... to this.
8950 (efi_fb_mod_CFLAGS): Rename this ...
8951 (efi_uga_mod_CFLAGS): ... to this.
8952 (efi_fb_mod_LDFLAGS): Rename this ...
8953 (efi_uga_mod_LDFLAGS): ... to this.
8954 * video/efi_fb.c: Move this ...
8955 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
8956
fb6c1a7b
RM
89572009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8958
8959 * po/README: New file. Explain our PO file workflow.
8960
3bc7896c
RM
89612009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8962
8963 * po/ChangeLog: Remove. Move relevant entries back to ...
8964 * ChangeLog: ... here.
8965 * po/ca.po: Remove (now handled by TLP).
8966 * po/id.po: Likewise.
8967 * po/zh_CN.po: Likewise.
8968 * Makefile.in (LINGUAS): Initialize in a way that supports
8969 empty set.
8970
9ed4841d
RM
89712009-11-27 Robert Millan <rmh.grub@aybabtu.com>
8972
8973 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
8974 reliing on po/LINGUAS.
8975 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
8976 (po/%.po): ... this.
8977
0ad46fd7 89782009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
8979
8980 * util/i386/efi/grub-mkimage.c: Include "progname.h".
8981 (main): Use `program_name' instead of nonexistent `progname'.
8982
e30dd392
FZ
89832009-11-26 Felix Zielcke <fzielcke@z-51.de>
8984
8985 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
8986 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
8987
7656de4f
RM
89882009-11-26 Robert Millan <rmh.grub@aybabtu.com>
8989
8990 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
8991 commit.
8992 * conf/i386-efi.rmk: Likewise.
8993 * conf/i386-ieee1275.rmk: Likewise.
8994 * conf/powerpc-ieee1275.rmk: Likewise.
8995 * conf/sparc64-ieee1275.rmk: Likewise.
8996 * conf/x86_64-efi.rmk: Likewise.
8997
db77c4d4
FZ
89982009-11-26 Felix Zielcke <fzielcke@z-51.de>
8999
9000 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
9001
a755bb04
FZ
90022009-11-26 Felix Zielcke <fzielcke@z-51.de>
9003
9004 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
9005
8a4c07fd
RM
90062009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9007
9008 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
9009 (grub_mkdevicemap_SOURCES): New variable.
9010 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
9011 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
9012 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
9013 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
9014 (grub_mkdevicemap_SOURCES): Remove.
9015 * conf/i386-efi.rmk: Likewise.
9016 * conf/i386-ieee1275.rmk: Likewise.
9017 * conf/i386-pc.rmk: Likewise.
9018 * conf/powerpc-ieee1275.rmk: Likewise.
9019 * conf/sparc64-ieee1275.rmk: Likewise.
9020 * conf/x86_64-efi.rmk: Likewise.
9021 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
9022 (usage): Fix strings to use `program_name'.
9023 (main): Initialize gettext.
9024 * util/grub-editenv.c: Likewise.
9025 * util/grub-emu.c: Likewise.
9026 * util/grub-fstest.c: Likewise.
9027 * util/grub-mkdevicemap.c: Likewise.
9028 * util/grub-mkfont.c: Likewise.
9029 * util/grub-mkrelpath.c: Likewise.
9030 * util/grub-pe2elf.c: Likewise.
9031 * util/grub-probe.c: Likewise.
9032 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9033 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9035
9036 * util/misc.c: Include `"progname.h"'.
9037 (progname): Remove variable.
9038 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
9039
6f61ed55
FZ
90402009-11-25 Felix Zielcke <fzielcke@z-51.de>
9041
9042 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
9043 printf and print a newline after the menuentry header line.
9044 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9045
f022876b
FZ
90462009-11-25 Felix Zielcke <fzielcke@z-51.de>
9047
9048 autoconf >= 2.60 support $(localedir).
9049
9050 * INSTALL: Note that autoconf 2.60 is required.
9051 * configure.ac (AC_PREREQ): Bump to 2.60.
9052 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
9053 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9054
6717926e
YB
90552009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
9056
9057 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
9058 aclocal is run.
9059
08806a54
RM
90602009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9061
9062 * normal/main.c (grub_normal_read_line): Fix off-by-one
9063 buffer overflow.
9064
13b33fba
RM
90652009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9066
9067 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
9068 "parser.grub" in grub_command_execute() call.
9069
4a8572e9
CPE
90702009-11-24 Carles Pina i Estany <carles@pina.cat>
9071
9072 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
9073 * conf/i386-efi.rmk: Likewise.
9074 * conf/i386-ieee1275.rmk: Likewise.
9075 * conf/i386-pc.rmk: Likewise.
9076 * conf/powerpc-ieee1275.rmk: Likewise.
9077 * conf/sparc64-ieee1275.rmk: Likewise.
9078 * conf/x86_64-efi.rmk: Likewise.
9079 * gettext/gettex.c: Include <grub/i18n.h>.
9080 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
9081 here ...
9082 * include/grub/i18n.h: ... to here
9083 * include/grub/i18n.h: ... to here.
9084 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 9085 (grub_gettext_dummy): Move above user.
4a8572e9 9086
bee48093
FZ
90872009-11-24 Felix Zielcke <fzielcke@z-51.de>
9088
9089 * util/Makefile.in (install-local): Convert a `for' into a normal
9090 shell expansion.
9091
a031e91c
RM
90922009-11-24 Robert Millan <rmh.grub@aybabtu.com>
9093
9094 * autogen.sh: Add automake call.
9095 * config.guess: Remove.
9096 * config.sub: Likewise.
9097 * install-sh: Likewise.
9098
26bec39d
FZ
90992009-11-24 Felix Zielcke <fzielcke@z-51.de>
9100
9101 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
9102
8e2532fd
FZ
91032009-11-24 Felix Zielcke <fzielcke@z-51.de>
9104
9105 * util/Makefile.in (install-local): Convert a make `$(foreach)'
9106 function to a normal shell `for'.
9107
fefa1b7d
FZ
91082009-11-24 Felix Zielcke <fzielcke@z-51.de>
9109
9110 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9111
4501250b
FZ
91122009-11-24 Felix Zielcke <fzielcke@z-51.de>
9113
9114 * util/grub-mkrelpath.c: New file.
9115 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
9116 (grub_mkrelpath_SOURCES): New variable.
9117 * include/grub/util/misc.h: New function prototype.
9118 * util/misc.c (make_system_path_relative_to_its_root): New function.
9119
9120 * util/grub-mkconfig_lib.in (bindir): New variable.
9121 (grub_mkrelpath): Likewise.
9122 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
9123
9124 * util/probe.c (probe): Make the file path relative to its root.
9125 Change a info message to use the GRUB path. Enable again the
9126 check if we can read the file with GRUB facilities.
9127
9128 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
9129 to its root.
9130
11d9778b
FZ
91312009-11-24 Felix Zielcke <fzielcke@z-51.de>
9132
9133 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
9134 platform.
9135
4465287d
FZ
91362009-11-24 Felix Zielcke <fzielcke@z-51.de>
9137
9138 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
9139 strncmp().
9140
62b47f22
FZ
91412009-11-24 Felix Zielcke <fzielcke@z-51.de>
9142
9143 * util/getroot.c (grub_util_is_dmraid): New function.
9144 (grub_util_get_dev_abstraction): Treat dmraid and multipath
9145 devices as normal ones, not as LVM.
9146
1eafb9b9 91472009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
9148
9149 * conf/common.rmk: Add grub-gettext_lib target and updates
9150 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
9151 LDFLAGS.
9152 * gettext/gettext.c: New file. (Reads mo files).
9153 * include/grub/file.h (grub_file_pread): New prototype.
9154 * include/grub/i18n.h (_): New prototype.
9155 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
9156 prototypes.
9157 * kern/misc.c (grub_gettext_dummy): New function.
9158 * normal/menu_text.c: Include <grub/i18n.h>.
9159 * normal/menu_text.c (print_timeout): Gettexttize string.
9160 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
9161 * po/POTFILES: Add `normal/menu_text.c'.
9162 * po/ca.po: Add new translations.
c3ea6bd4
CPE
9163 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
9164 gettext module and defines locale_dir and lang in grub.cfg.
9165 * NEWS: Add gettext support.
9166
0fdb2568
RM
91672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9168
9169 * util/hostdisk.c: Include `<grub/i18n.h>'.
9170 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
9171 (make_device_name): Rewrite using asprintf.
9172 (convert_system_partition_to_system_disk): Replace 0 with NULL.
9173 (find_system_device): If a device is not found, generate one just
9174 by reusing the OS path name.
9175 (read_device_map): Make it permissible for device.map not to exist.
9176
f515aa62
RM
91772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9178
9179 * script/sh/execute.c: Move from here ...
9180 * script/execute.c: ... to here. Update all users.
9181 * script/sh/function.c: Move from here ...
9182 * script/function.c: ... to here. Update all users.
9183 * script/sh/lexer.c: Move from here ...
9184 * script/lexer.c: ... to here. Update all users.
9185 * script/sh/main.c: Move from here ...
9186 * script/main.c: ... to here. Update all users.
9187 * script/sh/parser.y: Move from here ...
9188 * script/parser.y: ... to here. Update all users.
9189 * script/sh/script.c: Move from here ...
9190 * script/script.c: ... to here. Update all users.
9191
f84b481b
RM
91922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9193
9194 * configure.ac: Detect all `emu' platforms. Define
9195 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
9196 --enable-grub-emu logic. Disable include/grub/machine
9197 symlink on `emu' platforms.
9198
9199 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
9200 * gensymlist.sh.in: Likewise.
9201
9202 * include/grub/i386/coreboot/machine.h: Remove file.
9203 * include/grub/i386/efi/machine.h: Likewise.
9204 * include/grub/i386/ieee1275/machine.h: Likewise.
9205 * include/grub/i386/pc/machine.h: Likewise.
9206 * include/grub/i386/qemu/machine.h: Likewise.
9207 * include/grub/powerpc/ieee1275/machine.h: Likewise.
9208 * include/grub/sparc64/ieee1275/machine.h: Likewise.
9209 * include/grub/x86_64/efi/machine.h: Likewise.
9210
9211 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
9212 * commands/halt.c: Likewise.
9213 * commands/reboot.c: Likewise.
9214 * include/grub/autoefi.h: Likewise.
9215 * include/grub/i386/at_keyboard.h: Likewise.
9216 * include/grub/i386/kernel.h: Likewise.
9217 * include/grub/i386/loader.h: Likewise.
9218 * include/grub/i386/pc/memory.h: Likewise.
9219 * kern/dl.c: Likewise.
9220 * kern/i386/coreboot/init.c: Likewise.
9221 * loader/i386/bsd.c: Likewise.
9222 * loader/i386/linux.c: Likewise.
9223 * loader/multiboot_loader.c: Likewise.
9224 * term/i386/pc/serial.c: Likewise.
9225 * term/usb_keyboard.c: Likewise.
9226
9227 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
9228 `<grub/machine/machine.h>'
9229 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
9230 * util/misc.c: Remove `<grub/machine/machine.h>' and
9231 `<grub/machine/time.h>'.
9232
9233 * Makefile.in (enable_grub_emu): Remove variable.
9234 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
9235
9236 * conf/any-emu.rmk: New file.
9237 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
9238 (grub_emu_init.c): Move from here ...
9239 * conf/any-emu.rmk: ... to here.
9240
9241 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
9242 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
9243 * conf/any-emu.rmk: ... to here.
9244
4efeab03
RM
92452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9246
9247 * include/grub/parser.h (grub_parser_register): Document need
9248 of `name' parameter.
9249 * normal/main.c (grub_normal_read_line): Simplify prompt string.
9250 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
9251 "sh" to "grub".
9252
ea1dd8bf
RM
92532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9254
9255 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
9256 `$(XGETTEXT)'.
9257 * include/grub/i18n.h (N_): New macro.
9258 * util/mkisofs/mkisofs.h: Likewise.
9259 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
9260 around N_().
9261 (usage): Use gettext() to translate help strings when printing them.
9262
0c140626
RM
92632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9264
9265 Based on patch from Bean
9266 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
9267
9268 * video/efi_fb.c: New file.
9269 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
9270 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
9271 variables.
9272 * conf/x86_64-efi.rmk: Likewise.
9273
87d58298
RM
92742009-11-22 Robert Millan <rmh.grub@aybabtu.com>
9275
9276 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
9277 * util/i386/pc/grub-setup.c: Likewise.
9278
994cc3a3
ST
92792009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9280
9281 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
9282 <hurd/fs.h>
9283 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
9284 file_get_storage_info to implement grub_guess_root_device.
9285
26a61d6a
FZ
92862009-11-21 Felix Zielcke <fzielcke@z-51.de>
9287
9288 * Makefile.in (target): Use make's builtin $(shell) function
9289 instead of calling directly $(SHELL) to create the locale directories,
9290 inside the $(foreach) function.
9291
74ff1dd5
FZ
92922009-11-21 Felix Zielcke <fzielcke@z-51.de>
9293
9294 * util/grub-mkrescue.in: Print an error and usage if output option
9295 has not been given.
9296
0b787d0e
FZ
92972009-11-21 Felix Zielcke <fzielcke@z-51.de>
9298
9299 Patch from Loïc Minier <loic.minier@ubuntu.com>.
9300 * util/grub.d/30_os-prober.in: Cope with Linux entries where
9301 root and /boot are on different devices.
9302
1164b270
RM
93032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9304
9305 Fix build for srcdir != objdir.
9306
9307 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
9308 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
9309 $(srcdir).
9310 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
9311 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
9312 reference for input.
9313
13774a2f
RM
93142009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9315
9316 * util/grub-mkrescue.in: Use source directory direcly (without copiing
9317 or hardlinking it). Remove -J option, Joliet is not compatible with
9318 multiple source directories.
9319
efda854e
RM
93202009-11-21 Carles Pina i Estany <carles@pina.cat>
93212009-11-21 Robert Millan <rmh.grub@aybabtu.com>
9322
9323 * util/grub-mkrescue.in: Recognize `--override-directory' option.
9324 (process_input_dir): New function. Process an arbitrary input
9325 directory.
9326 Misc adjustments to support both "override mode" and system-wide mode.
9327
6c09890c
FZ
93282009-11-20 Felix Zielcke <fzielcke@z-51.de>
9329
9330 * configure.ac (UNIFONT_BDF): Rename to ...
9331 (FONT_SOURCE): ... this. Update all users.
9332
a797824f
FZ
93332009-11-20 Felix Zielcke <fzielcke@z-51.de>
9334
9335 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
9336 to the list of unifont files to look for.
9337
cd4f42b0
RM
93382009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9339
9340 Patch from Joe Auricchio <jauricchio@gmail.com>
9341 * commands/minicmd.c (grub_mini_cmd_clear): New function.
9342 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
9343 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
9344
393c783d
FZ
93452009-11-19 Felix Zielcke <fzielcke@z-51.de>
9346
9347 * Makefile.in (install-local): Add a missing backslash.
9348
b2f1e327
FZ
93492009-11-19 Felix Zielcke <fzielcke@z-51.de>
9350
9351 * include/grub/x86_64/io.h: New file.
9352
f577f7a0
RM
93532009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9354
9355 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
9356 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
9357 Include `"progname.h"'.
9358 (main): Initialize gettext.
9359 * util/i386/pc/grub-setup.c: Gettexttize.
9360 * util/i386/pc/grub-mkimage.c: Likewise.
9361
9362 * Makefile.in (po/*.po): Redefine as ...
9363 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
9364
3bc7896c
RM
9365 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
9366
c37943b6
RM
93672009-11-19 Robert Millan <rmh.grub@aybabtu.com>
9368
9369 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
9370 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
9371 (program_name): Remove.
9372 (main): Initialize gettext support.
6323f705
RM
9373 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
9374 Include `<libintl.h>'.
9375 (_): New macro.
c37943b6
RM
9376
9377 * util/mkisofs/eltorito.c: Gettexttize.
9378 * util/mkisofs/joliet.c: Likewise.
9379 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
9380 * util/mkisofs/multi.c: Likewise.
9381 * util/mkisofs/rock.c: Likewise.
9382 * util/mkisofs/tree.c: Likewise.
9383 * util/mkisofs/write.c: Likewise.
9384
3bc7896c
RM
9385 * po/POTFILES: Update with new files.
9386
5ce77c6e
RM
93872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9388
9389 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
9390 * util/mkisofs/iso9660.h: Likewise.
9391 * util/mkisofs/joliet.c: Likewise.
9392 * util/mkisofs/mkisofs.c: Likewise.
9393 * util/mkisofs/mkisofs.h: Likewise.
9394 * util/mkisofs/rock.c: Likewise.
9395 * util/mkisofs/tree.c: Likewise.
9396 * util/mkisofs/write.c: Likewise.
9397
9398 * util/mkisofs/eltorito.c (rcsid): Remove.
9399 * util/mkisofs/hash.c: Likewise.
9400 * util/mkisofs/joliet.c: Likewise.
9401 * util/mkisofs/name.c: Likewise.
9402 * util/mkisofs/rock.c: Likewise.
9403 * util/mkisofs/tree.c: Likewise.
9404 * util/mkisofs/write.c: Likewise.
9405
1dabbc77
RM
94062009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9407
9408 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
9409 instead of static allocation.
9410 * util/mkisofs/match.h: Likewise.
9411
633877cb
RM
94122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9413
3bc7896c
RM
9414 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
9415 and `util/grub.d/10_linux.in'.
633877cb
RM
9416 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
9417 translatable Shell files.
9418
af1c0c85
RM
94192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
9420
9421 * Makefile.in ($(srcdir)/aclocal.m4): New target.
9422
769ae37b
RM
94232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9424
9425 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 9426 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
9427 * util/grub.d/10_kfreebsd.in (bindir): New variable.
9428 Add gettext initialization.
9429 (kfreebsd_entry): Make menuentry output translatable.
9430
94312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9432
9433 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
9434 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
9435 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
9436 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
9437 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 9438 * po/LINGUAS: New file.
769ae37b
RM
9439
94402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9441
9442 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
9443 other things).
9444 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
9445 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
9446 bindtextdomain() calls for gettext initialization.
9447
94482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9449
9450 * gnulib/progname.c: New file (imported from Gnulib).
9451 * gnulib/progname.h: Likewise.
9452 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9453 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
9454 (usage): Replace `progname' with `program_name'.
9455 (main): Use set_program_name() for program name initialization.
9456
94572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9458
9459 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
9460 from here ...
9461 * Makefile.in (CPPFLAGS): ... to here.
9462
94632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9464
9465 * aclocal.m4: Move from here ...
9466 * acinclude.m4: ... to here.
9467 * autogen.sh: Add call to `aclocal'.
9468 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
9469
94702009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9471
9472 * Makefile.in (CLEANFILES): Add `po/*.mo'.
9473 (LINGUAS): New variable.
9474 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
9475 (install-local): Install MO files.
9476 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
9477 * include/grub/i18n.h: New file.
3bc7896c
RM
9478 * po/POTFILES: New file.
9479 * po/ca.po: New file.
769ae37b
RM
9480 * util/grub.d/10_linux.in (bindir): New variable.
9481 Add gettext initialization.
9482 (linux_entry): Make menuentry output translatable.
9483 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
9484 (usage): Make --help output translatable.
9485 (main): Initialize gettext.
9486
02c0a6ad
RM
94872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9488
9489 * import_gcry.py: New file (written by Vladimir with minor
9490 adjustments).
9491 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
9492 ciphers.
9493 * INSTALL: Document that Python is required for bootstrap.
9494
94952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
9496
9497 Import ciphers from libgcrypt 1.4.4.
9498
9499 * lib/libgcrypt/cipher/ChangeLog
9500 * lib/libgcrypt/cipher/ac.c
9501 * lib/libgcrypt/cipher/arcfour.c
9502 * lib/libgcrypt/cipher/bithelp.h
9503 * lib/libgcrypt/cipher/blowfish.c
9504 * lib/libgcrypt/cipher/camellia-glue.c
9505 * lib/libgcrypt/cipher/camellia.c
9506 * lib/libgcrypt/cipher/camellia.h
9507 * lib/libgcrypt/cipher/cast5.c
9508 * lib/libgcrypt/cipher/cipher.c
9509 * lib/libgcrypt/cipher/crc.c
9510 * lib/libgcrypt/cipher/des.c
9511 * lib/libgcrypt/cipher/dsa.c
9512 * lib/libgcrypt/cipher/ecc.c
9513 * lib/libgcrypt/cipher/elgamal.c
9514 * lib/libgcrypt/cipher/hash-common.c
9515 * lib/libgcrypt/cipher/hash-common.h
9516 * lib/libgcrypt/cipher/hmac-tests.c
9517 * lib/libgcrypt/cipher/md.c
9518 * lib/libgcrypt/cipher/md4.c
9519 * lib/libgcrypt/cipher/md5.c
9520 * lib/libgcrypt/cipher/primegen.c
9521 * lib/libgcrypt/cipher/pubkey.c
9522 * lib/libgcrypt/cipher/rfc2268.c
9523 * lib/libgcrypt/cipher/rijndael-tables.h
9524 * lib/libgcrypt/cipher/rijndael.c
9525 * lib/libgcrypt/cipher/rmd.h
9526 * lib/libgcrypt/cipher/rmd160.c
9527 * lib/libgcrypt/cipher/rsa.c
9528 * lib/libgcrypt/cipher/seed.c
9529 * lib/libgcrypt/cipher/serpent.c
9530 * lib/libgcrypt/cipher/sha1.c
9531 * lib/libgcrypt/cipher/sha256.c
9532 * lib/libgcrypt/cipher/sha512.c
9533 * lib/libgcrypt/cipher/tiger.c
9534 * lib/libgcrypt/cipher/twofish.c
9535 * lib/libgcrypt/cipher/whirlpool.c
9536
af2f93ac
RM
95372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9538
9539 Fix build for systems without error().
9540
9541 * gnulib/error.c: New file (imported from Gnulib).
9542 * gnulib/error.h: Likewise.
9543 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
9544 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
9545 (this variable is now used by error()).
9546
73fb3dd5
FZ
95472009-11-16 Felix Zielcke <fzielcke@z-51.de>
9548
814f5e96
FZ
9549 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
9550 instead of relying that char is signed.
73fb3dd5 9551
a691ca33
VS
95522009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
9555 blocksize different from specified.
9556 (grub_pxefs_read): Likewise.
9557
2af8f0f4
FZ
95582009-11-16 Felix Zielcke <fzielcke@z-51.de>
9559
9560 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
9561
9562 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
9563 (grub_ata_readwrite): Likewise. Update 2 format strings.
9564 (grub_atapi_read): Likewise.
9565
9566 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
9567 * conf/i386.rmk (pkglib_MODULES): ... to here ...
9568 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
9569 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
9570 (ata_mod_LDFLAGS): Move from here ...
9571 * conf/i386.rmk: ... to here ...
9572 * conf/x86_64-efi.rmk: ... and here.
9573 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
9574 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
9575
83bdecaf
RM
95762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
9577
9578 Relicense multiboot.h, with RMS' blessing.
9579
9580 * include/multiboot.h: Change to X11 license.
9581
fd6fd3d7
RM
95822009-11-15 Robert Millan <rmh.grub@aybabtu.com>
9583
9584 Support --version in grub-mkisofs.
9585
9586 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
9587 (OPTION_VERSION): New macro.
9588 (ld_options): Recognize --version.
9589 (usage): Move `program_name' from here ...
9590 (program_name): ... to here. Add `static' qualifier.
9591 (main): Recognize `OPTION_VERSION'.
9592
16a88c49
FZ
95932009-11-15 Felix Zielcke <fzielcke@z-51.de>
9594
9595 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
9596 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
9597
a4158476
RM
95982009-11-14 Robert Millan <rmh.grub@aybabtu.com>
9599
9600 Fix help2man generation for mkisofs.
9601
9602 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
9603 (usage): Send output to stdout (rather than stderr).
9604
fc2208b0
RM
96052009-11-14 Robert Millan <rmh.grub@aybabtu.com>
9606
9607 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
9608 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
9609 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
9610 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
9611 (bin_SCRIPTS): Add `grub-mkfloppy'.
9612 (grub_mkfloppy_SOURCES): New variable.
9613
9614 * util/grub-mkrescue.in: New file.
9615 * util/i386/pc/grub-mkfloppy.in: New file.
9616
9617 * util/i386/coreboot/grub-mkrescue.in: Remove.
9618 * util/i386/pc/grub-mkrescue.in: Remove.
9619
8d0edf4a
RM
96202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9621
9622 * include/grub/multiboot.h (struct grub_multiboot_header): Move
9623 from here ...
9624 * include/multiboot.h (struct multiboot_header): ... to here. Update
9625 all users.
9626 * include/grub/multiboot.h (struct grub_multiboot_info): Move
9627 from here ...
9628 * include/multiboot.h (struct multiboot_info): ... to here. Update
9629 all users.
9630 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
9631 from here ...
9632 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
9633 Update all users.
9634 * include/grub/multiboot.h (struct grub_mod_list): Move
9635 from here ...
9636 * include/multiboot.h (struct multiboot_mod_list): ... to here.
9637 Update all users.
9638
a73f5969
RM
96392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9640
9641 * include/multiboot2.h (multiboot_word): Rename from this ...
9642 (multiboot2_word): ... to this. Update all users.
9643 (multiboot_header): Rename from this ...
9644 (multiboot2_header): ... to this. Update all users.
9645 (multiboot_tag_header): Rename from this ...
9646 (multiboot2_tag_header): ... to this. Update all users.
9647 (multiboot_tag_start): Rename from this ...
9648 (multiboot2_tag_start): ... to this. Update all users.
9649 (multiboot_tag_name): Rename from this ...
9650 (multiboot2_tag_name): ... to this. Update all users.
9651 (multiboot_tag_module): Rename from this ...
9652 (multiboot2_tag_module): ... to this. Update all users.
9653 (multiboot_tag_memory): Rename from this ...
9654 (multiboot2_tag_memory): ... to this. Update all users.
9655 (multiboot_tag_unused): Rename from this ...
9656 (multiboot2_tag_unused): ... to this. Update all users.
9657 (multiboot_tag_end): Rename from this ...
9658 (multiboot2_tag_end): ... to this. Update all users.
9659
1c8927f0
RM
96602009-11-13 Robert Millan <rmh.grub@aybabtu.com>
9661
9662 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
9663 this platform we should support Multiboot1 first.
9664
9665 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
9666 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
9667 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
9668
6e1e0d89
RM
96692009-11-12 Robert Millan <rmh.grub@aybabtu.com>
9670
9671 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
9672 of write calls (converting them to fwrite() if they aren't already).
9673 (get_torito_desc): Likewise.
9674 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
9675
7f2b34d8
RM
96762009-11-12 Robert Millan <rmh.grub@aybabtu.com>
9677
9678 * util/i386/pc/grub-install.in: Move from here ...
9679 * util/grub-install.in: ... to here. Update all users.
9680
c0ef3311
CW
96812009-11-11 Colin Watson <cjwatson@ubuntu.com>
9682
9683 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
9684
e1f240ff
RM
96852009-11-11 Robert Millan <rmh.grub@aybabtu.com>
9686
9687 Support for El Torito without floppy emulation.
9688
9689 * util/mkisofs/eltorito.c: Include `<errno.h>'.
9690 (init_boot_catalog): Improve error handling.
9691 (get_torito_desc): Don't use floppy emulation unless requested by
9692 user. Patch boot information table when requested via
9693 `-boot-info-table'.
9694 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
9695 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
9696 (use_boot_info_table): New variables.
9697 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
9698 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
9699 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
9700 `--eltorito-emul-floppy'.
9701 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
9702 and `OPTION_ELTORITO_EMUL_FLOPPY'.
9703 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
9704 (use_boot_info_table, get_731): New prototypes.
9705 * util/mkisofs/write.c (get_731): New function.
9706
af7d4de5
FZ
97072009-11-11 Felix Zielcke <fzielcke@z-51.de>
9708
9709 Fix the generation of the man page.
9710
9711 * util/pc/i386/grub-install.in: Source
9712 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
9713
2c55dbc0
RM
97142009-11-11 Robert Millan <rmh.grub@aybabtu.com>
9715
9716 Large file support for grub-mkisofs.
9717
9718 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
9719 * util/mkisofs/mkisofs.c (next_extent, last_extent)
9720 (session_start): Upgrade type to `uint64_t'. Update all users.
9721 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
9722 (struct directory_entry): Upgrade type of `starting_block' and
9723 `size' to `uint64_t'. Update all users.
9724 (struct deferred): Remove unused structure.
9725 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
9726 Update all users.
9727 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
9728 file is larger than `UINT32_MAX'.
9729 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
9730 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
9731 return value.
9732 (struct deferred_write): Upgrade type of `extent' and `size' to
9733 `uint64_t'. Update all users.
9734 (last_extent_written): Upgrade type to `uint64_t'. Update all
9735 users.
9736 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
9737 Update all users. Upgrade type of `remain' to `int64_t' and
9738 `use' to `size_t'. Use error() to handle fread() errors.
9739 (write_files): Rely on write_one_file() rather than calling
9740 xfwrite() directly.
9741
6a9cead5
FZ
97422009-11-09 Felix Zielcke <fzielcke@z-51.de>
9743
9744 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
9745
4825d790
RM
97462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9747
9748 * util/mkisofs/fnmatch.c: Remove.
9749 * util/mkisofs/getopt1.c: Likewise.
9750 * util/mkisofs/getopt.c: Likewise.
9751 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
9752 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
9753 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
9754 `gnulib/getopt1.c' and `gnulib/getopt.c'.
9755 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
9756
9757 * configure.ac: Detect `mingw32msvc' host_os.
9758 Check for lstat(), getuid() and getgid().
9759
9760 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
9761 instances of `u_char' with `uint8_t'.
9762
9763 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
9764 [!HAVE_GETUID] (getuid): New function (stub).
9765 [!HAVE_GETGID] (getgid): Likewise.
9766 [!HAVE_LSTAT] (lstat): Likewise.
9767 [!S_IROTH] (S_IROTH): New macro (dummy).
9768 [!S_IRGRP] (S_IRGRP): Likewise.
9769
84b860d8
RM
97702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9771
9772 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
9773 conditional expression).
9774
66e9b712
RM
97752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9776
9777 Import from Gnulib.
9778
9779 * gnulib/fnmatch.c: New file.
9780 * gnulib/fnmatch.h: Likewise.
9781 * gnulib/fnmatch_loop.c: Likewise.
9782 * gnulib/getopt.c: Likewise.
9783 * gnulib/getopt.h: Likewise.
9784 * gnulib/getopt1.c: Likewise.
9785 * gnulib/getopt_int.h: Likewise.
9786 * gnulib/gettext.h: Likewise.
9787
34f4a5b0
RM
97882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9789
9790 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
9791 * normal/handler.c (read_handler_list): Likewise.
9792
ac451143
RM
97932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9794
9795 Misc cleanup.
9796
9797 * kern/command.c (grub_register_command_prio): Use
9798 grub_zalloc() instead of explicitly zeroing data.
9799 * kern/list.c: Include `<grub/mm.h>'.
9800 (grub_named_list_find): Replace `0' with `NULL'.
9801 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
9802 (fs_module_list): Change type to `grub_named_list_t'. Update all
9803 users.
9804 * normal/dyncmd.c (read_command_list): Add space between function
9805 call and parenthesis.
9806 * normal/handler.c (read_handler_list): Likewise.
9807
4089b167
RM
98082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9809
9810 * normal/auth.c (punishment_delay): Moved from here ...
9811 (grub_auth_strcmp): ... to here (inside function).
9812
325f5037
RM
98132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9814
9815 * include/grub/list.h (struct grub_named_list): Remove `const'
9816 qualifier from `name'.
9817 (struct grub_prio_list): Likewise.
9818
7aea29a3
RM
98192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9820
9821 * normal/auth.c: Include `<grub/time.h>'.
9822 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
9823
3fd6f044
RM
98242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9825
9826 * normal/auth.c (punishment_delay): New variable.
9827 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
9828 (grub_auth_check_authentication): Punish failed login attempts with
9829 an incremental (2^N) delay.
9830
a4cd68e4
RM
98312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9832
9833 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
9834 path with $(srcdir).
9835
7ad12f43
VS
98362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
9839
c1129f03
RM
98402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
9841
9842 * util/i386/coreboot/grub-mkrescue.in: New file.
9843 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
9844 variables.
9845
9846 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
9847 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
9848 * configure.ac: Add header and function checks to satisfy grub-mkisofs
9849 requirements.
9850 * util/mkisofs/defaults.h: New file.
9851 * util/mkisofs/eltorito.c: Likewise.
9852 * util/mkisofs/exclude.h: Likewise.
9853 * util/mkisofs/fnmatch.c: Likewise.
9854 * util/mkisofs/getopt.c: Likewise.
9855 * util/mkisofs/getopt1.c: Likewise.
9856 * util/mkisofs/hash.c: Likewise.
9857 * util/mkisofs/include/fctldefs.h: Likewise.
9858 * util/mkisofs/include/mconfig.h: Likewise.
9859 * util/mkisofs/include/prototyp.h: Likewise.
9860 * util/mkisofs/include/statdefs.h: Likewise.
9861 * util/mkisofs/iso9660.h: Likewise.
9862 * util/mkisofs/joliet.c: Likewise.
9863 * util/mkisofs/match.c: Likewise.
9864 * util/mkisofs/match.h: Likewise.
9865 * util/mkisofs/mkisofs.c: Likewise.
9866 * util/mkisofs/mkisofs.h: Likewise.
9867 * util/mkisofs/multi.c: Likewise.
9868 * util/mkisofs/name.c: Likewise.
9869 * util/mkisofs/rock.c: Likewise.
9870 * util/mkisofs/tree.c: Likewise.
9871 * util/mkisofs/write.c: Likewise.
9872
ec8bb77d
VS
98732009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
9876 being insecure.
9877
3716b12c
RM
98782009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9879
9880 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
9881 `grub-mkimage' (and use $0 when possible).
9882
b97b7b91
RM
98832009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9884
9885 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
9886 error message for excessively large memory map.
9887
04114812
RM
98882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9889
9890 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
9891 executable bit.
9892
e4eb2373
RM
98932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
9894
9895 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
9896 message for coreboot users.
9897
c926e1d5 98982009-11-07 Robert Millan <rmh.grub@aybabtu.com>
9899
9900 Fix build with GNU gold.
9901
9902 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
9903 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
9904 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
9905 link addresses.
9906 * aclocal.m4: Likewise.
9907
86e5b1db 99082009-11-04 Felix Zielcke <fzielcke@z-51.de>
9909
9910 * configure.ac (AC_PREREQ): Bump to 2.59d.
9911 * INSTALL: Make it more clear when Autoconf and Ruby are
9912 needed and when to run `./autogen.sh'.
9913
246cd78f 99142009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
9915
9916 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
9917 OSes.
9918
4f9dfb37 99192009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9920
9921 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
9922
b82bd5e1 99232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9924
9925 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
9926 giving it to GNU Mach.
9927
ff1a9bca 99282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9929
9930 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
9931 GNU partition number to get internal GRUB partition number.
9932
61697d9c 99332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
9934
9935 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
9936 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
9937
a50569e1 99382009-11-01 Robert Millan <rmh.grub@aybabtu.com>
9939
9940 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
9941 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
9942 case.
9943
5b153867 99442009-11-01 Felix Zielcke <fzielcke@z-51.de>
9945
9946 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
9947
d9e2cd70 99482009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9949
9950 Fix build problem.
9951
9952 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
9953 `-isystem=$(srcdir)/include'.
9954
805111a4 99552009-10-30 Robert Millan <rmh.grub@aybabtu.com>
9956
9957 * util/i386/pc/grub-install.in: Remove hint that device.map should be
9958 checked (grub-install doesn't currently rely on it).
9959
fa6e945f 99602009-10-29 Robert Millan <rmh.grub@aybabtu.com>
9961
9962 Revert SVN r2660.
9963
9964 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
9965 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
9966 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
9967 * conf/i386-ieee1275.rmk: Likewise.
9968 * conf/i386-pc.rmk: Likewise.
9969 * conf/powerpc-ieee1275.rmk: Likewise.
9970 * conf/sparc64-ieee1275.rmk: Likewise.
9971 * conf/x86_64-efi.rmk: Likewise.
9972
cee15086 99732009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9974
9975 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
9976
95b9239e 99772009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9978
9979 * include/grub/misc.h: Stop checking for APPLE_CC.
9980
2ed19dfd 99812009-10-28 Robert Millan <rmh.grub@aybabtu.com>
9982
9983 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
9984 doesn't cause an infinite call loop.
9985
fdcdde19 99862009-10-28 Felix Zielcke <fzielcke@z-51.de>
9987
9988 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
9989 strings.
9990
cefabfe1 99912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9992
9993 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
9994 variable.
9995 * Makefile.in: Likewise.
9996
ed96ab6d 99972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
9998
9999 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
10000
0579b753 100012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10002
10003 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
10004
478df409 100052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10006
10007 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
10008
083d1679 100092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10010
10011 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
10012 from here ...
10013 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
10014
5947ae32 100152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10016
10017 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
10018 in $(MAKEINFO) invocation. This makes it clear in output that
10019 errors are being ignored.
10020
94180ff6 100212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10022
10023 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
10024 from here ...
10025 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10026 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
10027 * conf/i386-ieee1275.rmk: Likewise.
10028 * conf/i386-pc.rmk: Likewise.
10029 * conf/powerpc-ieee1275.rmk: Likewise.
10030 * conf/sparc64-ieee1275.rmk: Likewise.
10031 * conf/x86_64-efi.rmk: Likewise.
10032
9031b03a 100332009-10-26 Colin Watson <cjwatson@ubuntu.com>
10034
10035 * util/grub-editenv.c (main): If only a command is given, use
10036 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
10037 (usage): FILENAME is now optional and has a default.
10038
e4f6809b 100392009-10-26 Colin Watson <cjwatson@ubuntu.com>
10040
10041 Improve grub-mkconfig performance when there are several menu
10042 entries on a single filesystem.
10043
10044 * util/grub.d/10_linux.in (linux_entry): Cache the output of
10045 prepare_grub_to_access_device.
10046 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10047 * util/grub.d/30_os-prober.in: Likewise.
10048
67937d4d 100492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10050
10051 * util/grub.d/10_freebsd.in: Remove.
10052 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
10053 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
10054
ee3756cc 100552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10056
5c35048e 10057 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 10058
4dea1c6f 100592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10060
10061 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
10062 grub_util_error() call.
10063
042484d7 100642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10065
10066 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
10067 `reserved_first_sector' member.
10068 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
10069 `reserved_first_sector' to 1.
10070 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
10071 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
10072 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
10073 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
10074 filesystems which begin at first sector.
10075 (options): New option --skip-fs-probe.
10076 (main): Handle --skip-fs-probe and pass it to setup().
10077
d64448a7 100782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10079
10080 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
10081 (memset): Fix function prototype.
10082
508d42ec 100832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
100842009-10-25 Vasily Averin <vvs@parallels.com>
10085
10086 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
10087 `dirent.direntlen == 0'.
10088
b240e30c 100892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10090
10091 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
10092 `cpio'.
10093 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
10094
346e7fbe 100952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10096
10097 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
10098 `__trampoline_setup' and `__ucmpdi2'.
10099 * include/grub/powerpc/libgcc.h: Only export symbols for functions
10100 that libgcc provides.
10101
cdb308b0 101022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10103
10104 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
10105 * include/grub/sparc64/libgcc.h (memset): Likewise.
10106 * include/grub/misc.h (memset, memcmp): New function prototypes.
10107
fb26abc2 101082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10109
10110 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
10111 `cpio'.
10112 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
10113
f6693890 101142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10115
10116 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
10117 * docs/grub.cfg: Compensate for recent change in multiboot
10118 loader (since 2009-08-14 it won't pass filename to payload).
10119 * util/grub.d/10_hurd.in: Likewise.
10120
0933cdc0 101212009-10-21 Felix Zielcke <fzielcke@z-51.de>
10122
10123 * config.guess: Update to latest version from config git
10124 repository.
10125 * config.sub: Likewise.
10126
3b2fe8c2 101272009-10-20 Robert Millan <rmh.grub@aybabtu.com>
10128
10129 Fix build on sparc64.
10130
10131 * configure.ac: Perform checks for libgcc symbols before
10132 adding `-nostdlib' to LDFLAGS.
10133
46695a62 101342009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 Let user specify OpenBSD root device.
10137
10138 * loader/i386/bsd.c (openbsd_root): New variable.
10139 (openbsd_opts): New option 'root'.
10140 (OPENBSD_ROOT_ARG): New macro.
10141 (grub_openbsd_boot): Use 'openbsd_root'.
10142 (grub_cmd_openbsd): Fill 'openbsd_root'.
10143
d2b6b7fc 101442009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10145
10146 * NEWS: Misc adjustments.
10147
421bd7ac 101482009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
10151
f1d29d87 101522009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10153
10154 * configure.ac: Bump version to 1.97.
10155
6f3cd880 101562009-10-16 Colin Watson <cjwatson@ubuntu.com>
10157
10158 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
10159 -mno-3dnow on x86 architectures. Some toolchains enable these
10160 features by default, but they rely on registers that aren't enabled
10161 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
10162
035f7122 101632009-10-15 Robert Millan <rmh.grub@aybabtu.com>
10164
10165 Make entry text a bit more readable.
10166
10167 * util/grub.d/10_linux.in: Add `with' before `Linux'.
10168
44998e58 101692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
10172
cd2851b3 101732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
10176 operations.
10177
c6f3b249 101782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * configure.ac: Add missing dollar.
10181
6b5886ba 101822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
10185
10186 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
10187 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
10188 exports.
10189 * include/grub/sparc64/libgcc.h: Likewise. Use
10190 preprocessor conditionals.
10191
e9d66f6d 101922009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10193
10194 * conf/common.rmk (grub-dumpbios): Remove rule.
10195 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
10196 * util/grub-dumpbios.in: Remove file.
10197
9155bc17 101982009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10199
10200 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
10201 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
10202
10203 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
10204 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
10205 users.
10206
10207 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
10208 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
10209 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
10210 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
10211 users.
10212
bf7f7a18 102132009-10-12 Robert Millan <rmh.grub@aybabtu.com>
10214
10215 * term/tparm.c: Switch to GPLv3.
10216
86564c26 102172009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10218
10219 * include/grub/i386/cpuid.h: Add header protection.
10220
5c936493 102212009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10222
10223 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
10224
10225 * include/grub/i386/cpuid.h: New file.
10226 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
10227 (has_longmode): Rename to ...
10228 (grub_cpuid_has_longmode): ... this. Update all users. Remove
10229 `static' attribute.
10230 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
10231 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
10232 on a CPU that doesn't implement AMD64 instruction set.
10233
186e7cf2 102342009-10-06 Colin Watson <cjwatson@ubuntu.com>
10235
10236 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
10237 that version.texi is rebuilt on version number changes.
10238
83b65c4a 102392009-10-06 Colin Watson <cjwatson@ubuntu.com>
10240
10241 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
10242 Fixes bug #27602.
10243
d244281c 102442009-10-06 Colin Watson <cjwatson@ubuntu.com>
10245
10246 * util/i386/pc/grub-install.in: Source
10247 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
10248 that the --grub-probe option will work.
10249 * util/sparc64/ieee1275/grub-install.in: Likewise.
10250
da25306d 102512009-10-05 Robert Millan <rmh.grub@aybabtu.com>
10252
10253 * configure.ac: Bump version to 1.97~beta4.
10254
e8ee83c0 102552009-10-03 Robert Millan <rmh.grub@aybabtu.com>
10256
10257 Resync grub-mkdevicemap in x86_64-efi.
10258
10259 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
10260 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
10261 `util/devicemap.c'.
10262
50dcabcf 102632009-10-01 Colin Watson <cjwatson@ubuntu.com>
10264
10265 * util/grub-editenv.c (create_envblk_file): Write new block with a
10266 .new suffix and then rename it into place, to ensure atomic
10267 creation.
10268
0e51c3a7 102692009-09-28 Robert Millan <rmh.grub@aybabtu.com>
10270
10271 Do not automatically install headers.
10272
10273 * Makefile.in (include_DATA): Remove. Update all users.
10274
31299a95 102752009-09-26 Robert Millan <rmh.grub@aybabtu.com>
10276
10277 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
10278 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
10279
10280 * util/osdetect.lua: Remove.
10281 * script/lua/lauxlib.c: Likewise.
10282 * script/lua/ldebug.c: Likewise.
10283 * script/lua/grub_main.c: Likewise.
10284 * script/lua/lauxlib.h: Likewise.
10285 * script/lua/ldebug.h: Likewise.
10286 * script/lua/ltablib.c: Likewise.
10287 * script/lua/liolib.c: Likewise.
10288 * script/lua/lstrlib.c: Likewise.
10289 * script/lua/lualib.h: Likewise.
10290 * script/lua/ldo.c: Likewise.
10291 * script/lua/ldump.c: Likewise.
10292 * script/lua/ldo.h: Likewise.
10293 * script/lua/loslib.c: Likewise.
10294 * script/lua/lundump.c: Likewise.
10295 * script/lua/grub_lib.c: Likewise.
10296 * script/lua/ldblib.c: Likewise.
10297 * script/lua/lundump.h: Likewise.
10298 * script/lua/lmem.c: Likewise.
10299 * script/lua/grub_lib.h: Likewise.
10300 * script/lua/lmathlib.c: Likewise.
10301 * script/lua/lstate.c: Likewise.
10302 * script/lua/ltm.c: Likewise.
10303 * script/lua/lvm.c: Likewise.
10304 * script/lua/lmem.h: Likewise.
10305 * script/lua/lstate.h: Likewise.
10306 * script/lua/ltm.h: Likewise.
10307 * script/lua/ltable.c: Likewise.
10308 * script/lua/lvm.h: Likewise.
10309 * script/lua/llex.c: Likewise.
10310 * script/lua/lgc.c: Likewise.
10311 * script/lua/grub_lua.h: Likewise.
10312 * script/lua/loadlib.c: Likewise.
10313 * script/lua/lfunc.c: Likewise.
10314 * script/lua/lopcodes.c: Likewise.
10315 * script/lua/lparser.c: Likewise.
10316 * script/lua/ltable.h: Likewise.
10317 * script/lua/llex.h: Likewise.
10318 * script/lua/lgc.h: Likewise.
10319 * script/lua/lfunc.h: Likewise.
10320 * script/lua/lbaselib.c: Likewise.
10321 * script/lua/lopcodes.h: Likewise.
10322 * script/lua/lparser.h: Likewise.
10323 * script/lua/lzio.c: Likewise.
10324 * script/lua/linit.c: Likewise.
10325 * script/lua/lobject.c: Likewise.
10326 * script/lua/llimits.h: Likewise.
10327 * script/lua/lstring.c: Likewise.
10328 * script/lua/lzio.h: Likewise.
10329 * script/lua/lapi.c: Likewise.
10330 * script/lua/lcode.c: Likewise.
10331 * script/lua/lua.h: Likewise.
10332 * script/lua/lobject.h: Likewise.
10333 * script/lua/lstring.h: Likewise.
10334 * script/lua/lapi.h: Likewise.
10335 * script/lua/lcode.h: Likewise.
10336 * script/lua/luaconf.h: Likewise.
10337
cb8a2c38 103382009-09-26 Colin Watson <cjwatson@ubuntu.com>
10339
10340 * docs/grub.texi (Command-line and menu entry commands): Document
10341 date and echo commands.
10342
6b9b6276 103432009-09-24 Pavel Roskin <proski@gnu.org>
10344
10345 * include/grub/kernel.h (struct grub_module_header): Remove
10346 `grub_module_header_types'. Make `type' unsigned. Make `size'
10347 32-bit on all platforms.
10348 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
10349 8-bit field. Use grub_host_to_target32() for `size'.
10350 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
10351 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
10352 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
10353
4e5a02a7 103542009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10355
10356 Fix "lost keypress" bug in at_keyboard.
10357
10358 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
10359 Checks for readyness of input buffer (without flushing it).
10360 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
10361 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
10362
c6dcedf6 103632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10364
10365 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
10366 size check within GRUB_MACHINE_PCBIOS section.
10367
74c958b1 103682009-09-24 Robert Millan <rmh.grub@aybabtu.com>
10369
10370 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
10371 return value.
10372 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
10373 KEYBOARD_ISREADY check.
10374 (grub_at_keyboard_checkkey): Rename to ...
10375 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
10376 Remove gratuitous cast.
10377
ff420223 103782009-09-23 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * configure.ac: Call AC_PROG_MKDIR_P.
10381 * Makefile.in (docs/stamp-vti): Create docs directory. Create
10382 version.texi in $(builddir) rather than $(srcdir).
10383 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
10384 to makeinfo's @include search path.
10385
d96875df 103862009-09-23 Felix Zielcke <fzielcke@z-51.de>
10387
10388 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
10389
9b3f8365 103902009-09-23 Felix Zielcke <fzielcke@z-51.de>
10391
10392 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
10393 for `*.dpkg-new'.
10394
c44c90db 103952009-09-21 Colin Watson <cjwatson@ubuntu.com>
10396
10397 Build info documentation. Some code borrowed from Automake.
10398
10399 * configure.ac: Check for makeinfo.
10400 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
10401 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
10402 docs/version.texi.
10403 (MOSTLYCLEANFILES): Add vti.tmp.
10404 (docs/version.texi, docs/stamp-vti): Update automatically.
10405 (docs/grub.info): Build info documentation. Use --force and ignore
10406 errors for now.
10407 (all-local): Add $(INFOS).
10408 (install-local): Install info files.
10409 (uninstall): Uninstall info files.
10410 * docs/version.texi: Remove from revision control. This file is
10411 automatically generated on build now.
10412 * gendistlist.sh: Add `*.info'.
10413
e0b37bb5 104142009-09-21 Felix Zielcke <fzielcke@z-51.de>
10415
10416 * kern/term.c: Fix indentation.
10417
5a78865b 104182009-09-21 Felix Zielcke <fzielcke@z-51.de>
10419
10420 * util/hostdisk.c: Fix a comment.
10421
dace7e8a 104222009-09-20 Robert Millan <rmh.grub@aybabtu.com>
10423
10424 Fix regression introduced in r2539.
10425
10426 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
10427 to 0xA1.
10428
a83d079b 104292009-09-19 Colin Watson <cjwatson@ubuntu.com>
10430
10431 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 10432 os-prober. Under normal operation, it does not print anything to
10433 stderr; if it does, we need to debug it, and throwing away stderr
10434 makes that excessively difficult.
a83d079b 10435
be94a509 104362009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
10439
63f745e8 104402009-09-16 Robert Millan <rmh.grub@aybabtu.com>
10441
10442 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
10443 AC_LANG_PROGRAM from autoconf.
10444 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
10445 prototypes (fixes warning).
10446
10447 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
10448 `--disable-werror' was used.
10449
bbb2a70f 104502009-09-16 Robert Millan <rmh.grub@aybabtu.com>
10451
10452 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
10453 uninitialized `lastaddr'.
10454
77c24f1d 104552009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10456
0f0b8c87 10457 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 10458
07197f23 104592009-09-14 Colin Watson <cjwatson@ubuntu.com>
10460
10461 * commands/test.c (get_fileinfo): Return immediately if
10462 grub_fs_probe fails.
10463
dabf1798 104642009-09-14 José Martínez <xosemp@gmail.com>
10465
10466 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
10467
d52109a7 104682009-09-14 Colin Watson <cjwatson@ubuntu.com>
10469
10470 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
10471 output.
10472
56532179 104732009-09-13 Robert Millan <rmh.grub@aybabtu.com>
10474
10475 * configure.ac: Remove --enable-grub-pe2elf. Only build
10476 grub-pe2elf when needed by the build system itself.
10477 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
10478
8ef070f5 104792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10480
10481 * configure.ac: Bump version to 1.97~beta3.
10482 * docs/version.texi: Likewise.
10483
61229557 104842009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10485
10486 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
10487 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
10488 from here ...
10489 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
10490 (grub_linux_setup_video): ... to here (with some adjustments).
10491
5c9f8d84 104922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
10493
10494 Fix memory corruption issue (spotted by Colin Watson).
10495
10496 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
10497 causing returned size to be stored in an incorrect memory location.
10498 Fix use of uninitialized value when storing the returned size.
10499
e8f5d6e9 105002009-09-12 Yves Blusseau <blusseau@zetam.org>
10501
10502 Change clean rules to properly remove files
10503
10504 * genmk.rb: add new clean rules
10505 * Makefile.in (clean): add the new targets
10506 (mostlyclean): likewise
10507
cda2a409 105082009-09-11 Colin Watson <cjwatson@ubuntu.com>
10509
10510 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
10511 to grub_uint64_t.
10512 * fs/ntfs.c (init_file): Understand 64-bit sizes for
10513 non-resident files.
10514
86695375 105152009-09-11 Colin Watson <cjwatson@ubuntu.com>
10516
10517 * configure.ac: Don't look for help2man when cross-compiling. Fixes
10518 part of bug #27349.
10519
8aa1541a 105202009-09-10 Felix Zielcke <fzielcke@z-51.de>
10521
10522 * util/grub-mkconfig.in: Make the created config mode 400 and
10523 print a warning if it fails.
10524
48d9bb0a 105252009-09-10 Robert Millan <rmh.grub@aybabtu.com>
10526
10527 * util/grub.d/40_custom.in: Ask user to type custom entries below
10528 comment, rather than below 'exec tail' line.
10529
3b0521be 105302009-09-10 Colin Watson <cjwatson@ubuntu.com>
10531
10532 * util/grub.d/40_custom.in: Make sure that the explanatory text is
10533 visible in grub.cfg.
10534
50051d55 105352009-09-10 Colin Watson <cjwatson@ubuntu.com>
10536
10537 * util/grub.d/40_custom.in: Make it a little clearer how to use this
10538 file.
10539
c0d34387 105402009-09-10 Felix Zielcke <fzielcke@z-51.de>
10541
10542 * docs/grub.cfg: Add an example menu entry for memtest86+.
10543
80a608f3 105442009-09-09 Felix Zielcke <fzielcke@z-51.de>
10545
a2094832 10546 * config.guess: Update to latest version from config git.
80a608f3 10547 * config.sub: Likewise.
10548
99423078 105492009-09-08 Colin Watson <cjwatson@ubuntu.com>
10550
10551 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
10552 unknown-command case. Fixes bug #27320.
10553
44454e4c 105542009-09-08 Felix Zielcke <fzielcke@z-51.de>
10555
10556 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
10557 `help' if the command exists.
10558
e30d87ad 105592009-09-06 Robert Millan <rmh.grub@aybabtu.com>
10560
10561 * INSTALL: Require GCC 4.1.3 or later.
10562
9a86f1ec 105632009-09-06 Yves Blusseau <blusseau@zetam.org>
10564
10565 * Makefile.in (RMKFILES): add i386-qemu.rmk
10566 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
10567 $(srcdir)/stamp-h.in
10568
7f26d466 105692009-09-05 Robert Millan <rmh.grub@aybabtu.com>
10570
10571 * util/grub-probe.c (probe): Comment out buggy codepath, which
10572 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
10573 should be re-enabled after 1.97.
10574
3a613259 105752009-09-05 Felix Zielcke <fzielcke@z-51.de>
10576
10577 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
10578 find searches for.
10579
197f76c7 105802009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
10583 unnecessary calls to grub_error.
10584
70ba68ce 105852009-09-04 Colin Watson <cjwatson@ubuntu.com>
10586
10587 * NEWS: Mention `keystatus' and Unicode fonts.
10588
4ff0d7a4 105892009-09-04 Robert Millan <rmh.grub@aybabtu.com>
10590
10591 * configure.ac: Bump version to 1.97~beta2.
10592 * docs/version.texi: Likewise.
10593
77c55a87 105942009-09-03 Colin Watson <cjwatson@ubuntu.com>
10595
10596 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
10597 containing unwind information in some cases where it previously did
10598 not. Use -fno-dwarf2-cfi-asm if available to restore the old
10599 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
10600 discussion.
10601
f79572cd 106022009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
10603
10604 Embedding loadenv module into grub-emu
10605
10606 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
10607 commands/loadenv.c
10608 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
10609 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
10610 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
10611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
10612 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
10613 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
10614
93a81088 106152009-09-03 Magnus Granberg <zorry@ume.nu>
10616
10617 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
10618 include -fPIE in the default specs.
10619 * configure.ac: Check if pie_possible is yes and add -fno-PIE
10620 to TARGET_CFLAGS.
10621
160034b2 106222009-09-03 Felix Zielcke <fzielcke@z-51.de>
10623
10624 * INSTALL: Note that GNU Bison 2.3 or later is required.
10625
087c07c4 106262009-09-03 Colin Watson <cjwatson@ubuntu.com>
10627
10628 * kern/i386/pc/startup.S: Fix typo.
10629
cbf978c0 106302009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
10633 according to GCS.
10634
106352009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 10636
10637 * docs/grub.texi (Naming convention): Describe one-based partition
10638 numbering.
10639 (Device syntax): Likewise.
10640 (File name syntax): Likewise.
10641 (Block list syntax): Likewise.
10642 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
10643 menu.lst.
10644 (File name syntax): Likewise.
10645 (Command-line and menu entry commands): Document acpi, blocklist,
10646 crc, export, insmod, keystatus, ls, set, and unset commands.
10647
f3e8cdfd 106482009-09-02 Colin Watson <cjwatson@ubuntu.com>
10649
10650 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
10651 to avoid implying that only one of --shift, --ctrl, or --alt may be
10652 used.
10653
c0bc232b 106542009-09-02 Colin Watson <cjwatson@ubuntu.com>
10655
10656 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
10657 rather than comparing against S_IFREG, which will almost never work.
10658
aa0f752d 106592009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
10662 (write_blocklists): Likewise.
10663
ecb3166a 106642009-09-01 Colin Watson <cjwatson@ubuntu.com>
10665
10666 * script/lua/grub_lua.h (fputs): Supply a format string as the first
10667 argument to grub_printf.
10668
c403a125 106692009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 10670
10671 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 10672 non GNU test.
31aba781 10673
b5e7312c 106742009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * kern/file.c (grub_file_read): Spelling fix
10677
fe00f472 106782009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
10681 loading of headers in some cases.
10682
cc55302e 106832009-08-30 Robert Millan <rmh.grub@aybabtu.com>
10684
10685 * configure.ac: Bump version to 1.97~beta1.
10686 * docs/version.texi: Likewise.
10687
5c90cdd2 106882009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 10689
10690 * include/grub/i386/xnu.h: Add license header.
10691 include grub/err.h explicitly.
10692
c90edae4 106932009-08-29 Robert Millan <rmh.grub@aybabtu.com>
10694
10695 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
10696 to `ufs' in the vfs.root.mountfrom kernel parameter.
10697
d8888b5c 106982009-08-29 Robert Millan <rmh.grub@aybabtu.com>
10699
10700 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
10701
10702 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
10703 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
10704
10705 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
10706 `ARRAY_SIZE' macro.
10707
6f07b921 107082009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * kern/file.c (grub_file_read): Check offset.
10711 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
10712 * fs/jfs.c (grub_jfs_read_file): Likewise.
10713 * fs/ntfs.c (grub_ntfs_read): Likewise.
10714 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
10715 * fs/minix.c (grub_minix_read_file): Correct offset check.
10716 * fs/ufs.c (grub_ufs_read_file): Likewise.
10717
b4f34077 107182009-08-28 Colin Watson <cjwatson@ubuntu.com>
10719
10720 * term/i386/pc/console.c (bios_data_area): Cast
10721 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
10722
e7c69859 107232009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 1-bit optimised blitters.
10726
10727 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
10728 prototype.
10729 (grub_video_fbblit_replace_24bit_1bit): Likewise.
10730 (grub_video_fbblit_replace_16bit_1bit): Likewise.
10731 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10732 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10733 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
10734 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
10735 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
10736 function.
10737 (grub_video_fbblit_replace_24bit_1bit): Likewise.
10738 (grub_video_fbblit_replace_16bit_1bit): Likewise.
10739 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10740 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10741 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
10742 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
10743 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
10744 when possible.
10745 * video/video.c (grub_video_get_blit_format): Return
10746 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
10747
a57da43f 107482009-08-28 Colin Watson <cjwatson@ubuntu.com>
10749
10750 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
10751 the first argument to grub_printf.
10752
4cbe67e5 107532009-08-28 Colin Watson <cjwatson@ubuntu.com>
107542009-08-28 Robert Millan <rmh.grub@aybabtu.com>
10755
10756 Add `getkeystatus' terminal method. Add a new `keystatus' command
10757 to query it.
10758
10759 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
10760 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
10761 modifier key bitmasks.
10762 (struct grub_term_input): Add `getkeystatus' member.
10763 (grub_getkeystatus): Add prototype.
10764 * kern/term.c (grub_getkeystatus): New function.
10765
10766 * include/grub/i386/pc/memory.h
10767 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
10768 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
10769 Data Area layout.
10770 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
10771 (grub_console_term_input): Set `getkeystatus' member.
10772 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
10773 constants.
10774 (grub_usb_keyboard_getreport): Likewise.
10775 (grub_usb_keyboard_checkkey): Likewise.
10776 (grub_usb_keyboard_getkeystatus): New function.
10777 (grub_usb_keyboard_term): Set `getkeystatus' member.
10778
10779 * commands/keystatus.c: New file.
10780 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
10781 (keystatus_mod_SOURCES): New variable.
10782 (keystatus_mod_CFLAGS): Likewise.
10783 (keystatus_mod_LDFLAGS): Likewise.
10784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
10785 commands/keystatus.c.
10786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10790 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10791 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 10792
6e2a9085 107932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 Split befs.mod and afs.mod into *_be.mod and *.mod
10796
10797 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
10798 (grub_fstest_SOURCES): Likewise.
10799 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
10800 (afs_be_mod_SOURCES): New variable.
10801 (afs_be_mod_CFLAGS): Likewise.
10802 (afs_be_mod_LDFLAGS): Likewise.
10803 (befs_be_mod_SOURCES): Likewise.
10804 (befs_be_mod_CFLAGS): Likewise.
10805 (befs_be_mod_LDFLAGS): Likewise.
10806 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
10807 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10809 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10810 (grub_emu_SOURCES): Likewise.
10811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10812 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10814 * fs/afs_be.c: New file.
10815 * fs/befs_be.c: New file.
10816 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
10817 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
10818 (U16): Replaced with ...
10819 (grub_afs_to_cpu16): ...this. All users updated.
10820 (U32): Replaced with ...
10821 (grub_afs_to_cpu32): ...this. All users updated.
10822 (U64): Replaced with ...
10823 (grub_afs_to_cpu64): ...this. All users updated.
10824 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
10825 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 10826 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 10827 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10828 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10829 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10830 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10831 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
10832 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
10833 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
10834 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
10835
32a71655 108362009-08-26 Bean <bean123ch@gmail.com>
10837
10838 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
10839 64-bit number.
10840 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
10841 (grub_xfs_inode_block): Change return type to grub_uint64_t.
10842 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
10843
552bf6c5 108442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 NetBSD memory map support.
10847
10848 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
10849 (grub_netbsd_btinfo_mmap_header): New structure.
10850 (grub_netbsd_btinfo_mmap_entry): Likewise.
10851 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
10852
1ae2078c 108532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 Enable bsd.mod on coreboot.
10856
10857 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
10858 (bsd_mod_SOURCES): New variable.
10859 (bsd_mod_CFLAGS): Likewise.
10860 (bsd_mod_LDFLAGS): Likewise.
10861 (bsd_mod_ASFLAGS): Likewise.
10862 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
10863 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
10864
beefc598 108652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 Cleanup NetBSD root support.
10868
10869 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
10870 grub_bsd_get_device.
10871 Fix typo.
10872
3b76e68b 108732009-08-25 Felix Zielcke <fzielcke@z-51.de>
10874
10875 * util/grub.d/00_header.in: Move check for the video backend of
10876 gfxterm from here ...
10877 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
10878 a suitable video backend.
10879
aea664ea 108802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 Fix breakage in grub-setup.
10883
10884 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
10885 "msdos_partition_map".
10886
ff747d50 108872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 Fix breakage in normal/auth.c.
10890
10891 * normal/auth.c (grub_iswordseparator): New function.
10892
e7e1f93f 108932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 Authentication support.
10896
10897 * commands/password.c: New file.
10898 * conf/common.rmk (pkglib_MODULES): Add password.mod.
10899 (password_mod_SOURCES): New variable.
10900 (password_mod_CFLAGS): Likewise.
10901 (password_mod_LDFLAGS): Likewise.
10902 (normal_mod_SOURCES): Add normal/auth.c.
10903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
10904 normal/auth.c.
10905 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
10906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10907 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
10908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10909 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10910 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
10911 * include/grub/auth.h: New file.
10912 * include/grub/err.h (grub_err_t): New enum value
10913 GRUB_ERR_ACCESS_DENIED.
10914 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
10915 'users'.
10916 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
10917 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
10918 users updated.
10919 * normal/auth.c: New file.
10920 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
10921 (grub_cmdline_run): Don't allow to go to command line without
10922 authentication.
10923 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
10924 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
10925 menuentry without superuser rights.
10926 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
10927 user isn't a superuser.
10928
70f1161d 109292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Save space by inlining misc.c functions.
10932
10933 * kern/misc.c (grub_iswordseparator): Made static.
10934 * kern/misc.c (grub_strcat): Moved from here ...
10935 * include/grub/misc.h (grub_strcat): ... here. Inlined.
10936 * kern/misc.c (grub_strncat): Moved from here ...
10937 * include/grub/misc.h (grub_strncat): ... here. Inlined.
10938 * kern/misc.c (grub_strcasecmp): Moved from here ...
10939 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
10940 * kern/misc.c (grub_strncasecmp): Moved from here ...
10941 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
10942 * kern/misc.c (grub_isalpha): Moved from here ...
10943 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
10944 * kern/misc.c (grub_isdigit): Moved from here ...
10945 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
10946 * kern/misc.c (grub_isgraph): Moved from here ...
10947 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
10948 * kern/misc.c (grub_tolower): Moved from here ...
10949 * include/grub/misc.h (grub_tolower): ... here. Inlined.
10950
48e40bff 109512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * script/sh/function.c (grub_script_function_find): Cut error message
10954 not to flood terminal.
10955 * script/sh/lexer.c (grub_script_yylex): Remove command line length
10956 limit.
10957 * script/sh/script.c (grub_script_arg_add): Duplicate string.
10958
c385bfc3 109592009-08-24 Colin Watson <cjwatson@ubuntu.com>
10960
10961 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
10962 `report' grub_uint8_t *.
10963 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
10964 Use a 50-millisecond timeout rather than just repeating
10965 grub_usb_keyboard_getreport 50 times.
10966 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
10967
2d21e3e8 109682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 Rename *_partition_map to part_*
10971
10972 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
10973 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
10974 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
10975 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
10976 All users updated.
10977 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
10978 All users updated.
10979 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
10980 * util/grub-probe.c (probe_partmap): Don't transform partition name
10981 to get module name.
10982
dd103c4e 109832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 Fix OpenBSD and NetBSD support.
10986
10987 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
10988 memory address conflict.
10989 (OPENBSD_MMAP_ACPI): New definition.
10990 (OPENBSD_MMAP_NVS): Likewise.
10991 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
10992 and OPENBSD_MMAP_NVS.
10993 Add memory map terminator
10994 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 10995 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 10996
16c84d74 109972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 Let user specify NetBSD root device.
11000
11001 * loader/i386/bsd.c (netbsd_root): New variable.
11002 (netbsd_opts): New option 'root'.
11003 (NETBSD_ROOT_ARG): New macro.
11004 (grub_netbsd_boot): Use 'netbsd_root'.
11005 (grub_bsd_unload): Free 'netbsd_root'.
11006 (grub_cmd_netbsd): Fill 'netbsd_root'.
11007
adb29902 110082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 Support for 64-bit NetBSD.
11011
11012 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
11013 point when booting non-FreeBSD.
11014
f5ae9f74 110152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Support --no-smp and --no-acpi for NetBSD.
11018
11019 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
11020 (NETBSD_AB_NOACPI): Likewise.
11021 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
11022 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
11023
de74f136 110242009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
11027 errors.
11028 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
11029 errors. Call grub_error when needed.
11030
e9a925da 110312009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * commands/search.c (search_fs): Try searching without autoload first.
11034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11035 filesystem module explicitly for faster booting.
11036
5174302b 110372009-08-23 Colin Watson <cjwatson@ubuntu.com>
11038
11039 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
11040
c8c80635 110412009-08-23 Colin Watson <cjwatson@ubuntu.com>
11042
11043 * util/grub.d/30_os-prober.in: Disable os-prober if
11044 `GRUB_DISABLE_OS_PROBER' was set to true.
11045
71acf5e5 110462009-08-23 Robert Millan <rmh.grub@aybabtu.com>
11047
11048 * partmap/pc.c: Rename to ...
11049 * partmap/msdos.c: ... this. Update all users.
11050 (grub_pc_partition_map): Rename to ...
11051 (grub_msdos_partition_map): ... this. Update all users.
11052
11053 * parttool/pcpart.c: Rename to ...
11054 * parttool/msdospart.c: ... this. Update all users.
11055
11056 * include/grub/pc_partition.h: Rename to ...
11057 * include/grub/msdos_partition.h: ... this. Update all users.
11058 (grub_pc_partition_bsd_entry): Rename to ...
11059 (grub_msdos_partition_bsd_entry): ... this. Update all users.
11060 (grub_pc_partition_disk_label): Rename to ...
11061 (grub_msdos_partition_disk_label): ... this. Update all users.
11062 (grub_pc_partition_entry): Rename to ...
11063 (grub_msdos_partition_entry): ... this. Update all users.
11064 (grub_pc_partition_mbr): Rename to ...
11065 (grub_msdos_partition_mbr): ... this. Update all users.
11066 (grub_pc_partition): Rename to ...
11067 (grub_msdos_partition): ... this. Update all users.
11068 (grub_pc_partition_is_empty): Rename to ...
11069 (grub_msdos_partition_is_empty): ... this. Update all users.
11070 (grub_pc_partition_is_extended): Rename to ...
11071 (grub_msdos_partition_is_extended): ... this. Update all users.
11072 (grub_pc_partition_is_bsd): Rename to ...
11073 (grub_msdos_partition_is_bsd): ... this. Update all users.
11074
11075 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
11076 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
11077 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
11078 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
11079 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
11080 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
11081 (gpt_mod_LDFLAGS): Rename to ...
11082 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
11083 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
11084 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
11085 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
11086 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
11087 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
11088 (part_gpt_mod_LDFLAGS): ... this.
11089 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
11090 `pcpart.mod' to `msdospart.mod'.
11091 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
11092 to ...
11093 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
11094 (msdospart_mod_LDFLAGS): ... this.
11095
c11fded5 110962009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
11099 (openbsd_opts): Likewise.
11100 (netbsd_opts): Likewise.
11101 (freebsd_flags): Added 0 terminator.
11102 (openbsd_flags): Likewise.
11103 (netbsd_flags): Likewise.
11104 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
11105 (grub_cmd_freebsd): Transformed into extended command.
11106 (grub_cmd_openbsd): Likewise.
11107 (grub_cmd_netbsd): Likewise.
11108 (cmd_freebsd): Changed type to grub_extcmd_t.
11109 (cmd_openbsd): Likewise.
11110 (cmd_netbsd): Likewise.
11111 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
11112 grub_cmd_openbsd as extended commands.
11113 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
11114 cmd_netbsd and cmd_openbsd
11115
11d1c769 111162009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
11119
7a9094e5 111202009-08-21 Pavel Roskin <proski@gnu.org>
11121
5496c37e 11122 * Makefile.in (install-local): When checking if a file is in the
11123 build directory, use "test -e" to detect symlinks.
11124
7a9094e5 11125 * Makefile.in (install-local): Remove all files in
11126 $(DESTDIR)$(pkglibdir) before installing new files there.
11127
e53cea11 111282009-08-18 Felix Zielcke <fzielcke@z-51.de>
11129
11130 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
11131 grub-mkelfimage.
11132
9aced544 111332009-08-18 Felix Zielcke <fzielcke@z-51.de>
11134
11135 * util/grub-mkconfig.in: Don't use gfxterm by default if not
11136 explicitly specified by the user.
11137
b7da6bab 111382009-08-18 Pavel Roskin <proski@gnu.org>
11139
11140 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
11141 grub_uint8_t pointer for data.
11142 * include/grub/fbutil.h (struct grub_video_fbblit_info):
11143 Likewise.
11144 * video/fb/fbutil.c: Remove unnecessary casts.
11145
19f1b335 111462009-08-17 Michal Suchanek <hramrach@centrum.cz>
11147
11148 VBE cleanup.
11149
11150 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
11151 (grub_vbe_set_video_mode): Save active mode info
11152 only after setting the mode.
11153 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
11154 second argument.
11155
2f467aa9 111562009-08-17 Michal Suchanek <hramrach@centrum.cz>
11157
11158 Rename variables for clarity.
11159
11160 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
11161 (active_vbe_mode_info): ... this. All users updated.
11162 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
11163 All users updated.
11164 (initial_mode): Rename to ...
11165 (initial_vbe_mode): ... this. All users updated.
11166 (mode_in_use): Rename to ..
11167 (vbe_mode_in_use): ... this. All users updated.
11168 (mode_list): Rename to ..
11169 (vbe_mode_list): ... this. All users updated.
11170 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
11171 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
11172 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
11173 'mode_list_size' to 'vbe_mode_list_size'.
11174 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
11175 'best_mode_info' to 'best_vbe_mode_info' and
11176 'best_mode' to 'best_vbe_mode'
11177
6025fcd7 111782009-08-17 Michal Suchanek <hramrach@centrum.cz>
11179
11180 Remove duplicate grub_video_fb_get_video_ptr.
11181
11182 * include/grub/fbutil.h (get_data_ptr): Rename to ...
11183 (grub_video_fb_get_video_ptr): ... this.
11184 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
11185 * video/fb/fbutil.c: Add comment about addressing.
11186 (get_data_ptr): Rename to ...
11187 (grub_video_fb_get_video_ptr): ... this. All users updated.
11188 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
11189
cc8c6faf 111902009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11191
11192 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
11193 grub_dprintf() that was just added.
11194
08aa61f0 111952009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11196
11197 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
11198 (DEFAULT_VIDEO_MODE): Remove macros.
11199 (grub_linux_boot): Remove assumption that Linux has FB support,
11200 and use "text" as default video mode.
11201
7cef4f75 112022009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
11205 grub_dprintf.
11206 * fs/fat.c (grub_fat_read_data): Likewise.
11207
e1f39873 112082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
11211 payload.
11212 (grub_module): Likewise.
11213
c166d79e 112142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
11217 mbi->cmdline but free playground.
11218
c60cee8e 112192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 Handle group offset on UFS1.
11222
11223 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
11224 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
11225
c0d8b5d4 112262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 Split ufs.mod into ufs1.mod and ufs2.mod.
11229
11230 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
11231 (grub_fstest_SOURCES): Likewise.
11232 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
11233 (ufs_mod_SOURCES): Remove.
11234 (ufs_mod_CFLAGS): Likewise.
11235 (ufs_mod_LDFLAGS): Likewise.
11236 (ufs1_mod_SOURCES): New variable.
11237 (ufs1_mod_CFLAGS): Likewise.
11238 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 11239 (ufs2_mod_SOURCES): New variable.
11240 (ufs2_mod_CFLAGS): Likewise.
11241 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 11242 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
11243 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
11244 Likewise.
11245 (grub_emu_SOURCES): Likewise.
11246 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11248 (grub_setup_SOURCES): Likewise.
11249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11250 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
11251 (grub_setup_SOURCES): Likewise.
11252 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
11253 Likewise.
11254 * fs/ufs2.c: New file.
11255 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
11256
d3539132 112572009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 Framebuffer split.
11260
11261 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
11262 subsystem at the end.
11263 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
11264 (video_fb_mod_SOURCES): New variable.
11265 (video_fb_mod_CFLAGS): Likewise.
11266 (video_fb_mod_LDFLAGS): Likewise.
11267 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
11268 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
11269 * video/i386/pc/vbeblit.c: Moved from here ...
11270 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
11271 * video/i386/pc/vbefill.c: Moved from here ...
11272 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
11273 * video/i386/pc/vbeutil.c: Moved from here ...
11274 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
11275 * include/grub/i386/pc/vbeblit.h: Moved from here ...
11276 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
11277 * include/grub/i386/pc/vbefill.h: Moved from here ...
11278 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
11279 * include/grub/i386/pc/vbeutil.h: Moved from here ...
11280 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
11281 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
11282 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
11283 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
11284 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
11285 (grub_video_adapter): Added 'get_info_and_fini'.
11286 (grub_video_get_info_and_fini): New prototype.
11287 (grub_video_set_mode): make modestring const char *.
11288 * loader/i386/linux.c (grub_linux_setup_video): Use
11289 grub_video_get_info_and_fini.
11290 (grub_linux_boot): Move modesetting just before booting.
11291 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
11292 grub_video_get_info_and_fini.
11293 * video/i386/pc/vbe.c: Moved framebuffer part ...
11294 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
11295 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
11296 grub_video_fbstd_colors and grub_video_fb_set_palette.
11297 (grub_video_vbe_init): Clear 'framebuffer' variable and use
11298 grub_video_fb_init.
11299 (grub_video_vbe_fini): Use grub_video_fb_fini.
11300 (grub_video_vbe_setup): Use framebuffer.render_target instead of
11301 render_target and use grub_video_fb_set_active_render_target and
11302 grub_video_fb_set_palette.
11303 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
11304 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
11305 (grub_video_vbe_adapter): Use framebuffer.
11306 * video/video.c (grub_video_get_info_and_fini): New function.
11307 (grub_video_set_mode): Make modestring const char *.
11308 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
11309 values are already initialised.
11310
d404ee56 113112009-08-14 Pavel Roskin <proski@gnu.org>
11312
11313 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
11314 ABS and APPLE_CC.
11315 * boot/i386/pc/diskboot.S: Likewise.
11316 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
11317 sectors allow compilation on MacOSX.
11318 * conf/i386-pc.rmk: Enable unconditional compilation of
11319 lnxboot.img.
11320
9a10df16 113212009-08-13 Colin Watson <cjwatson@ubuntu.com>
11322
11323 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
11324 * util/grub.d/00_header.in: Enter interruptible sleep if
11325 GRUB_HIDDEN_TIMEOUT is set.
11326
be3c9ca7 113272009-08-13 Yves Blusseau <blusseau@zetam.org>
11328
11329 * include/grub/symbol.h: Add the LOCAL macro.
11330 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
11331 starting with "L_".
11332
1f9e557e 113332009-08-13 Pavel Roskin <proski@gnu.org>
11334
9ca62843 11335 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
11336 any modern compilers we support.
11337
1f9e557e 11338 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
11339 Use local labels starting with "L_" so that Apple assembler
11340 knows they are local.
11341
81623db6 113422009-08-10 Robert Millan <rmh.grub@aybabtu.com>
11343
11344 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
11345 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
11346 (bsd_kernel_types): ... this enum.
11347
11348 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
11349 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
11350 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
11351
11352 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
11353 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
11354 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
11355 messages.
11356
f5d35e7a 113572009-08-08 Robert Millan <rmh.grub@aybabtu.com>
11358
11359 * util/grub-dumpdevtree: Moved from here ...
11360 * util/i386/efi/grub-dumpdevtree: ... to here.
11361 (hexify): New function. Converts a string to its hex version.
11362 Generate hex versions of "efi" and "device-properties" by calling
11363 hexify() on the ASCII strings rather than by hardcoding numbers.
11364
d1e1d527 113652009-08-08 Robert Millan <rmh.grub@aybabtu.com>
11366
11367 * fs/jfs.c: Update copyright year.
11368
1ebbe064 113692009-08-08 Felix Zielcke <fzielcke@z-51.de>
11370
11371 * util/grub.d/00_header.in: Fix a comment.
11372 * util/grub.d/10_linux.in: Likewise.
11373 * util/grub.d/10_windows.in: Likewise.
11374 * util/grub.d/10_hurd.in: Likewise.
11375
a78c8d24 113762009-08-08 Felix Zielcke <fzielcke@z-51.de>
11377
11378 * util/grub-mkconfig.in: Allow the user to specify the used font
11379 with GRUB_FONT.
11380
29a6b9e8 113812009-08-08 Pavel Roskin <proski@gnu.org>
11382
b5f16cc4 11383 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
11384 available, xfs.mod needs it now.
11385
2f5cb827 11386 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
11387 the "g" modifier in sed when the intention is to strip something
11388 once. This fixes comparison of kernels with multiple dashes.
11389
29a6b9e8 11390 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
11391 on it. Add missing space before closing bracket. Fix
11392 misleading formatting.
11393
892a3d98 113942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11395
11396 * docs/grub.texi: Major overhaul. Remove all sections that are
11397 specific to GRUB Legacy, or mostly composed of Legacy-specific
11398 information.
11399
ed94253f 114002009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11401
11402 * docs/version.texi: New file. Provides version information for
11403 grub.texi.
11404
126d6628 114052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11406
11407 * docs/grub.texi: Update CVS information to SVN.
11408 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
11409
998b5aa9 114102009-08-07 Felix Zielcke <fzielcke@z-51.de>
11411
11412 * util/grub-mkconfig.in: Remove a wrong `fi'.
11413
818e094a 114142009-08-07 Felix Zielcke <fzielcke@z-51.de>
11415
11416 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
11417 (grub_jfs_uuid): New function.
11418 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
11419
b969c52f 114202009-08-07 Felix Zielcke <fzielcke@z-51.de>
11421
11422 * util/grub-mkconfig_lib.in (font_path): Move the functionality
11423 of it to ...
11424 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
11425 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
11426
7a4894cc 114272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11428
11429 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
11430 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
11431 Update all users.
11432
11433 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
11434 not just "vmlinu[zx]".
11435 Moved from here ...
11436 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
11437 all users.
11438
11439 * util/grub.d/10_linux.in (find_latest): Moved from here ...
11440 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
11441 all users.
11442
4e2171f8 114432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
11444
11445 * util/grub.d/10_freebsd.in: Use an absolute device path for
11446 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
11447
6dcfcb32 114482009-08-06 Felix Zielcke <fzielcke@z-51.de>
11449
11450 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
11451 handling of multiple abstraction modules.
11452
f56a8756 114532009-08-04 Robert Millan <rmh.grub@aybabtu.com>
11454
11455 Fix a bug resulting in black screen when loading Linux using a
11456 packed video mode.
11457
11458 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
11459 function.
11460
11461 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
11462 (grub_vbe_bios_getset_dac_palette_width): New function.
11463 (grub_vbe_bios_get_dac_palette_width)
11464 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
11465 grub_vbe_bios_getset_dac_palette_width()).
11466
11467 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
11468 check for return status.
11469 (grub_vbe_get_video_mode_info): When getting information for a packed
11470 mode (<= 8 bpp), obtain DAC palette width using
11471 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
11472 {red,green,blue}_mark_size.
11473
222671b2 114742009-08-04 Felix Zielcke <fzielcke@z-51.de>
11475
ecb1a6d9 11476 * commands/search.c (options): Fix help output to match actual code.
222671b2 11477
f84114f5 114782009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
11481 of homegrown code.
11482
bd288a20 114832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 11484
11485 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
11486 on XFS or ReiserFS.
11487
8aab5e25 114882009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 Support Apple partition map with sector size different from 512 bytes.
11491
11492 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
11493 (apple_partition_map_iterate): Respect 'aheader.blocksize'
11494 and 'apart.partmap_size'.
11495
6ad6258a 114962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
114972009-08-01 Robert Millan <rmh.grub@aybabtu.com>
11498
11499 Fix cpuid command.
11500
11501 * commands/i386/cpuid.c (options): New variable.
11502 (grub_cmd_cpuid): Return real error.
11503 (GRUB_MOD_INIT(cpuid)): Declare options.
11504
67459bc6 115052009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
11508 valid.
11509
fbc6ab54 115102009-07-31 Bean <bean123ch@gmail.com>
11511
11512 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
11513 log2_inode.
11514 (grub_fshelp_node): Move inode field to the end.
11515 (grub_xfs_data): Remove inode field.
11516 (grub_xfs_inode_block): Calculate inode size using sblock.
11517 (grub_xfs_inode_offset): Likewise.
11518 (grub_xfs_read_inode): Calculate inode size using sblock.
11519 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
11520 (grub_xfs_iterate_dir): Calculate inode size using sblock.
11521 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
11522 to match inode size.
11523 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
11524 not accessible when data is null.
11525 (grub_xfs_open): Likewise.
11526
f45d6cfc 115272009-07-31 Bean <bean123ch@gmail.com>
11528
11529 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
11530 Don't change pv->disk if it's already set.
11531
11532 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
11533 (grub_raid_register): ... here.
11534 (grub_raid_rescan): Removed.
11535
11536 * include/grub/raid.h (grub_raid_rescan): Removed.
11537
11538 * util/grub-fstest.c: Remove include file <grub/raid.h>.
11539 (fstest): Replace grub_raid_rescan with module fini function followed
11540 by init function.
11541
11542 * util/grub-probe.c: Add include file <grub/raid.h>.
11543 (probe_raid_level): New function.
11544 (probe): Detect abstraction by walking the disk device, support two
11545 level of abstraction (LVM on RAID) when detecting partition map.
11546
24443b5a 115472009-07-31 Pavel Roskin <proski@gnu.org>
11548
11549 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
11550 to grub_zalloc(), it was erroneous.
11551 Reported by Bean <bean123ch@gmail.com>
11552
a275d9e7 115532009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 11556 embedding zone, not only the first one.
a275d9e7 11557
56c5a47f 115582009-07-29 Joe Auricchio <jauricchio@gmail.com>
11559
11560 * term/gfxterm.c (clear_char): New function.
11561 (grub_virtual_screen_setup): Use clear_char.
11562 (scroll_up): Likewise.
11563 (grub_virtual_screen_cls): Likewise.
11564
67bb323a 115652009-07-29 Felix Zielcke <fzielcke@z-51.de>
11566
11567 * util/deviceiter.c (get_acceleraid_disk_name): New static
11568 function.
11569 (grub_util_iterate_devices): Handle Accelraid devices.
11570 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
11571
388a7c75 115722009-07-28 Robert Millan <rmh.grub@aybabtu.com>
11573
11574 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
11575 separator for the suggested gfxpayload string (';' collides with the
11576 parser and needs escaping).
11577
3bb7abcf 115782009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
11581 Clear direction flag before jumping to OS.
11582 (grub_multiboot2_real_boot): Likewise.
11583
2ddd36d7 115842009-07-28 Felix Zielcke <fzielcke@z-51.de>
11585
11586 * util/i386/pc/grub-install: Fix parsing of --disk-module
11587 option.
11588
c521b62b 115892009-07-28 Felix Zielcke <fzielcke@z-51.de>
11590
11591 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
11592 when embedding.
11593
880e0a0c 115942009-07-26 Felix Zielcke <fzielcke@z-51.de>
11595
11596 * util/grub-mkconfig.in (package_version): New variable.
11597 Use it do display the version.
11598
2366e356 115992009-07-25 Felix Zielcke <fzielcke@z-51.de>
11600
11601 * kern/file.c (grub_file_open): Revert to previous check with
11602 grub_errno.
11603
7ad8c80e 116042009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
11607 from help line. It's out of sync with code.
11608
72b9658b 116092009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
11612 entries on failed boot.
11613
77435277 116142009-07-25 Felix Zielcke <fzielcke@z-51.de>
11615
11616 * kern/file.c (grub_file_open): Fix an error check.
11617
fcaa8b21 116182009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
11619
35d16c74 11620 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
11621 partition map couldn't be identified.
fcaa8b21 11622
48904cd1 116232009-07-23 Pavel Roskin <proski@gnu.org>
11624
ef3c317f 11625 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
11626 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
11627 case of little endian words becomes just an optimization.
11628 Respect const modifier.
ad8ea1f4 11629 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 11630
48904cd1 11631 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
11632 to avoid loss of upper bits if align is unsigned and shorter
11633 than addr.
11634
260c9a89 116352009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 UUID support for UFS
11638
11639 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
11640 (grub_ufs_uuid): New function.
11641 (grub_ufs_fs): add .uuid
11642
f76ce889 116432009-07-21 Pavel Roskin <proski@gnu.org>
11644
11645 * kern/dl.c (grub_dl_check_header): Make static.
11646
6a6cbcaf 116472009-07-21 Felix Zielcke <fzielcke@z-51.de>
11648
11649 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
11650 add drivemap for Vista. It breaks Windows 7.
11651
cffcddb2 116522009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
11655 128 bytes
11656
1ef44b80 116572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Add BFS support
11660
11661 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
11662 (grub_fstest_SOURCES): Likewise.
11663 (pkglib_MODULES): Add befs.mod.
11664 (befs_mod_SOURCES): New variable.
11665 (befs_mod_CFLAGS): Likewise.
11666 (befs_mod_LDFLAGS): Likewise.
11667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11670 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11671 (grub_setup_SOURCES): Likewise.
11672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11673 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11674 (grub_setup_SOURCES): Likewise.
11675 * fs/befs.c: New file.
11676 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
11677 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
11678 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
11679 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
11680 (B_KEY_INDEX_ALIGN): New declaration.
11681 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
11682 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
11683 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
11684 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
11685 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
11686 (grub_afs_mount) [MODE_BFS]: Likewise.
11687 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
11688 (grub_afs_fs): Use GRUB_AFS_FSNAME
11689 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
11690 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
11691 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
11692 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
11693
4f253044 116942009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
11695
11696 * util/getroot.c (find_root_device): Add support for MacOSX.
11697 * util/hostdisk.c: Likewise.
11698
57a55913 116992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * font/font.c (find_glyph): Check whether a font is present to avoid
11702 segmentation fault.
75421ca9 11703
117042009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 11705
11706 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
11707
e98cd0c2 117082009-07-20 Pavel Roskin <proski@gnu.org>
11709
11710 * configure.ac: Trim excessively wordy excuses.
11711
1d2d169a 117122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 Add symlink, mtime and label support to AtheFS.
11715
11716 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
11717 (grub_afs_iterate_dir): Handle symlinks.
11718 (grub_afs_open): Use grub_afs_read_symlink.
11719 (grub_afs_dir): Likewise.
11720 Pass mtime.
11721 (grub_afs_label): New function.
11722 (grub_afs_fs): Add grub_afs_label.
11723 (grub_afs_read_symlink): New function.
11724
186f3189 117252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 Fix AtheFS support.
11728
11729 * fs/afs.c: Fix comments style.
11730 (grub_afs_blockrun): Declare as packed.
11731 (grub_afs_datastream): Likewise.
11732 (grub_afs_bnode): Likewise.
11733 (grub_afs_btree): Likewise.
11734 (grub_afs_sblock): Likewise.
11735 Declare `name' as char.
11736 (grub_afs_inode): Declare as packed.
11737 Change void *vnode to grub_uint32_t unused.
11738 (grub_afs_iterate_dir): Check that key_size is positive.
11739 (grub_afs_mount): Don't read superblock twice.
75421ca9 11740 (grub_afs_dir): Don't free node in case of error,
186f3189 11741 grub_fshelp_find_file already handles this.
11742 (grub_afs_open): Likewise.
11743
5680109e 117442009-07-19 Pavel Roskin <proski@gnu.org>
11745
11746 * Makefile.in: Remove LIBLZO and enable_lzo.
11747 * conf/i386-pc.rmk: Remove lzo support.
11748 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
11749 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
11750 support.
11751 * kern/i386/pc/lzo1x.S: Remove.
11752 * kern/i386/pc/startup.S: Remove lzo support.
11753 * util/i386/pc/grub-mkimage.c: Likewise.
11754
ac70fa32 117552009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
11758 * fs/xfs.c (grub_xfs_dir): Likewise.
11759 * fs/afs.c (grub_afs_dir): Likewise.
11760 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11761 (grub_iso9660_open): Likewise.
11762 * fs/jfs.c (grub_jfs_open): Likewise.
11763 * fs/ext2.c (grub_ext2_dir): Likewise.
11764 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
11765 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 11766
eab58da2 117672009-07-16 Pavel Roskin <proski@gnu.org>
11768
d2838156 11769 * configure.ac: Never add "-c" to CFLAGS.
11770
55c70904 11771 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
11772
43e6200c 11773 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
11774 grub_cv_cc_efiemu should be used.
11775
ce7a733d 11776 * configure.ac: Typo fixes.
11777
eab58da2 11778 * kern/mm.c (grub_zalloc): New function.
11779 (grub_debug_zalloc): Likewise.
11780 * include/grub/mm.h: Declare grub_zalloc() and
11781 grub_debug_zalloc().
11782 * util/misc.c (grub_zalloc): New function.
11783 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
11784 instead of grub_malloc(), remove unneeded initializations.
11785 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
11786 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
11787 * commands/parttool.c (grub_cmd_parttool): Likewise.
11788 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11789 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
11790 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
11791 * disk/usbms.c (grub_usbms_finddevs): Likewise.
11792 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
11793 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
11794 (grub_cmd_efiemu_pnvram): Likewise.
11795 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
11796 * fs/iso9660.c (grub_iso9660_mount): Likewise.
11797 (grub_iso9660_iterate_dir): Likewise.
11798 * fs/jfs.c (grub_jfs_opendir): Likewise.
11799 * fs/ntfs.c (list_file): Likewise.
11800 (grub_ntfs_mount): Likewise.
11801 * kern/disk.c (grub_disk_open): Likewise.
11802 * kern/dl.c (grub_dl_load_core): Likewise.
11803 * kern/elf.c (grub_elf_file): Likewise.
11804 * kern/env.c (grub_env_context_open): Likewise.
11805 (grub_env_set): Likewise.
11806 (grub_env_set_data_slot): Likewise.
11807 * kern/file.c (grub_file_open): Likewise.
11808 * kern/fs.c (grub_fs_blocklist_open): Likewise.
11809 * loader/i386/multiboot.c (grub_module): Likewise.
11810 * loader/xnu.c (grub_xnu_create_key): Likewise.
11811 (grub_xnu_create_value): Likewise.
11812 * normal/main.c (grub_normal_add_menu_entry): Likewise.
11813 (read_config_file): Likewise.
11814 * normal/menu_entry.c (make_screen): Likewise.
11815 * partmap/sun.c (sun_partition_map_iterate): Likewise.
11816 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
11817 * script/sh/script.c (grub_script_parse): Likewise.
11818 * video/bitmap.c (grub_video_bitmap_create): Likewise.
11819 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
11820 * video/readers/png.c (grub_png_output_byte): Likewise.
11821 (grub_video_reader_png): Likewise.
11822
830afef7 118232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 11824
11825 Enable all targets that can be built by default
11826
830afef7 11827 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 11828 grub-mkfont and grub-fstest if they can be built
11829
ee293aee 118302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Fix hang and segmentation fault in grub-emu-usb
11833
11834 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
11835 * util/usb.c (grub_libusb_devices): likewise
11836 (grub_libusb_init): rename to ...
11837 (GRUB_MOD_INIT (libusb)):...this
11838 (grub_libusb_fini): rename to ..
11839 (GRUB_MOD_FINI (libusb)):...this
11840 * disk/usbms.c (grub_usbms_transfer): fix retry logic
11841 * include/grub/disk.h (grub_raid_init): removed, it's useless
11842 (grub_raid_fini): likewise
11843 (grub_lvm_init): likewise
11844 (grub_lvm_fini): likewise
11845 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
11846 by grub_init_all
11847
94414221 118482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Fix libusb
11851
11852 * Makefile.in (LIBUSB): new macro
11853 * genmk.rb (Utility/print_tail): new method
11854 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
11855 (top level): call util.print_tail at the end.
11856
59ade63d 118572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 Make FreeBSD accept zpool.cache
11860
11861 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
11862 type is /boot/zfs/zpool.cache
11863
a58da8c7 118642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 Fix 64-bit efiemu
11867
11868 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
11869 correct wrong typedef
11870 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
11871
20591577 118722009-07-15 Pavel Roskin <proski@gnu.org>
11873
560ca572 11874 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
11875 * kern/disk.c (struct grub_disk_cache): Likewise.
11876
e8e8e4fd 11877 * commands/probe.c (options): Typo fix.
11878
fde24e10 11879 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
11880 Increase to 0x5a to accommodate FAT32. Adjust other offsets
11881 accordingly.
11882 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
11883
379c54c1 11884 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
11885 the end of "Error" to make the message more readable.
11886
7bd8f5bf 11887 * boot/i386/pc/boot.S (kernel_segment): Remove.
11888 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
11889 for destination.
11890
40b132c5 11891 * boot/i386/pc/boot.S (boot_version): Remove.
11892 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11893 Remove.
11894
20591577 11895 * include/grub/i386/pc/boot.h: Sort all offsets.
11896 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
11897 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
11898 * boot/i386/pc/boot.S: Assert location of every offset listed in
11899 include/grub/i386/pc/boot.h.
11900
2df32b2c 119012009-07-13 Pavel Roskin <proski@gnu.org>
11902
44b5d879 11903 * include/grub/i386/coreboot/machine.h: Rename
11904 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
11905 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
11906 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
11907
17dc3751 11908 * kern/dl.c: Force native word size to suppress warnings when
11909 compiling grub-emu.
11910
2df32b2c 11911 * kern/device.c (grub_device_iterate): Change struct part_ent to
11912 hold the name, not a pointer to it. Use one grub_malloc() per
11913 partition, not two. Free partition_name if grub_malloc() fails.
11914 Set ents to NULL only before grub_partition_iterate() is called.
11915
75c59f59 119162009-07-11 Bean <bean123ch@gmail.com>
11917
11918 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
11919 childname.
11920
0ae1bf88 119212009-07-10 Bean <bean123ch@gmail.com>
119222009-07-10 Robert Millan <rmh.grub@aybabtu.com>
11923
11924 * kern/ieee1275/openfw.c (grub_children_iterate)
11925 (grub_devalias_iterate): Fix size evaluation for property or path
11926 strings, which was broken since r2132.
11927
8279cade 119282009-07-07 Pavel Roskin <proski@gnu.org>
11929
7d8a52d3 11930 * commands/search.c (search_file): Merge into ...
11931 (search_fs): ... this. Accept search type as argument.
11932 (grub_cmd_search): Pass search type to search_fs().
11933
25f9a05a 11934 * include/grub/util/console.h: New file.
11935 * util/console.c: Use it instead of grub/machine/console.h.
11936 * util/grub-emu.c: Likewise.
11937
8279cade 11938 * lib/arg.c (find_long_option): Remove.
11939 (find_long): Add `len' argument, make `s' const char *.
11940 (grub_arg_parse): Parse long options in place, not in a
11941 temporary buffer.
11942
4a11b60f 119432009-07-06 Pavel Roskin <proski@gnu.org>
11944
99f68041 11945 * commands/search.c (search_fs): Fix potential NULL pointer
11946 dereference.
11947
4a11b60f 11948 * commands/search.c (search_fs): Replace QUID macro with quid_fn
11949 function pointer.
11950
e110f4de 119512009-07-06 Daniel Mierswa <impulze@impulze.org>
11952
11953 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
11954 comparison.
11955
46eeb6a2 119562009-07-05 Pavel Roskin <proski@gnu.org>
11957
bab74958 11958 * include/grub/i386/linux.h (struct linux_kernel_params):
11959 Restore padding3, it's still needed.
11960
46eeb6a2 11961 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
11962 FreeBSD.
11963 * util/osdetect.lua: Likewise.
11964
b4a1dc79 119652009-07-05 Bean <bean123ch@gmail.com>
11966
11967 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
11968
11969 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
11970 (grub_lua_getenv): Likewise.
11971 (grub_lua_setenv): Likewise.
11972 (save_errno): New function.
11973 (push_result): Likewise.
11974 (grub_lua_enum_device): Likewise.
11975 (grub_lua_enum_file): Likewise.
11976 (grub_lua_file_open): Likewise.
11977 (grub_lua_file_close): Likewise.
11978 (grub_lua_file_seek): Likewise.
11979 (grub_lua_file_read): Likewise.
11980 (grub_lua_file_getline): Likewise.
11981 (grub_lua_file_getsize): Likewise.
11982 (grub_lua_file_getpos): Likewise.
11983 (grub_lua_file_eof): Likewise.
11984 (grub_lua_file_exist): Likewise.
11985 (grub_lua_add_menu): Likewise.
11986
11987 * script/lua/grub_lua.h (isupper): New inline function.
11988 (islower): Likewise.
11989 (ispunct): Likewise.
11990 (isxdigit): Likewise.
11991 (strcspn): Change to normal function.
11992 (strpbkr): New function declaration.
11993 (memchr): Likewise.
11994
11995 * script/lua/grub_main.c (scan_str): New function.
11996 (strcspn): Likewise.
11997 (strpbrk): Likewise.
11998 (memchr): Likewise.
11999
12000 * script/lua/linit.c (lualibs): Enable the string library.
12001
12002 * util/osdetect.lua: New file.
12003
2da92295 120042009-07-04 Robert Millan <rmh.grub@aybabtu.com>
12005
12006 * include/grub/i386/linux.h (struct linux_kernel_params): Add
12007 `capabilities' member.
12008
b2582ec9 120092009-07-02 Pavel Roskin <proski@gnu.org>
12010
12011 * genparttoollist.sh: Add missing newline at the end.
12012
32622956 120132009-07-01 Pavel Roskin <proski@gnu.org>
12014
87a7339e 12015 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
12016
d23af54e 12017 * util/hostdisk.c (open_device): Remove `const' from
12018 `sysctl_size', as sysctlbyname() can change it (in this case it
12019 doesn't actually happen).
12020
c94b18a9 12021 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
12022 using signed long int constants.
12023
c6cd3ef0 12024 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
12025 constant to avoid a warning on FreeBSD.
12026
0df63420 12027 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
12028 where it's needed.
12029
999577f1 12030 * Makefile.in: Install include/grub/machine symlink.
12031
6f41557f 12032 * Makefile.in: When installing symlinks, use "cp -fR", which
12033 works on FreeBSD and MacOSX.
12034 From Yves Blusseau <cl7m42e02@sneakemail.com>
12035
c8d22988 12036 * kern/dl.c (grub_dl_resolve_symbol): Make static.
12037 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
12038
1b96e952 12039 * util/misc.c: Move grub_reboot() and grub_halt() ...
12040 * util/grub-emu.c: ... here. Make main_env static.
12041 * include/grub/util/misc.h: Remove main_env.
12042
2ef0084d 12043 * kern/mm.c: Use correct format to print size_t.
12044
32622956 12045 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
12046 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
12047 * kern/powerpc/dl.c: Likewise.
12048 * kern/sparc64/dl.c: Likewise.
12049 * kern/x86_64/dl.c: Likewise.
12050
3f7f0cd0 120512009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12052
12053 Fix grub-emu build on sparc64-ieee1275.
12054
75421ca9 12055 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 12056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
12057
211d06b5 120582009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12059
12060 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
12061 (grub_reboot, grub_halt): New functions.
12062
12063 * util/i386/pc/misc.c: Delete. Update all users.
12064 * util/sparc64/ieee1275/misc.c: Likewise.
12065 * util/powerpc/ieee1275/misc.c: Likewise.
12066
aaf53e3c 120672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12068
12069 * conf/i386.rmk (setjmp_mod_SOURCES)
12070 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
12071 * conf/common.rmk (setjmp_mod_SOURCES)
12072 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
12073 to use $(target_cpu).
12074 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
12075 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
12076 * conf/powerpc-ieee1275.rmk: Likewise.
12077 * conf/sparc64-ieee1275.rmk: Likewise.
12078
12079 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
12080 $(target_cpu) for kern/$(target_cpu)/dl.c.
12081 * conf/i386-efi.rmk: Likewise.
12082 * conf/i386-ieee1275.rmk: Likewise.
12083 * conf/x86_64-efi.rmk: Likewise.
12084 * conf/i386-coreboot.rmk: Likewise.
12085 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
12086 $(target_cpu) for kern/$(target_cpu)/dl.c and for
12087 kern/$(target_cpu)/cache.S.
12088 * conf/sparc64-ieee1275.rmk: Likewise.
12089
a337130b 120902009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12091
12092 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
12093 type to `grub_uint8_t', and adjust `padding9' accordingly.
12094
c6fe4d53 120952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12096
b09db61d 12097 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
12098
c6fe4d53 12099 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
12100 assembly in final jump, using register constraints.
12101
b09db61d 12102 (grub_linux_boot): For text mode, initialize `have_vga' using
12103 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
12104
12105 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
12106 right before the final jump.
12107
12108 Set `video_mode' to 0x3.
12109
12110 Document initialization of `video_page', `video_mode' and
12111 `video_ega_bx'.
12112
28333ad0 121132009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12114
12115 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
12116 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 12117 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 12118
02164e1b 121192009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12120
12121 Fix build on Debian / sparc.
12122
12123 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
12124
18b6c557 121252009-06-28 Pavel Roskin <proski@gnu.org>
12126
85f2aab6 12127 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
12128 fix a warning.
12129
18b6c557 12130 * util/grub.d/10_linux.in: Match SUSE style initrd names.
12131
ad760f81 121322009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12133
12134 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
12135 `err'.
12136
87a4623b 121372009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12138
12139 Revert r2338.
12140
12141 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
12142 file can't be opened. grub_file_open() is already supposed to set
75421ca9 12143 grub_errno / grub_errmsg appropriately.
87a4623b 12144 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12145
8231fb77 121462009-06-27 Pavel Roskin <proski@gnu.org>
121472009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12148
12149 * include/grub/dl.h: Include grub/elf.h.
12150 (struct grub_dl): Add symtab field.
12151 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
12152 GRUB_MODULES_MACHINE_READONLY.
12153 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
12154 of the header for read-only modules.
12155 (grub_dl_unload): Free mod->symtab for read-only modules.
12156 * kern/i386/dl.c: Use mod->symtab.
12157 * kern/powerpc/dl.c: Likewise.
12158 * kern/sparc64/dl.c: Likewise.
12159 * kern/x86_64/dl.c: Likewise.
12160
12161 * conf/i386-qemu.rmk: New file.
12162 * kern/i386/qemu/startup.S: Likewise.
12163 * kern/i386/qemu/mmap.c: Likewise.
12164 * boot/i386/qemu/boot.S: Likewise.
12165 * include/grub/i386/qemu/time.h: Likewise.
12166 * include/grub/i386/qemu/serial.h: Likewise.
12167 * include/grub/i386/qemu/kernel.h: Likewise.
12168 * include/grub/i386/qemu/console.h: Likewise.
12169 * include/grub/i386/qemu/boot.h: Likewise.
12170 * include/grub/i386/qemu/init.h: Likewise.
12171 * include/grub/i386/qemu/machine.h: Likewise.
12172 * include/grub/i386/qemu/loader.h: Likewise.
12173 * include/grub/i386/qemu/memory.h: Likewise.
12174
12175 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
12176 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
12177 [qemu] (pkglib_IMAGES): Add `boot.img'.
12178 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
12179 [qemu] (boot_img_FORMAT): New variables.
12180 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
12181 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
12182 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
12183 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12184 [qemu] (kernel_img_FORMAT): New variables.
12185
12186 * configure.ac: Recognise `i386-qemu'.
12187
12188 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
12189 (for no compression).
12190 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
12191 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
12192 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
12193 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
12194 ifdefs).
12195
97fe384e 121962009-06-27 Pavel Roskin <proski@gnu.org>
12197
12198 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
12199 read.
12200 * efiemu/prepare32.c: Likewise.
12201 * efiemu/prepare64.c: Likewise.
12202
c402ab17 122032009-06-26 Pavel Roskin <proski@gnu.org>
12204
12205 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
12206 * include/grub/elf.h: Define symbols without "32" or "64" based
12207 on GRUB_TARGET_WORDSIZE.
12208 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
12209 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
12210 ELF definitions.
12211 * efiemu/loadcore64.c: Likewise.
12212 * loader/i386/bsd32.c: Likewise.
12213 * loader/i386/bsd64.c: Likewise.
12214 * kern/dl.c: Remove own ELF definitions.
12215 * util/i386/efi/grub-mkimage.c: Likewise.
12216
9bbdfd4d 122172009-06-23 Robert Millan <rmh.grub@aybabtu.com>
12218
12219 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
12220 segment 0x0 unconditionally, because the reference generated by
12221 GAS is an absolute address.
12222
a42ce6e9 122232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12224
12225 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
12226 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
12227
c952cf92 122282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12229
12230 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
12231 indexes. Check for -f explicitly.
cc3752ad 12232 (search_file): Improve error message.
12233 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 12234
132a0a59 122352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12236
12237 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
12238 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
12239
387a140c 122402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12241
12242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
12243 * conf/i386-ieee1275.rmk: Likewise.
12244 * conf/i386-coreboot.rmk: Likewise.
12245
12246 * kern/i386/pc/startup.S (grub_stop): Remove function.
12247 * kern/i386/ieee1275/startup.S: Likewise.
12248 * kern/i386/coreboot/startup.S: Likewise.
12249 * kern/i386/misc.S (grub_stop): New function.
12250
41da9665 122512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12252
12253 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
12254 * kern/i386/realmode.S (real_to_prot): ... to here.
12255
bf337234 122562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12257
12258 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
12259 with `kernel.img'.
12260 (kernel_elf_SOURCES): Rename to ...
12261 (kernel_img_SOURCES): ... this.
12262 (kernel_elf_HEADERS): Rename to ...
12263 (kernel_img_HEADERS): ... this. Update all users.
12264 (kernel_elf_ASFLAGS): Rename to ...
12265 (kernel_img_ASFLAGS): ... this.
12266 (kernel_elf_CFLAGS): Rename to ...
12267 (kernel_img_CFLAGS): ... this.
12268 (kernel_elf_LDFLAGS): Rename to ...
12269 (kernel_img_LDFLAGS): ... this.
12270 * conf/i386-coreboot.rmk: Likewise.
12271 * conf/powerpc-ieee1275.rmk: Likewise.
12272
12273 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
12274 with "kernel.img".
12275
f52196ff 122762009-06-21 Pavel Roskin <proski@gnu.org>
12277
c3cee413 12278 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
12279 to match nested functions.
12280 * loader/sparc64/ieee1275/linux.c: Likewise.
12281
f52196ff 12282 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
12283
58750afc 122842009-06-21 Robert Millan <rmh.grub@aybabtu.com>
12285
12286 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
12287 all i386 platforms.
12288
15355c7d 122892009-06-21 Robert Millan <rmh.grub@aybabtu.com>
12290
12291 Fix asm file handling on ELF, and remove workarounds.
12292
12293 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 12294 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 12295 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
12296 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
12297
3f3ec72b 122982009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 Load BSD ELF modules
12301
12302 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
12303 and loader/i386/bsd64.c
12304 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
12305 (FREEBSD_MODTYPE_ELF_MODULE): New definition
12306 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
12307 (grub_freebsd_load_elfmodule32): New declaration
12308 (grub_freebsd_load_elfmoduleobj64): Likewise
12309 (grub_freebsd_load_elf_meta32): Likewise
12310 (grub_freebsd_load_elf_meta64): Likewise
12311 (grub_freebsd_add_meta): Likewise
12312 (grub_freebsd_add_meta_module): Likewise
12313 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
12314 (grub_freebsd_add_meta_module): Likewise and move module-specific
12315 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
12316 (grub_cmd_freebsd): Add elf-kernel specific parts
12317 based on grub_freebsd_add_meta_module
12318 (grub_cmd_freebsd_module): Add type parsing moved from
12319 grub_freebsd_add_meta_module
12320 (grub_cmd_freebsd_module_elf): New function
12321 (cmd_freebsd_module_elf): New variable
12322 (GRUB_MOD_INIT): Register freebsd_module_elf
12323 * loader/i386/bsd32.c: New file
12324 * loader/i386/bsd64.c: Likewise
12325 * loader/i386/bsdXX.c: Likewise
12326 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
12327 (grub_elf64_load): Likewise
12328 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
12329 All users updated
12330 (grub_elf64_load_hook_t): Likewise
12331
0db15301 123322009-06-21 Colin Watson <cjwatson@ubuntu.com>
12333
12334 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
12335 variable.
12336 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
12337 don't write a menu entry for recovery mode.
12338
546796c1 123392009-06-20 Robert Millan <rmh.grub@aybabtu.com>
12340
12341 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
12342 after it's no longer needed.
12343
cd7310d5 123442009-06-20 Robert Millan <rmh.grub@aybabtu.com>
12345
12346 * include/grub/i386/loader.h (grub_linux_prot_size)
12347 (grub_linux_tmp_addr, grub_linux_real_addr)
12348 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
12349 GRUB_MACHINE_PCBIOS.
12350 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
12351 common grub_util_info() call to ...
12352 (generate_image): ... here.
12353 Fix use of uninitialized memory, comparison of signed with
12354 unsigned integers and memory leak.
12355 Remove bogus module address message.
12356
ab32d3b5 123572009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
12360 grub_raid_register
12361 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
12362
024ef597 123632009-06-19 Pavel Roskin <proski@gnu.org>
12364
12365 * configure.ac: Remove stray AC_MSG_CHECKING.
12366
3ac72b51 123672009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 12370
e14cd814 123712009-06-18 Pavel Roskin <proski@gnu.org>
12372
12373 * conf/common.rmk: Add fs_file.mod.
12374 * disk/fs_file.c: New file.
12375 * include/grub/disk.h (enum grub_disk_dev_id): Add
12376 GRUB_DISK_DEVICE_FILE_ID.
12377
26586d98 123782009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 Fix build with Apple's toolchain. Part 2
12381
12382 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
12383 a fake start
12384
26de2bcd 123852009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 Fix build with Apple's toolchain. Part 1
12388
12389 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
12390 for long calls
12391 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 12392 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 12393 Apple's toolchain
12394
09b3490b 123952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Fix warnings
12398
12399 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
12400 (decomp_block): initialize ch
12401 use grub_memcpy instead of memcpy
12402
c22a006a 124032009-06-17 Pavel Roskin <proski@gnu.org>
12404
d3638678 12405 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
12406 version, use declarations needed to use vga_text as the startup
12407 console.
12408
c22a006a 12409 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
12410 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
12411 the kernel.
12412 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
12413 and grub_at_keyboard_fini(), it's done on module load and
12414 unload.
12415
05b129e0 124162009-06-17 Felix Zielcke <fzielcke@z-51.de>
12417
12418 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
12419 file can't be found.
12420 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12421
cf24ed9e 124222009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 Fix newline handling
12425
12426 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 12427 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 12428 (grub_script_yylex): don't segfault on unterminated script
12429 newline terminates command and variable
12430
74aa8e4b 124312009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 avoid double grub_adjust_range call. Bug reported by David Simner
12434
12435 * kern/disk.c (grub_disk_write): change to raw disk access before
12436 calling disk_read
12437
1bd265f3 124382009-06-17 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
12441 spaces, for the benefit of help2man.
12442 * util/i386/efi/grub-mkimage.c (usage): Likewise.
12443
a2d08c06 124442009-06-16 Pavel Roskin <proski@gnu.org>
12445
12446 * kern/i386/halt.c: Include grub/machine/init.h.
12447 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
12448
b97bcb19 124492009-06-16 Felix Zielcke <fzielcke@z-51.de>
12450
12451 * util/grub.d/30_os-prober.in: Use ${root} in the generated
12452 drivemap menuentry.
12453
0644f96c 124542009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
12455
12456 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
12457 `echo' command.
12458
3ef17a2e 124592009-06-16 Pavel Roskin <proski@gnu.org>
12460
12461 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
12462 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
12463 save %dx, we only need %dl and we never change it.
12464 * boot/i386/pc/cdboot.S: Don't set the root drive.
12465 * boot/i386/pc/pxeboot.S: Likewise.
12466 * include/grub/i386/pc/boot.h: Remove
12467 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
12468 GRUB_BOOT_MACHINE_DRIVE_CHECK.
12469 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
12470 * kern/i386/pc/init.c (make_install_device): Remove references
12471 to grub_root_drive.
12472 * kern/i386/pc/startup.S: Likewise.
12473 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
12474
693fe637 124752009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 xnu_uuid command
12478
12479 * commands/xnu_uuid.c: new file
12480 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
12481 (xnu_uuid_mod_SOURCES): new variable
12482 (xnu_uuid_mod_CFLAGS): likewise
12483 (xnu_uuid_mod_LDFLAGS): likewise
12484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
12485 * conf/i386-ieee1275.rmk: likewise
12486 * conf/i386-pc.rmk: likewise
12487 * conf/powerpc-ieee1275.rmk: likewise
12488 * conf/sparc64-ieee1275.rmk: likewise
12489 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
12490
c9da87d0 124912009-06-16 Pavel Roskin <proski@gnu.org>
12492
12493 * configure.ac: Avoid '==' in test command, it's not portable.
12494
9c6f4596 124952009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 Probe command
12498
12499 * commands/probe.c: new file
12500 * conf/common.rmk (pkglib_MODULES): add probe.mod
12501 (probe_mod_SOURCES): new variable
12502 (probe_mod_CFLAGS): likewise
12503 (probe_mod_LDFLAGS): likewise
12504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
12505 * conf/i386-ieee1275.rmk: likewise
12506 * conf/i386-pc.rmk: likewise
12507 * conf/powerpc-ieee1275.rmk: likewise
12508 * conf/sparc64-ieee1275.rmk: likewise
12509
70b7f9fd 125102009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 Fix handling of string like \"hello\" and "a
12513 b"
12514
12515 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
12516 (grub_script_yylex): fix parsing of quoting, escaping and newline
12517
71c79a6b 125182009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
12519
dd74360c 12520 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 12521 handling
dd74360c 12522
0644f96c 125232009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 12524
12525 * util/grub-mkconfig.in: Fix parsing of --output option.
12526
e40893c3 125272009-06-12 Pavel Roskin <proski@gnu.org>
12528
12529 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
12530 genmk.rb don't need to be generated or installed.
12531
3a1acfe2 125322009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * commands/i386/pc/drivemap_int13h.S: add more comments
12535
3a4575d4 125362009-06-11 Pavel Roskin <proski@gnu.org>
12537
0658e928 12538 * Makefile.in (uninstall): Uninstall manuals.
12539
ca0388f0 12540 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
12541 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
12542 and update-grub_lib in two places.
12543 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
12544
e3b27c39 12545 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
12546 a compiler warning.
12547
3a4575d4 12548 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
12549 `entry_lo' to fix variable shadowing.
12550
af1f4f55 125512009-06-11 Christian Franke <franke@computer.org>
12552
12553 * kern/misc.c (__enable_execute_stack): Add missing return type
12554 to prevent gcc warning.
12555
5225e649 125562009-06-11 Felix Zielcke <fzielcke@z-51.de>
12557
12558 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
12559
7d83bd47 125602009-06-11 Pavel Roskin <proski@gnu.org>
12561
c1cb63ba 12562 * Makefile.in: Don't rely on any scripts being executable.
12563 Always use $(SHELL) to run shell scripts.
12564
7d83bd47 12565 * configure.ac: Always define ___main if using -nostdlib. This
12566 fixes tests on Cygwin.
12567
948f48e7 125682009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
12569
12570 UDF fix
12571
7d83bd47 12572 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 12573 is in bytes and not in blocks
7d83bd47 12574
8ada9bc1 125752009-06-11 Pavel Roskin <proski@gnu.org>
12576
12577 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
12578 warning.
12579
25ad2323 125802009-06-11 Felix Zielcke <fzielcke@z-51.de>
12581
12582 * util/grub.d/30_os-prober.in: Fix a comment. Source
12583 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
12584 to set the root device. Place drivemap command in the generated
12585 chain entry.
12586
e65acb0c 125872009-06-11 Pavel Roskin <proski@gnu.org>
12588
12589 * configure.ac: Remove host_m32. Issues with 64-bit utilities
12590 have long been resolved.
12591
f285fe2d 125922009-06-11 Colin Watson <cjwatson@ubuntu.com>
12593
bd47b0b5 12594 * util/grub.d/10_linux.in: Capitalise "Linux".
12595
f285fe2d 12596 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
12597
a0c62e4e 125982009-06-11 Pavel Roskin <proski@gnu.org>
12599
b6783cb2 12600 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
12601 fix a gcc warning and ensure that the function won't ever exit.
12602
dde032e8 12603 * kern/i386/ieee1275/init.c: Add missing prototype for
12604 grub_stop_floppy().
12605
22cd079d 12606 * loader/ieee1275/multiboot2.c [__i386__]: Include
12607 grub/cpu/multiboot.h.
12608
a0c62e4e 12609 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
12610 casts to short - they are not portable and cause warnings. Fix
12611 use of uninitialized values in input_buf. Use ARRAY_SIZE.
12612
63963d17 126132009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 Drivemap fixes
12616
12617 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
12618 new function
12619 (grub_get_root_biosnumber_saved): new variable
12620 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
12621 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 12622 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 12623 %dx after the call if necessary
12624 * conf/common.rmk (pkglib_MODULES): remove boot.mod
12625 (boot_mod_SOURCES): remove
12626 (boot_mod_CFLAGS): remove
12627 (boot_mod_LDFLAGS): remove
12628 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
12629 (boot_mod_SOURCES): new variable
12630 (boot_mod_CFLAGS): likewise
12631 (boot_mod_LDFLAGS): likewise
12632 * conf/i386-efi.rmk: likewise
12633 * conf/i386-ieee1275.rmk: likewise
12634 * conf/i386-pc.rmk: likewise
12635 * conf/powerpc-ieee1275.rmk: likewise
12636 * conf/sparc64-ieee1275.rmk: likewise
12637 * conf/x86_64-efi.rmk: likewise
12638 * include/grub/i386/pc/biosnum.h: new file
12639 * lib/i386/pc/biosnum.c: likewise
12640 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
12641 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
12642 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 12643
33abf7ae 126442009-06-10 Pavel Roskin <proski@gnu.org>
12645
5ac35b35 12646 * io/gzio.c (test_header): Don't reuse one buffer for all data.
12647 Use separate variables. Read only the file size at the end, but
12648 not the checksum that we don't use.
12649
5c5215d5 12650 * kern/file.c (grub_file_read): Use void pointer for the buffer.
12651 Adjust all callers.
12652
27d5fef7 12653 * kern/ieee1275/openfw.c: Remove libc includes.
12654 * kern/ieee1275/cmain.c: Likewise.
12655 * include/grub/ieee1275/ieee1275.h: Likewise.
12656
33abf7ae 12657 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
12658 compiler warnings.
12659
19d50c2b 126602009-06-10 Felix Zielcke <fzielcke@z-51.de>
12661
12662 * Makefile.in: Remove all trailing whitespace.
12663 * conf/i386-pc.rmk: Likewise.
12664 * conf/powerpc-ieee1275.rmk: Likewise.
12665 * conf/sparc64-ieee1275.rmk: Likewise.
12666 * docs/grub.texi: Likewise.
12667 * docs/texinfo.tex: Likewise.
12668 * disk/fs_uuid.c: Likewise.
12669 * disk/lvm.c: Likewise.
12670 * disk/scsi.c: Likewise.
12671 * disk/ata.c: Likewise.
12672 * disk/ieee1275/ofdisk.c: Likewise.
12673 * disk/i386/pc/biosdisk.c: Likewise.
12674 * disk/host.c: Likewise.
12675 * disk/raid.c: Likewise.
12676 * disk/efi/efidisk.c: Likewise.
12677 * disk/usbms.c: Likewise.
12678 * disk/memdisk.c: Likewise.
12679 * disk/loopback.c: Likewise.
12680 * kern/powerpc/dl.c: Likewise.
12681 * kern/device.c: Likewise.
12682 * kern/dl.c: Likewise.
12683 * kern/sparc64/dl.c: Likewise.
12684 * kern/ieee1275/ieee1275.c: Likewise.
12685 * kern/term.c: Likewise.
12686 * kern/fs.c: Likewise.
12687 * kern/i386/dl.c: Likewise.
12688 * kern/i386/pc/startup.S: Likewise.
12689 * kern/i386/pc/init.c: Likewise.
12690 * kern/i386/pc/mmap.c: Likewise.
12691 * kern/i386/pc/lzo1x.S: Likewise.
12692 * kern/i386/ieee1275/init.c: Likewise.
12693 * kern/i386/realmode.S: Likewise.
12694 * kern/i386/tsc.c: Likewise.
12695 * kern/partition.c: Likewise.
12696 * kern/corecmd.c: Likewise.
12697 * kern/file.c: Likewise.
12698 * kern/efi/efi.c: Likewise.
12699 * kern/efi/init.c: Likewise.
12700 * kern/efi/mm.c: Likewise.
12701 * kern/main.c: Likewise.
12702 * kern/err.c: Likewise.
12703 * kern/env.c: Likewise.
12704 * kern/disk.c: Likewise.
12705 * kern/generic/millisleep.c: Likewise.
12706 * kern/generic/rtc_get_time_ms.c: Likewise.
12707 * kern/misc.c: Likewise.
12708 * kern/parser.c: Likewise.
12709 * genmk.rb: Likewise.
12710 * configure.ac: Likewise.
12711 * boot/i386/pc/diskboot.S: Likewise.
12712 * boot/i386/pc/pxeboot.S: Likewise.
12713 * boot/i386/pc/boot.S: Likewise.
12714 * boot/i386/pc/lnxboot.S: Likewise.
12715 * boot/i386/pc/cdboot.S: Likewise.
12716 * parttool/pcpart.c: Likewise.
12717 * video/readers/tga.c: Likewise.
12718 * video/video.c: Likewise.
12719 * video/bitmap.c: Likewise.
12720 * lib/envblk.c: Likewise.
12721 * lib/i386/setjmp.S: Likewise.
12722 * fs/xfs.c: Likewise.
12723 * fs/afs.c: Likewise.
12724 * fs/fat.c: Likewise.
12725 * fs/ntfs.c: Likewise.
12726 * fs/udf.c: Likewise.
12727 * fs/affs.c: Likewise.
12728 * fs/iso9660.c: Likewise.
12729 * fs/hfs.c: Likewise.
12730 * fs/fshelp.c: Likewise.
12731 * fs/ext2.c: Likewise.
12732 * fs/jfs.c: Likewise.
12733 * fs/reiserfs.c: Likewise.
12734 * fs/hfsplus.c: Likewise.
12735 * fs/minix.c: Likewise.
12736 * fs/cpio.c: Likewise.
12737 * fs/sfs.c: Likewise.
12738 * fs/ufs.c: Likewise.
12739 * efiemu/prepare.c: Likewise.
12740 * efiemu/loadcore_common.c: Likewise.
12741 * efiemu/runtime/efiemu.sh: Likewise.
12742 * efiemu/runtime/efiemu.S: Likewise.
12743 * efiemu/runtime/efiemu.c: Likewise.
12744 * efiemu/pnvram.c: Likewise.
12745 * efiemu/main.c: Likewise.
12746 * efiemu/i386/pc/cfgtables.c: Likewise.
12747 * efiemu/i386/loadcore64.c: Likewise.
12748 * efiemu/i386/loadcore32.c: Likewise.
12749 * efiemu/loadcore.c: Likewise.
12750 * efiemu/symbols.c: Likewise.
12751 * efiemu/mm.c: Likewise.
12752 * include/grub/autoefi.h: Likewise.
12753 * include/grub/datetime.h: Likewise.
12754 * include/grub/term.h: Likewise.
12755 * include/grub/hfs.h: Likewise.
12756 * include/grub/lvm.h: Likewise.
12757 * include/grub/i386/tsc.h: Likewise.
12758 * include/grub/i386/linux.h: Likewise.
12759 * include/grub/i386/xnu.h: Likewise.
12760 * include/grub/i386/efiemu.h: Likewise.
12761 * include/grub/i386/pc/biosdisk.h: Likewise.
12762 * include/grub/i386/pc/memory.h: Likewise.
12763 * include/grub/i386/pc/vbe.h: Likewise.
12764 * include/grub/parttool.h: Likewise.
12765 * include/grub/video.h: Likewise.
12766 * include/grub/memory.h: Likewise.
12767 * include/grub/fs.h: Likewise.
12768 * include/grub/partition.h: Likewise.
12769 * include/grub/xnu.h: Likewise.
12770 * include/grub/efi/api.h: Likewise.
12771 * include/grub/efi/pe32.h: Likewise.
12772 * include/grub/efi/memory.h: Likewise.
12773 * include/grub/multiboot.h: Likewise.
12774 * include/grub/usbdesc.h: Likewise.
12775 * include/grub/multiboot2.h: Likewise.
12776 * include/grub/acpi.h: Likewise.
12777 * include/grub/efiemu/efiemu.h: Likewise.
12778 * include/grub/disk.h: Likewise.
12779 * include/grub/ieee1275/ieee1275.h: Likewise.
12780 * include/grub/net.h: Likewise.
12781 * include/grub/machoload.h: Likewise.
12782 * include/grub/macho.h: Likewise.
12783 * include/multiboot.h: Likewise.
12784 * genmoddep.awk: Likewise.
12785 * normal/main.c: Likewise.
12786 * normal/menu_entry.c: Likewise.
12787 * normal/menu_viewer.c: Likewise.
12788 * normal/completion.c: Likewise.
12789 * normal/cmdline.c: Likewise.
12790 * normal/misc.c: Likewise.
12791 * normal/datetime.c: Likewise.
12792 * bus/usb/usbtrans.c: Likewise.
12793 * bus/usb/ohci.c: Likewise.
12794 * bus/usb/uhci.c: Likewise.
12795 * bus/usb/usb.c: Likewise.
12796 * mmap/efi/mmap.c: Likewise.
12797 * mmap/i386/pc/mmap_helper.S: Likewise.
12798 * mmap/i386/pc/mmap.c: Likewise.
12799 * mmap/i386/mmap.c: Likewise.
12800 * mmap/i386/uppermem.c: Likewise.
12801 * mmap/mmap.c: Likewise.
12802 * commands/acpi.c: Likewise.
12803 * commands/echo.c: Likewise.
12804 * commands/blocklist.c: Likewise.
12805 * commands/loadenv.c: Likewise.
12806 * commands/usbtest.c: Likewise.
12807 * commands/boot.c: Likewise.
12808 * commands/parttool.c: Likewise.
12809 * commands/search.c: Likewise.
12810 * commands/cat.c: Likewise.
12811 * commands/i386/pc/play.c: Likewise.
12812 * commands/i386/pc/drivemap.c: Likewise.
12813 * commands/i386/pc/vbeinfo.c: Likewise.
12814 * commands/i386/pc/acpi.c: Likewise.
12815 * commands/i386/pc/vbetest.c: Likewise.
12816 * commands/ls.c: Likewise.
12817 * commands/cmp.c: Likewise.
12818 * commands/test.c: Likewise.
12819 * commands/efi/acpi.c: Likewise.
12820 * commands/gptsync.c: Likewise.
12821 * commands/help.c: Likewise.
12822 * partmap/amiga.c: Likewise.
12823 * partmap/apple.c: Likewise.
12824 * partmap/acorn.c: Likewise.
12825 * partmap/pc.c: Likewise.
12826 * partmap/sun.c: Likewise.
12827 * partmap/gpt.c: Likewise.
12828 * script/sh/lexer.c: Likewise.
12829 * script/sh/function.c: Likewise.
12830 * font/font.c: Likewise.
12831 * font/font_cmd.c: Likewise.
12832 * loader/powerpc/ieee1275/linux.c: Likewise.
12833 * loader/efi/chainloader.c: Likewise.
12834 * loader/multiboot_loader.c: Likewise.
12835 * loader/macho.c: Likewise.
12836 * loader/i386/multiboot.c: Likewise.
12837 * loader/i386/linux.c: Likewise.
12838 * loader/i386/pc/linux.c: Likewise.
12839 * loader/i386/pc/multiboot2.c: Likewise.
12840 * loader/i386/pc/chainloader.c: Likewise.
12841 * loader/i386/pc/xnu.c: Likewise.
12842 * loader/i386/bsd_trampoline.S: Likewise.
12843 * loader/i386/efi/linux.c: Likewise.
12844 * loader/i386/multiboot_elfxx.c: Likewise.
12845 * loader/i386/bsd_helper.S: Likewise.
12846 * loader/i386/bsd.c: Likewise.
12847 * loader/i386/linux_trampoline.S: Likewise.
12848 * loader/i386/xnu_helper.S: Likewise.
12849 * loader/i386/xnu.c: Likewise.
12850 * loader/i386/bsd_pagetable.c: Likewise.
12851 * loader/i386/multiboot_helper.S: Likewise.
12852 * loader/xnu.c: Likewise.
12853 * loader/xnu_resume.c: Likewise.
12854 * io/gzio.c: Likewise.
12855 * term/efi/console.c: Likewise.
12856 * term/terminfo.c: Likewise.
12857 * term/ieee1275/ofconsole.c: Likewise.
12858 * term/i386/pc/serial.c: Likewise.
12859 * term/i386/pc/vesafb.c: Likewise.
12860 * term/i386/pc/vga.c: Likewise.
12861 * term/usb_keyboard.c: Likewise.
12862 * term/gfxterm.c: Likewise.
12863 * aclocal.m4: Likewise.
12864 * util/lvm.c: Likewise.
12865 * util/grub.d/30_os-prober.in: Likewise.
12866 * util/grub.d/10_hurd.in: Likewise.
12867 * util/console.c: Likewise.
12868 * util/grub-macho2img.c: Likewise.
12869 * util/grub-probe.c: Likewise.
12870 * util/hostfs.c: Likewise.
12871 * util/i386/pc/grub-mkimage.c: Likewise.
12872 * util/i386/pc/grub-setup.c: Likewise.
12873 * util/i386/efi/grub-mkimage.c: Likewise.
12874 * util/grub-mkconfig.in: Likewise.
12875 * util/raid.c: Likewise.
12876 * util/resolve.c: Likewise.
12877 * util/grub-mkdevicemap.c: Likewise.
12878 * util/grub-emu.c: Likewise.
12879 * util/getroot.c: Likewise.
12880 * util/hostdisk.c: Likewise.
12881 * util/usb.c: Likewise.
12882 * util/grub-editenv.c: Likewise.
12883 * util/misc.c: Likewise.
12884
d2d49665 128852009-06-10 Felix Zielcke <fzielcke@z-51.de>
12886
12887 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
12888 `genparttoollist.sh'.
12889 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
12890 Add `*.sh' to the list find searches for and change `mdate.sh'
12891 to `mdate-sh'.
12892
fe052e37 128932009-06-10 Pavel Roskin <proski@gnu.org>
12894
2763ac18 12895 * include/grub/multiboot2.h: Provide compatibility defines for
12896 multiboot2.h.
12897 * include/multiboot2.h: Include stdint.h only if needed, using
12898 angle brackets.
12899 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
12900 grub/multiboot2.h.
12901 * loader/ieee1275/multiboot2.c: Likewise.
12902 * loader/multiboot2.c: Likewise.
12903 * loader/multiboot_loader.c: Likewise.
12904
437e6adc 12905 * configure.ac: Use -nostdlib when probing for the target. It
12906 should not be required to have libc for the target.
12907
06a6836c 12908 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
12909 they fail without libc headers for the target.
12910 * include/grub/powerpc/libgcc.h: Use weak attribute for all
12911 exports.
12912 * include/grub/sparc64/libgcc.h: Likewise. Don't use
12913 preprocessor conditionals.
12914
fe052e37 12915 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
12916 build system doesn't need to be aware of the tar.c internals.
12917
afd22553 129182009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 12919
afd22553 12920 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 12921
6b787c4f 129222009-06-09 Robert Millan <rmh.grub@aybabtu.com>
12923
12924 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
12925 disk limit to 26 for IDE, Virtio, Xen and SCSI.
12926
129272009-06-09 Felix Zielcke <fzielcke@z-51.de>
12928
12929 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 12930 aren't available if ata.mod gets used.
6b787c4f 12931
473d1e45 129322009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 12933
473d1e45 12934 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 12935 initialising controller.
473d1e45 12936 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 12937
255a27d4 129382009-06-08 Felix Zielcke <fzielcke@z-51.de>
12939
12940 * util/i386/pc/grub-install.in: Add a parameter --disk-module
12941 to choose between ata and biosdisk module on i386-pc.
12942
473d1e45 129432009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 12944
d55842d8 12945 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
12946 Subclass and Programming Interface fields in terms of the 3 byte
12947 Class Code register.
12948 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12949
fa5db0b1 12950 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
12951 interface is OHCI. Add grub_dprintf for symmetry with
12952 bus/usb/uhci.c.
12953 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
12954 interface is UHCI. Add interf variable for programming
12955 interface. Print interface with class/subclass.
12956
c0947beb 12957 * bus/usb/ohci.c: Set interf with correct field.
12958
69da8877 12959 * bus/usb/uhci.c: Remove unneeded doubled lines.
12960 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
12961 Remove whitespace inside comment.
12962
9e172e30 129632009-06-08 Robert Millan <rmh.grub@aybabtu.com>
12964
12965 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
12966 as fallback an equivalent option without depth.
12967
de65ee2b 129682009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 Not fail if unable to retrieve C/H/S on LBA disks
12971
473d1e45 12972 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 12973 if unable to retrieve C/H/S on LBA disks
12974
b57ea2c9 129752009-06-08 Pavel Roskin <proski@gnu.org>
12976
12977 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
12978 about aliasing.
12979
af361263 129802009-06-08 Felix Zielcke <fzielcke@z-51.de>
12981
12982 * Makefile.in (uninstall): Remove all $lib_DATA files.
12983
4c9ec6b3 129842009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 Bugfix: install on partitionless device
12987
12988 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
12989 is a whole disk
12990
e76fc924 129912009-06-08 Felix Zielcke <fzielcke@z-51.de>
12992
12993 * Makefile.in (uninstall): Remove all $include_DATA files.
12994
ba5a0d05 129952009-06-08 Felix Zielcke <fzielcke@z-51.de>
12996
12997 * commands/true.c: New file. Implement the true and false commands.
12998 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
12999 (true_mod_SOURCES): New variable.
13000 (true_mod_CFLAGS): Likewise.
13001 (true_mod_LDFLAGS): Likewise.
13002
c8048e32 130032009-06-05 Colin D Bennett <colin@gibibit.com>
13004
13005 Optimized font character lookup using binary search instead of linear
13006 search. Fonts now are required to have the character index ordered by
13007 code point.
13008
13009 * font/font.c (load_font_index): Verify that fonts have ordered
13010 character indices.
13011 (find_glyph): Use binary search instead of linear search to find a
13012 character in a font.
13013
408305be 130142009-06-05 Michael Scherer <misc@mandriva.org>
13015
13016 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
13017 uses case sensitive btree.
13018 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
13019 only for case insensitive filesystems.
13020
8ee1e0d9 130212009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
13022
13023 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
13024 * conf/common.rmk (search_mod_CFLAGS): likewise
13025
a9966eb1 130262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13027
473d1e45 13028 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 13029 compensate a compiler bug
13030
9e7100fb 130312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13032
473d1e45 13033 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 13034 instead of '\b'
473d1e45 13035
ede21d71 130362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 Definitions for creating asm symbols with Apple's CC
13039
13040 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
13041 [APPLE_CC] (VARIABLE): likewise
13042
9dbf7653 130432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 Disable lnxboot.img when compiled
13046 with Apple's CC
13047
13048 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
13049 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
13050 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
13051 [! APPLE_CC] (CODE_LENG): skip
13052 [! APPLE_CC] (setup_sects): likewise
13053 [! APPLE_CC]: skip filling
473d1e45 13054
e93cdc3d 130552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 Address in trampolines based on 32-bit registers when compiled
13058 with Apple's CC
13059
473d1e45 13060 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 13061 for addresses
13062 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
13063
6c688477 130642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 Avoid aliases when compiling with Apple's CC for PCBIOS machine
13067
13068 * kern/misc.c [APPLE_CC] (memcpy): new function
13069 [APPLE_CC] (memmove): likewise
13070 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 13071 (memcpy): define alias conditionally on !APPLE_CC
6c688477 13072 (memset): likewise
13073 (abort): likewise
13074 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
13075 APPLE_CC are defined
13076 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
13077 (grub_assert_fail): make prototype conditional
13078
e37ffc5c 130792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13080
13081 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
13082
473d1e45 13083 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
13084 grub-macho2img
e37ffc5c 13085 (CLEANFILES): add grub-macho2img
13086 (grub_macho2img_SOURCES): new variable
13087 * kern/i386/pc/startup.S (bss_start): new variable
13088 (bss_end): likewise
13089 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
13090 * util/grub-macho2img.c: new file
13091
cf00df31 130922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 Use objconv when compiling with Apple's CC
13095
13096 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
13097 (efiemu64.o): likewise
13098 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
13099 when compiling with Apple's CC
13100 (efiemu64_s.o): likewise
13101 * configure.ac: check for objconv when compiling with Apple's CC
13102 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 13103
d119a20c 131042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 Define segment as well as section when compiling with
13107 Apple's CC
13108
13109 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
13110 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
13111 (efiemu_convert_pointer): likewise
13112 (efiemu_set_virtual_address_map): likewise
13113 (efiemu_convert_pointer): likewise
13114 (efiemu_getcrc32): likewise
13115 (init_crc32_table): likewise
13116 (reflect): likewise
13117 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
13118 (GRUB_MOD_DEP): likewise
473d1e45 13119
c8600122 131202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 Allow a compilation without -mcmodel=large
13123
13124 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
13125 when compiled without -mcmodel=large
473d1e45 13126 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 13127 without -mcmodel=large
473d1e45 13128 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 13129 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 13130
e8df1d4e 131312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Remove nested functions in efiemu core
13134
13135 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 13136
cc6c3ac1 131372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
13140
13141 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
13142 temporary storage
473d1e45 13143 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
13144 using Apple's CC
cc6c3ac1 13145 (grub_cpu_is_tsc_supported): likewise
13146 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 13147
3e325901 131482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Absolute addressing through constant with Apple's cc
13151
13152 * kern/i386/pc/startup.S: Define necessary constants
13153 and address through it when using ABS with Apple's CC
13154 * boot/i386/pc/diskboot.S: likewise
13155 * boot/i386/pc/boot.S: likewise
13156 * boot/i386/pc/lnxboot.S: likewise
13157 * boot/i386/pc/cdboot.S: likewise
13158 * mmap/i386/pc/mmap_helper.S: likewise
13159 * commands/i386/pc/drivemap_int13h.S: likewise
13160
2b167a72 131612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 Check if compiler is apple cc
13164
13165 * Makefile.in (ASFLAGS): new variable
13166 (TARGET_ASFLAGS): likewise
13167 (TARGET_MODULE_FORMAT): likewise
13168 (TARGET_APPLE_CC): likewise
13169 (OBJCONV): likewise
13170 (TARGET_IMG_CFLAGS): likewise
13171 (TARGET_CPPFLAGS): add includedir
13172 * configure.ac: call grub_apple_cc and grub_apple_target_cc
13173 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
13174 Check for linker script only if compiler isn't Apple's CC
13175 (TARGET_MODULE_FORMAT): set
13176 (TARGET_APPLE_CC): likewise
13177 (TARGET_ASFLAGS): likewise
13178 (ASFLAGS): likewise
13179 Check for objcopy only if compiler isn't Apple's CC
13180 Check for BSS symbol only if compiler isn't Apple's CC
13181 * genmk.rb: adapt nm options if we use Apple's utils
13182 * aclocal.m4 (grub_apple_cc): new test
13183 (grub_apple_target_cc): likewise
473d1e45 13184
fb14123e 131852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Simplify sed expressions and improve awk
13188
13189 * Makefile.in (install-local): simplify sed expression
13190 * gencmdlist.sh: likewise
13191 * genmoddep.awk: avoid adding module as a dependency of itself
13192
5b889789 131932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 Add missing start symbols
13196
13197 * boot/i386/pc/boot.S: add start
fb14123e 13198 * boot/i386/pc/pxeboot.S: likewise
473d1e45 13199
fd2bf2e3 132002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 13203
13204 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 13205 (relocate_addresses): consider both r_addend and value at offset
13206 (make_mods_section): zerofill modinfo and header
13207 (convert_elf): write prefix here
473d1e45 13208
5389763d 132092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 Use .asciz instead of .string
13212
13213 * i386/pc/diskboot.S: use .asciz instead of .string
13214 * i386/pc/boot.S: likewise
13215 * include/grub/dl.h (GRUB_MOD_DEP): likewise
13216 (GRUB_MOD_NAME): likewise
473d1e45 13217
3eb5ed4e 132182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 gfxpayload support
13221
13222 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
13223 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
13224 (grub_video_setup): remove
13225 (grub_video_set_mode): new prototype
13226 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
13227 (vid_mode): remove
13228 (linux_vesafb_res): compile only on PCBIOS
13229 (grub_linux_boot): support gfxpayload
13230 * loader/i386/pc/xnu.c (video_hook): new function
13231 (grub_xnu_set_video): support gfxpayload
13232 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
13233 (DEFAULT_VIDEO_HEIGHT): likewise
13234 (DEFAULT_VIDEO_FLAGS): likewise
13235 (DEFAULT_VIDEO_MODE): new definition
13236 (video_hook): new function
13237 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 13238 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 13239 loading xnu
13240 * video/video.c (grub_video_setup): removed
473d1e45 13241 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 13242 grub_video_setup
13243
4b0e1143 132442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 Avoid calling biosdisk in drivemap
13247
13248 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
13249 (revparse_biosdisk): likewise
13250 (list_mappings): derive name from id directly
13251 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 13252
fda6cb98 132532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 Script fixes
13256
13257 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
13258 (grub_lexer_param): add tokenonhold
13259 (grub_script_create_cmdline): remove cmdline. All callers updated
13260 (grub_script_function_create): make functionname
13261 grub_script_arg. All callers updated
13262 (grub_script_execute_argument_to_string): new prototype
13263 * kern/parser.c (state_transitions): reorder
13264 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 13265 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 13266 make global
13267 (grub_script_execute_cmdline): use new format
13268 * script/sh/function.c (grub_script_function_create): make functionname
13269 grub_script_arg. All callers updated
473d1e45 13270 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 13271 (grub_script_yylex): remove
13272 (grub_script_yylex2): renamed to ...
13273 (grub_script_yylex): ...renamed
13274 parse the expressions like a${b}c
13275 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
13276 (GRUB_PARSER_TOKEN_VAR): remove
13277 (GRUB_PARSER_TOKEN_NAME): likewise
13278 ("if"): declare as typeless
13279 ("while"): likewise
13280 ("function"): likewise
13281 ("else"): likewise
13282 ("then"): likewise
13283 ("fi"): likewise
13284 (text): remove
13285 (argument): likewise
13286 (script): accept empty scripts and make exit on error
13287 (arguments): use GRUB_PARSER_TOKEN_ARG
13288 (function): likewise
13289 (command): move error handling to script
13290 (menuentry): move grub_script_lexer_ref before
473d1e45 13291 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 13292 argument. All callers updated
13293
f4448a07 132942009-06-04 Robert Millan <rmh.grub@aybabtu.com>
13295
13296 Prevent GRUB from probing floppies during boot.
13297
13298 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
13299 * commands/search.c (options): Add --no-floppy.
13300 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
13301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
13302 --no-floppy when searching for UUIDs.
13303
2bf5885a 133042009-06-04 Robert Millan <rmh.grub@aybabtu.com>
13305
13306 Simplify the code duplication in commands/search.c.
13307
13308 * commands/search.c (search_label, search_fs_uuid): Merge into ...
13309 (search_fs): ... this. Update all users.
13310
f6fd460a 133112009-06-03 Felix Zielcke <fzielcke@z-51.de>
13312
13313 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
13314
cbb3c83e 133152009-05-28 Pavel Roskin <proski@gnu.org>
13316
57788cfd 13317 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
13318 Remove the original symlink explicitly.
13319
cbb3c83e 13320 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
13321 just one slash. That's how grub_fshelp_find_file() does it.
13322
cd0d5e30 133232009-05-26 Pavel Roskin <proski@gnu.org>
13324
f0f8bbe2 13325 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
13326 to `str'.
13327
cd0d5e30 13328 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
13329 possibly unused.
13330
8c2cab51 133312009-05-25 Christian Franke <franke@computer.org>
13332
13333 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
13334 register.
13335 (grub_atapi_identify): Add wait after drive select.
13336 (grub_ata_identify): Do more strict status register check before
13337 calling grub_atapi_identify (). Suppress error message if status
13338 register is 0x00 after command failure. Add status register
13339 check after PIO read to avoid bogus identify due to stuck DRQ.
13340 Thanks to Pavel Roskin for testing.
13341 (grub_device_initialize): Remove unsafe status register check.
13342 Thanks to 'phcoder' for problem report and patch.
13343 Prevent sign extension in debug message.
13344
230c0ad6 133452009-05-23 Colin D Bennett <colin@gibibit.com>
13346
13347 Cleaned up `include/grub/normal.h'. Grouped prototypes by
13348 definition file, and functions defined in `normal/menu.c' have had
13349 their prototypes moved to `include/grub/menu.h' for consistency.
13350
13351 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
13352 from normal.h.
13353 (grub_menu_get_entry): Likewise.
13354 (grub_menu_get_timeout): Likewise.
13355 (grub_menu_set_timeout): Likewise.
13356 (grub_menu_execute_entry): Likewise.
13357 (grub_menu_execute_with_fallback): Likewise.
13358 (grub_menu_entry_run): Likewise.
13359
13360 * include/grub/normal.h: Re-ordered and grouped function
13361 prototypes by file that the function is defined in.
13362 (grub_menu_execute_callback): Removed; moved to menu.h.
13363 (grub_menu_get_entry): Likewise.
13364 (grub_menu_get_timeout): Likewise.
13365 (grub_menu_set_timeout): Likewise.
13366 (grub_menu_execute_entry): Likewise.
13367 (grub_menu_execute_with_fallback): Likewise.
13368 (grub_menu_entry_run): Likewise.
13369 (grub_menu_addentry): Renamed from this ...
13370 (grub_normal_add_menu_entry): ... to this.
13371
13372 * normal/main.c (grub_menu_addentry): Renamed from this ...
13373 (grub_normal_add_menu_entry): ... to this.
13374
13375 * script/sh/execute.c (grub_script_execute_menuentry): Update
13376 reference to renamed grub_menu_addentry function.
13377
861f03a5 133782009-05-23 Felix Zielcke <fzielcke@z-51.de>
13379
13380 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
13381
96b1619a 133822009-05-22 Pavel Roskin <proski@gnu.org>
13383
bf6a5fb2 13384 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
13385 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
13386 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
13387 compiling for the i386 targets, but not for the utilities.
13388
96b1619a 13389 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
13390 to grub_uint8_t.
13391 (grub_root_drive): Likewise.
13392 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
13393 remove alignment.
13394 (grub_root_drive): Change size to byte.
13395 (grub_start_addr): Remove.
13396 (grub_end_addr): Likewise.
13397 (grub_apm_bios_info): Likewise.
13398
b729776b 133992009-05-21 Felix Zielcke <fzielcke@z-51.de>
13400
13401 * normal/i386: Remove.
13402 * normal/powerpc: Likewise.
13403 * normal/sparc64: Likewise.
13404 * normal/x86_64: Likewise.
13405
0a15ce80 134062009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 13409 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 13410 * loader/i386/xnu_helper.S: Likewise
d6da58e6 13411
33db9015 134122009-05-18 Colin D Bennett <colin@gibibit.com>
13413
d6da58e6 13414 Display error messages when parsing a Lua statement fails.
13415 Previously, executing a syntactically invalid statement like
13416 ")foo" or "bar;" would silently fail.
33db9015 13417
13418 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 13419 (grub_lua_parse_line): Improved reporting of Lua parser and
13420 execution errors.
33db9015 13421
46422c89 134222009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 Remove -Werror which causes build to fail on some systems
13425
13426 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
13427 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
13428 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 13429
22f53a96 134302009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 trampoline for linux on 64-bit platform
13433
18f547ad 13434 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
13435 loader/i386/efi/linux_trampoline.S
13436 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 13437 declaration
d6da58e6 13438 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
13439 here
22f53a96 13440 * loader/i386/linux_trampoline.S: moved here
d6da58e6 13441 * loader/i386/efi/linux.c (allocate_pages): reserve space for
13442 trampoline
22f53a96 13443 (jumpvector): removed
13444 (grub_linux_trampoline_start): new declaration
13445 (grub_linux_trampoline_end): likewise
13446 (grub_linux_boot): use trampoline when on 64-bit platform
13447 * loader/i386/linux.c: likewise
13448
cb5a0f40 134492009-05-16 Pavel Roskin <proski@gnu.org>
13450
13451 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
13452 const to avoid a warning.
13453 (grub_lua_setenv): Likewise.
13454 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
13455 lmsg to fix a warning.
13456
334f2c28 134572009-05-16 Felix Zielcke <fzielcke@z-51.de>
13458
13459 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 13460 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
13461 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
13462 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
13463 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
13464 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
13465 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
13466 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 13467
59e5d3ec 134682009-05-16 Felix Zielcke <fzielcke@z-51.de>
13469
13470 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
13471
9d87a1ba 134722009-05-16 Bean <bean123ch@gmail.com>
13473
13474 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
13475 (lua_mod_SOURCES): New variable.
13476 (lua_mod_CFLAGS): Likewise.
13477 (lua_mod_LDFLAGS): Likewise.
13478
13479 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
13480 (setjmp_mod_SOURCES): New variable.
13481 (setjmp_mod_CFLAGS): Likewise.
13482 (setjmp_LDFLAGS): Likewise.
13483
13484 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
13485 (setjmp_mod_SOURCES): New variable.
13486 (setjmp_mod_CFLAGS): Likewise.
13487 (setjmp_LDFLAGS): Likewise.
13488
13489 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
13490 (setjmp_mod_SOURCES): New variable.
13491 (setjmp_mod_CFLAGS): Likewise.
13492 (setjmp_LDFLAGS): Likewise.
13493
13494 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
13495 (setjmp_mod_SOURCES): New variable.
13496 (setjmp_mod_CFLAGS): Likewise.
13497 (setjmp_LDFLAGS): Likewise.
13498
13499 * normal/i386/setjmp.S: Moved from here ...
13500 * lib/i386/setjmp.S: ... Moved here
13501 * normal/x86_64/setjmp.S: Moved from here ...
13502 * lib/x86_64/setjmp.S: ... Moved here
13503 * normal/powerpc/setjmp.S: Moved from here ...
13504 * lib/powerpc/setjmp.S: ... Moved here
13505 * normal/sparc64/setjmp.S: Moved from here ...
13506 * lib/sparc64/setjmp.S: ... Moved here
13507
13508 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
13509 returns_twice in mingw.
13510
13511 * script/lua/grub_lib.c: New file.
13512 * script/lua/grub_lib.h: Likewise.
13513 * script/lua/grub_lua.h: Likewise.
13514 * script/lua/grub_main.c: Likewise.
13515 * script/lua/lapi.c: Likewise.
13516 * script/lua/lapi.h: Likewise.
13517 * script/lua/lauxlib.c: Likewise.
13518 * script/lua/lauxlib.h: Likewise.
13519 * script/lua/lbaselib.c: Likewise.
13520 * script/lua/lcode.c: Likewise.
13521 * script/lua/lcode.h: Likewise.
13522 * script/lua/ldblib.c: Likewise.
13523 * script/lua/ldebug.c: Likewise.
13524 * script/lua/ldebug.h: Likewise.
13525 * script/lua/ldo.c: Likewise.
13526 * script/lua/ldo.h: Likewise.
13527 * script/lua/ldump.c: Likewise.
13528 * script/lua/lfunc.c: Likewise.
13529 * script/lua/lfunc.h: Likewise.
13530 * script/lua/lgc.c: Likewise.
13531 * script/lua/lgc.h: Likewise.
13532 * script/lua/linit.c: Likewise.
13533 * script/lua/liolib.c: Likewise.
13534 * script/lua/llex.c: Likewise.
13535 * script/lua/llex.h: Likewise.
13536 * script/lua/llimits.h: Likewise.
13537 * script/lua/lmathlib.c: Likewise.
13538 * script/lua/lmem.c: Likewise.
13539 * script/lua/lmem.h: Likewise.
13540 * script/lua/loadlib.c: Likewise.
13541 * script/lua/lobject.c: Likewise.
13542 * script/lua/lobject.h: Likewise.
13543 * script/lua/lopcodes.c: Likewise.
13544 * script/lua/lopcodes.h: Likewise.
13545 * script/lua/loslib.c: Likewise.
13546 * script/lua/lparser.c: Likewise.
13547 * script/lua/lparser.h: Likewise.
13548 * script/lua/lstate.c: Likewise.
13549 * script/lua/lstate.h: Likewise.
13550 * script/lua/lstring.c: Likewise.
13551 * script/lua/lstring.h: Likewise.
13552 * script/lua/lstrlib.c: Likewise.
13553 * script/lua/ltable.c: Likewise.
13554 * script/lua/ltable.h: Likewise.
13555 * script/lua/ltablib.c: Likewise.
13556 * script/lua/ltm.c: Likewise.
13557 * script/lua/ltm.h: Likewise.
13558 * script/lua/lua.h: Likewise.
13559 * script/lua/luaconf.h: Likewise.
13560 * script/lua/lualib.h: Likewise.
13561 * script/lua/lundump.c: Likewise.
13562 * script/lua/lundump.h: Likewise.
13563 * script/lua/lvm.c: Likewise.
13564 * script/lua/lvm.h: Likewise.
13565 * script/lua/lzio.c: Likewise.
13566 * script/lua/lzio.h: Likewise.
13567
5e898c9d 135682009-05-16 Bean <bean123ch@gmail.com>
13569
13570 * include/grub/kernel.h (grub_module_header_types): Add type
13571 OBJ_TYPE_CONFIG.
13572
13573 * kern/main.c (grub_load_config): New function.
13574 (grub_main): Call grub_load_config to read boot config.
13575
13576 * grub-mkimage (generate_image): New parameter config_path.
13577 (options): New option --config.
13578 (main): Parse --config option, and pass it to generate_image.
13579
cf353a47 135802009-05-14 Christian Franke <franke@computer.org>
13581
13582 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
13583 This fixes build on Cygwin.
13584
3834887f 135852009-05-14 Pavel Roskin <proski@gnu.org>
13586
13587 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
13588 jump. This saves two bytes, so the typical case of 2 swapped
13589 drives would fit 32 bytes.
13590
8090fc01 135912009-05-13 Pavel Roskin <proski@gnu.org>
13592
ac963883 13593 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
13594 grub_uint32_t to avoid a warning.
13595
8090fc01 13596 * loader/i386/linux.c (allocate_pages): When assigning
13597 real_mode_mem, cast through grub_size_t to fix a warning. The
13598 code already makes sure that the value would fit a pointer.
13599 (grub_linux_setup_video): Cast render_target->data to
13600 grub_size_t to fix a warning.
13601
18f547ad 136022009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 13603
13604 * commands/i386/pc/drivemap.c: New file - implement drivemap
13605 command.
13606 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
13607 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
13608
6f6a8b28 136092009-05-13 Pavel Roskin <proski@gnu.org>
13610
13611 * util/i386/pc/grub-setup.c (setup): Remove unused variable
13612 embedding_area_exists.
13613
15fbf4c4 136142009-05-13 Robert Millan <rmh.grub@aybabtu.com>
13615
13616 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
13617 it easier to understand / work with.
59978c8a 13618 Improve warning messages for cases where there's no embedding area,
13619 or when it is too small (or core.img too large).
15fbf4c4 13620
238e871f 136212009-05-13 Pavel Roskin <proski@gnu.org>
13622
0ab3a9a4 13623 * loader/i386/pc/multiboot2.c: Add necessary includes for
13624 grub_multiboot2_real_boot().
13625
a2c8c5f8 13626 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
13627 PX record is always little-endian. We only need the lower 2
13628 bytes of the mode.
13629
faec96af 13630 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
13631 facilitate code reuse.
13632 (grub_cpio_mount): Use "struct head", not a char buffer. This
13633 fixes a warning reported by gcc 4.4.
13634
238e871f 13635 * kernel/disk.c (grub_disk_read): Use void pointer for the
13636 buffer.
13637 (grub_disk_write): Use const void pointer for the buffer.
13638 Adjust all callers. Remove unnecessary casts.
13639
901d2f0c 136402009-05-10 Robert Millan <rmh.grub@aybabtu.com>
13641
13642 * util/i386/pc/grub-install.in: Update copyright year.
13643
18f547ad 136442009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 13645
13646 gptsync
13647
13648 * commands/gptsync.c: new file
13649 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
13650 (gptsync_mod_SOURCES): new variable
13651 (gptsync_mod_CFLAGS): likewise
13652 (gptsync_mod_LDFLAGS): likewise
18f547ad 13653 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 13654 new definition
13655 (GRUB_PC_PARTITION_TYPE_HFS): likewise
13656 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
13657 * conf/i386-ieee1275.rmk: likewise
13658 * conf/i386-pc.rmk: likewise
13659 * conf/powerpc-ieee1275.rmk: likewise
13660
b4ba690a 136612009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 Fixed grub-emu
13664
13665 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
13666 (grub_dl_ref): likewise
13667
317e1a44 136682009-05-08 Robert Millan <rmh.grub@aybabtu.com>
13669
13670 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
13671 split in two functions (one for msdos and one for gpt).
13672
041b8094 136732009-05-08 Pavel Roskin <proski@gnu.org>
13674
752473c2 13675 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
13676 not modified.
13677
041b8094 13678 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
13679 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
13680 Initialize them with -1. Add sanity check for bad1. Eliminate
13681 nerr variable.
13682
172800ce 136832009-05-08 David S. Miller <davem@davemloft.net>
13684
13685 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
13686
29aa5e81 136872009-05-06 Robert Millan <rmh.grub@aybabtu.com>
13688
13689 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 13690 existence.
29aa5e81 13691
96613b62 136922009-05-05 Felix Zielcke <fzielcke@z-51.de>
13693
13694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 13695 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 13696
eef73c8a 136972009-05-05 David S. Miller <davem@davemloft.net>
13698
13699 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
13700
119494b5 137012009-05-05 Pavel Roskin <proski@gnu.org>
13702
13703 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
13704 of grub_dl_ref() and grub_dl_unref().
13705 * commands/parttool.c: Remove preprocessor conditionals around
13706 grub_dl_ref() and grub_dl_unref().
13707 * fs/affs.c: Likewise.
13708 * fs/afs.c: Likewise.
13709 * fs/cpio.c: Likewise.
13710 * fs/ext2.c: Likewise.
13711 * fs/fat.c: Likewise.
13712 * fs/hfs.c: Likewise.
13713 * fs/hfsplus.c: Likewise.
13714 * fs/iso9660.c: Likewise.
13715 * fs/jfs.c: Likewise.
13716 * fs/minix.c: Likewise.
13717 * fs/ntfs.c: Likewise.
13718 * fs/reiserfs.c: Likewise.
13719 * fs/sfs.c: Likewise.
13720 * fs/udf.c: Likewise.
13721 * fs/ufs.c: Likewise.
13722 * fs/xfs.c: Likewise.
13723 * include/grub/dl.h: Likewise.
13724 * loader/xnu.c: Likewise.
13725
de5fd76e 137262009-05-04 Pavel Roskin <proski@gnu.org>
13727
13728 * commands/acpi.c: Remove unused variable my_mod.
13729 * partmap/amiga.c: Likewise.
13730 * partmap/apple.c: Likewise.
13731 * partmap/gpt.c: Likewise.
13732 * partmap/pc.c: Likewise.
13733 * partmap/sun.c: Likewise.
13734 * term/gfxterm.c: Likewise.
13735 * term/i386/pc/vesafb.c: Likewise.
13736 * term/i386/pc/vga.c: Likewise.
13737
983598ad 137382009-05-04 David S. Miller <davem@davemloft.net>
13739
13740 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
13741 pointer args to grub_ieee1275_get_property().
13742
8aadec43 13743 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
13744
9554b15e 13745 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
13746 devices, and do not traverse down under controller nodes.
13747
67e23c90 13748 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
13749 (grub_ofdisk_open): Use it to un-escape "," characters.
13750 * kern/disk.c (find_part_sep): New.
13751 (grub_disk_open): Use it to find the first non-escaped ','
13752 character in the disk name.
13753 * util/ieee1275/devicemap.c (escape_of_path): New.
13754 (grub_util_emit_devicemap_entry): Use it.
13755 * util/sparc64/ieee1275/grub-install.in: Update script to
13756 strip partition specifiers properly by not triggering on
13757 '\' escaped ',' characters.
13758
74bfdd2f 137592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13760
13761 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
13762 to 0x300.
13763 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
13764 resolutions.
13765 (linux_vesafb_modes): Add a lot of additional modes to the list (based
13766 on documentation from Wikipedia).
13767
4241d2b1 137682009-05-04 Pavel Roskin <proski@gnu.org>
13769
13770 * disk/ata.c: Spelling fixes.
13771 * disk/raid.c: Likewise.
13772 * disk/usbms.c: Likewise.
13773 * disk/dmraid_nvidia.c: Likewise.
13774 * kern/ieee1275/openfw.c: Likewise.
13775 * kern/ieee1275/init.c: Likewise.
13776 * kern/ieee1275/cmain.c: Likewise.
13777 * boot/i386/pc/cdboot.S: Likewise.
13778 * video/readers/png.c: Likewise.
13779 * video/i386/pc/vbe.c: Likewise.
13780 * fs/udf.c: Likewise.
13781 * fs/hfs.c: Likewise.
13782 * fs/reiserfs.c: Likewise.
13783 * efiemu/runtime/efiemu.c: Likewise.
13784 * efiemu/main.c: Likewise.
13785 * efiemu/mm.c: Likewise.
13786 * include/grub/elf.h: Likewise.
13787 * include/grub/xnu.h: Likewise.
13788 * include/grub/usbdesc.h: Likewise.
13789 * include/grub/usb.h: Likewise.
13790 * include/grub/script_sh.h: Likewise.
13791 * include/grub/lib/LzmaEnc.h: Likewise.
13792 * include/grub/efiemu/efiemu.h: Likewise.
13793 * include/grub/command.h: Likewise.
13794 * normal/menu.c: Likewise.
13795 * normal/main.c: Likewise.
13796 * normal/datetime.c: Likewise.
13797 * bus/usb/uhci.c: Likewise.
13798 * mmap/i386/uppermem.c: Likewise.
13799 * mmap/mmap.c: Likewise.
13800 * commands/acpi.c: Likewise.
13801 * commands/test.c: Likewise.
13802 * partmap/apple.c: Likewise.
13803 * font/font.c: Likewise.
13804 * loader/sparc64/ieee1275/linux.c: Likewise.
13805 * loader/macho.c: Likewise.
13806 * loader/i386/bsd_trampoline.S: Likewise.
13807 * loader/i386/bsd.c: Likewise.
13808 * loader/xnu.c: Likewise.
13809 * term/i386/pc/vesafb.c: Likewise.
13810 * term/usb_keyboard.c: Likewise.
13811 * util/resolve.c: Likewise.
13812 * util/getroot.c: Likewise.
13813
0cfc0083 138142009-05-04 Felix Zielcke <fzielcke@z-51.de>
13815
13816 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
13817
7c1d00cd 138182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13819
13820 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
13821 build error.
13822
b01f0548 138232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13824
13825 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
13826 parameter only available on BIOS.
13827
ecc3eb22 138282009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 Removed wrong semicolon in declaration
13831
13832 * grub/misc.h (grub_dprintf): remove semicolon
13833
112972a9 138342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13835
13836 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
13837 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
13838 is done by grub_cmd_linux() now).
13839 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
13840 restore video to text mode.
13841 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
13842 indicates lack of "vga=" parameter. "vga=0" is mapped to
13843 `GRUB_LINUX_VID_MODE_NORMAL'.
13844
afd5c115 138452009-05-04 Felix Zielcke <fzielcke@z-51.de>
13846
13847 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
13848 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
13849 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 13850 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 13851 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
13852 `grub_script.tab.c'.
13853
13854 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13855 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13859
faa517ce 13860 * Makefile.in: Remove duplicated 2008 in Copyright line.
13861
ae0c0bdc 138622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
13863
473d1e45 13864 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 13865 unconditionally.
13866 * include/grub/util/misc.h (grub_util_warn): New declaration.
13867
13868 * util/i386/pc/grub-install.in: Understand --force and pass it down
13869 to grub-setup.
13870
13871 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
13872 down to setup().
13873 (setup): Improve error messages and add warnings when requested to
13874 install in odd layouts. Refuse to install using blocklists unless
13875 --force was set.
13876
18f547ad 138772009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 13878
13879 * disk/raid.c (grub_raid_scan_device): Improve debug message.
13880
6d260daa 138812009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Updated copyright year
13884
13885 * fs/hfsplus.c: updated copyright year
18f547ad 13886
69f853f8 138872009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 HFS+ UUID
13890
18f547ad 13891 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 13892 in the space previously used by unused3
13893 (grub_hfsplus_uuid): new function
13894 (grub_hfsplus_fs): added uuid field
13895
4c402e73 138962009-05-03 Pavel Roskin <proski@gnu.org>
13897
13898 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
13899 suppress warnings. It's no longer needed.
13900 * disk/host.c: Likewise.
13901 * disk/ata_pthru.c: Likewise.
13902 * disk/loopback.c: Likewise.
13903 * hook/datehook.c: Likewise.
13904 * parttool/pcpart.c: Likewise.
13905 * fs/i386/pc/pxe.c: Likewise.
13906 * fs/ntfscomp.c: Likewise.
13907 * efiemu/main.c: Likewise.
13908 * mmap/mmap.c: Likewise.
13909 * commands/crc.c: Likewise.
13910 * commands/hexdump.c: Likewise.
13911 * commands/hdparm.c: Likewise.
13912 * commands/acpi.c: Likewise.
13913 * commands/echo.c: Likewise.
13914 * commands/minicmd.c: Likewise.
13915 * commands/blocklist.c: Likewise.
13916 * commands/memrw.c: Likewise.
13917 * commands/loadenv.c: Likewise.
13918 * commands/usbtest.c: Likewise.
13919 * commands/lsmmap.c: Likewise.
13920 * commands/boot.c: Likewise.
13921 * commands/parttool.c: Likewise.
13922 * commands/configfile.c: Likewise.
13923 * commands/search.c: Likewise.
13924 * commands/ieee1275/suspend.c: Likewise.
13925 * commands/cat.c: Likewise.
13926 * commands/i386/pc/pxecmd.c: Likewise.
13927 * commands/i386/pc/play.c: Likewise.
13928 * commands/i386/pc/halt.c: Likewise.
13929 * commands/i386/pc/vbeinfo.c: Likewise.
13930 * commands/i386/pc/vbetest.c: Likewise.
13931 * commands/lspci.c: Likewise.
13932 * commands/date.c: Likewise.
13933 * commands/handler.c: Likewise.
13934 * commands/ls.c: Likewise.
13935 * commands/test.c: Likewise.
13936 * commands/cmp.c: Likewise.
13937 * commands/efi/loadbios.c: Likewise.
13938 * commands/efi/fixvideo.c: Likewise.
13939 * commands/halt.c: Likewise.
13940 * commands/help.c: Likewise.
13941 * commands/reboot.c: Likewise.
13942 * hello/hello.c: Likewise.
13943 * script/sh/main.c: Likewise.
13944 * loader/xnu.c: Likewise.
13945 * term/terminfo.c: Likewise.
13946 * term/i386/pc/serial.c: Likewise.
13947 * term/usb_keyboard.c: Likewise.
13948
515b5079 139492009-05-03 David S. Miller <davem@davemloft.net>
13950
13951 * normal/menu.c: Include grub/parser.h
13952
dfc31a22 139532009-05-03 Pavel Roskin <proski@gnu.org>
13954
2fee74f1 13955 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
13956 not char*.
13957 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
13958 Suggested by Javier Martín <lordhabbit@gmail.com>
13959
dfc31a22 13960 * util/i386/pc/grub-mkrescue.in: Allow for the case when
13961 efiemu??.o doesn't exist.
13962 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
13963 copying.
13964
18f547ad 139652009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 13966
13967 FreeBSD 64-bit support
13968
18f547ad 13969 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 13970 and loader/i386/bsd_trampoline.S
13971 (bsd_mod_ASFLAGS): new variable
13972 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
13973 (FREEBSD_MODTYPE_KERNEL64): likewise
13974 (grub_bsd64_trampoline_start): likewise
13975 (grub_bsd64_trampoline_end): likewise
13976 (grub_bsd64_trampoline_selfjump): likewise
13977 (grub_bsd64_trampoline_gdt): likewise
13978 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
13979 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
13980 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
13981 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 13982 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 13983 of "attrib" member
13984 * loader/i386/bsd_pagetable.c: new file
13985 * loader/i386/bsd_trampoline.S: likewise
13986 * loader/i386/bsd.c (ALIGN_QWORD): new macro
13987 (ALIGN_VAR): likewise
13988 (entry_hi): new variable
13989 (kern_end_mdofs): likewise
13990 (is_64bit): likewise
13991 (grub_freebsd_add_meta): use ALIGN_VAR
13992 (grub_e820_mmap): new declaration
13993 (grub_freebsd_add_mmap): new function
13994 (grub_freebsd_add_meta_module): support 64 bit kernels
13995 (grub_freebsd_list_modules): use ALIGN_VAR
13996 (gdt_descriptor): new declaration
13997 (grub_freebsd_boot): support 64 bit kernels
13998 (grub_bsd_elf64_hook): new function
13999 (grub_bsd_load_elf): support elf64
14000
038c5720 140012009-05-03 Bean <bean123ch@gmail.com>
14002
14003 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
14004 after we get the result of if statement.
14005
fc45fb58 140062009-05-03 Bean <bean123ch@gmail.com>
14007
14008 * Makefile.in (enable_efiemu): New variable.
14009
14010 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
14011 set.
14012 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
14013 path.
14014 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
14015 path, add -mno-red-zone option.
14016 (efiemu64_s.o): Likewise.
14017 (efiemu64.o): Use macro $^ for source file.
14018
14019 * configure.ac (--enable-efiemu): New option.
14020
bbee0f2b 140212009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 xnu support
14024
14025 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
14026 (pkglib_MODULES): add xnu.mod
14027 (xnu_mod_SOURCES): new variable
14028 (xnu_mod_CFLAGS): likewise
14029 (xnu_mod_LDFLAGS): likewise
14030 (xnu_mod_ASFLAGS): likewise
14031 * conf/i386-pc.rmk: likewise
14032 * conf/x86_64-efi.rmk: likewise
7dd4a573 14033 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 14034 new declaration
14035 * include/grub/i386/macho.h: new file
14036 * include/grub/i386/xnu.h: likewise
14037 * include/grub/macho.h: likewise
14038 * include/grub/machoload.h: likewise
14039 * include/grub/x86_64/macho.h: likewise
14040 * include/grub/x86_64/xnu.h: likewise
14041 * include/grub/xnu.h: likewise
14042 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
14043 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
14044 * loader/i386/efi/xnu.c: new file
14045 * loader/i386/pc/xnu.c: likewise
14046 * loader/i386/xnu.c: likewise
14047 * loader/i386/xnu_helper.S: likewise
14048 * loader/macho.c: likewise
14049 * loader/xnu.c: likewise
14050 * loader/xnu_resume.c: likewise
14051 * util/grub-dumpdevtree: likewise
14052 * include/grub/i386/pit.h: include grub/err.h
14053 (grub_pit_wait): export
14054 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 14055
5caf964d 140562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 Efiemu
7dd4a573 14059
5caf964d 14060 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 14061 _linux_efi, linux_efi.
14062 new files in grub-emu
5caf964d 14063 new targets efiemu32.o and efiemu64.o
14064 * loader/linux_normal_efiemu.c: likewise
14065 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 14066 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 14067 files to copy
14068 * include/grub/autoefi.h: new file
7dd4a573 14069 * include/grub/i386/efiemu.h: likewise
5caf964d 14070 * include/grub/i386/pc/efiemu.h: likewise
14071 * include/grub/efi/api.h: add LL suffix when necessary
14072 new definitions relating to tables
14073 * include/grub/efiemu/efiemu.h: new file
14074 * include/grub/efiemu/runtime.h: likewise
14075 * efiemu/prepare.c: likewise
14076 * efiemu/loadcore_common.c: likewise
14077 * efiemu/loadcore64.c: likewise
14078 * efiemu/runtime/efiemu.sh: likewise
14079 * efiemu/runtime/efiemu.S: likewise
14080 * efiemu/runtime/efiemu.c: likewise
14081 * efiemu/runtime/config.h: likewise
14082 * efiemu/prepare32.c: likewise
14083 * efiemu/main.c: likewise
14084 * efiemu/modules/pnvram.c: likewise
14085 * efiemu/modules/i386: likewise
14086 * efiemu/modules/i386/pc: likewise
14087 * efiemu/modules/acpi.c: likewise
14088 * efiemu/i386/pc/cfgtables.c: likewise
14089 * efiemu/i386/loadcore64.c: likewise
14090 * efiemu/i386/loadcore32.c: likewise
14091 * efiemu/prepare64.c: likewise
14092 * efiemu/loadcore.c: likewise
14093 * efiemu/symbols.c: likewise
14094 * efiemu/mm.c: likewise
14095 * efiemu/loadcore32.c: likewise
7dd4a573 14096
140972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 14098
14099 ACPI spoofing
14100
14101 * commands/acpi.c: new file
14102 * commands/i386/pc/acpi.c: likewise
14103 * commands/efi/acpi.c: likewise
14104 * include/grub/acpi.h: likewise
14105 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
14106 (acpi_mod_SOURCES): new variable
14107 (acpi_mod_CFLAGS): likewise
14108 (acpi_mod_LDFLAGS): likewise
14109 * conf/i386-efi.rmk: likewise
14110 * conf/x86_64-efi.rmk: likewise
14111
7dd4a573 141122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 14113
14114 Missing part from mmap patch
14115
14116 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
14117 (grub_mmap_unregister)
14118 (grub_mmap_free_and_unregister): use grub_mmap_register
14119
7dd4a573 141202009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 14121
14122 Mmap services
14123
14124 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
14125 * loader/i386/linux.c (find_mmap_size): likewise
14126 (allocate_pages): likewise
14127 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
14128 (grub_fill_multiboot_mmap): likewise
14129 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
14130 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
14131 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
14132 (OPENBSD_MMAP_RESERVED): likewise
14133 * include/grub/i386/pc/memory.h: include grub/memory.h
14134 (grub_lower_mem): removed
14135 (grub_upper_mem): likewise
14136 (GRUB_MACHINE_MEMORY_ACPI): new definition
14137 (GRUB_MACHINE_MEMORY_NVS): likewise
14138 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
14139 (GRUB_MACHINE_MEMORY_HOLE): likewise
14140 (grub_machine_mmap_register): likewise
14141 (grub_machine_mmap_unregister): likewise
14142 (grub_machine_get_upper): likewise
14143 (grub_machine_get_lower): likewise
14144 (grub_machine_get_post64): likewise
14145 * include/grub/i386/efi/memory.h: new file
14146 * include/grub/x86_64/efi/memory.h: likewise
14147 * include/grub/efi/memory.h: likewise
14148 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
14149 (mmap_mod_SOURCES): new variable
14150 (mmap_mod_LDFLAGS): likewise
14151 (mmap_mod_ASFLAGS): likewise
14152 * conf/i386-coreboot.rmk: likewise
14153 * conf/i386-ieee1275.rmk: likewise
14154 * conf/i386-efi.rmk: likewise
14155 * conf/x86_64-efi.rmk: likewise
14156 * include/grub/types.h (UINT_TO_PTR): new macro
14157 (PTR_TO_UINT32): likewise
14158 (PTR_TO_UINT64): likewise
14159 * include/grub/memory.h: new file
14160 * mmap/i386/pc/mmap.c: likewise
14161 * mmap/i386/pc/mmap_helper.S: likewise
14162 * mmap/i386/uppermem.c: likewise
14163 * mmap/mmap.c: likewise
14164 * mmap/efi/mmap.c: likewise
7dd4a573 14165 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 14166 grub_upper_mem
14167 * kern/i386/pc/init.c (grub_lower_mem): removed variable
14168 (grub_upper_mem): likewise
14169 (grub_machine_init): don't use grub_upper_mem,
14170 make grub_lower_mem local
14171 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
14172 grub_mmap_iterate and grub_mmap_get_upper
14173 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
14174
d558e6b5 141752009-05-02 Bean <bean123ch@gmail.com>
14176
14177 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
14178 script/sh/parser.y.
14179 (pkglib_MODULES): Add normal.mod and sh.mod.
14180 (normal_SOURCES): New variable.
14181 (normal_mod_CFLAGS): Likewise.
14182 (normal_mod_LDFLAGS): Likewise.
14183 (sh_mod_SOURCES): Likewise.
14184 (sh_mod_CFLAGS): Likewise.
14185 (sh_mod_LDFLAGS): Likewise.
14186
14187 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
14188 script/sh/lexer.c_DEPENDENCIES.
14189 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
14190 kern/rescue_reader.c and kern/rescue_parser.c.
14191 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
14192 (grub_emu_SOURCES): Change source files.
14193 (pkglib_MODULES): Remove normal.mod.
14194 (normal_SOURCES): Removed.
14195 (normal_mod_CFLAGS): Likewise.
14196 (normal_mod_LDFLAGS): Likewise.
14197 * conf/i386-coreboot.rmk: Likewise.
14198 * conf/i386-efi.rmk: Likewise.
14199 * conf/i386-ieee1276.rmk: Likewise.
14200 * conf/powerpc-ieee1275.rmk: Likewise.
14201 * conf/sparc64-ieee1275.rmk: Likewise.
14202 * conf/x86_64-efi.rmk: Likewise.
14203
14204 * include/grub/command.h (grub_command_execute): New inline function.
14205
14206 * include/grub/menu.h (grub_menu_entry): Removed commands field.
14207
14208 * include/grub/normal.h: Remove <grub/setjmp.h>.
14209 (grub_fs_module_list): Moved to normal/autofs.c.
14210 (grub_exit_env): Removed.
14211 (grub_command_execute): Likewise.
14212 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
14213 parameter script.
14214 (read_command_list): New function declaration.
14215 (read_fs_list): Likewise.
14216
14217 * include/parser.h: Include <grub/reader.h>.
14218 (grub_parser_split_cmdline): Change type of getline parameter.
14219 (grub_parser): New structure.
14220 (grub_parser_class): New variable.
14221 (grub_parser_execute): New function declaration.
14222 (grub_register_rescue_parser): Likewise.
14223 (grub_parser_register): New inline function.
14224 (grub_parser_unregister): Likewise.
14225 (grub_parser_get_current): Likewise.
14226 (grub_parser_set_current): Likewise.
14227
14228 * include/grub/reader.h: New file.
14229 * kern/reader.c: Likewise.
14230 * kern/rescue_parser.c: Likewise.
14231 * kern/rescue_reader.c: Likewise.
14232 * normal/autofs.c: Likewise.
14233 * normal/dyncmd.c: Likewise.
14234
14235 * include/grub/rescue.h: Removed.
14236 * normal/command.h: Likewise.
14237
14238 * include/grub/script.h: Moved to ...
14239 * include/grub/script_sh.h: ... Moved here.
14240 * normal/execute.c: Moved to ...
14241 * script/sh/execute.c: ... Moved here.
14242 * normal/function.c: Moved to ...
14243 * script/sh/function.c: ... Moved here.
14244 * normal/lexer.c: Moved to ...
14245 * script/sh/lexer.c: ... Moved here.
14246 * normal/parser.y: Moved to ...
14247 * script/sh/parser.y: ... Moved here.
14248 * normal/script.c: Moved to ...
14249 * script/sh/script.c: ... Moved here.
14250
14251 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
14252 <grub/reader.h>.
14253 (grub_exit_env): Removed.
14254 (fs_module_list): Moved to normal/autofs.c.
14255 (grub_file_getline): Don't handle comment here.
14256 (free_menu): Skip removed field entry->commands.
14257 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
14258 script parameter.
14259 (read_config_file): Removed nested parameter, change getline function.
14260 (grub_enter_normal_mode): Removed.
14261 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
14262 (read_command_list): Likewise.
14263 (autoload_fs_module): Moved to normal/autofs.c.
14264 (read_fs_list): Likewise.
14265 (reader_nested): New variable.
14266 (grub_normal_execute): Run parser.sh to switch to sh parser.
14267 (grub_cmd_rescue): Removed.
14268 (cmd_normal): Removed.
14269 (grub_cmd_normal): Unregister itself at the beginning. Don't register
14270 rescue command.
14271 (grub_cmdline_run): New function.
14272 (grub_normal_reader_init): Likewise.
14273 (grub_normal_read_line): Likewise.
14274 (grub_env_write_pager): Likewise.
14275 (cmdline): New variable.
14276 (grub_normal_reader): Likewise.
14277 (GRUB_MOD_INIT): Register normal reader and set as current, register
14278 pager hook, register normal command with grub_register_command_prio,
14279 so that it won't show up in command.lst.
14280 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
14281 grub_fs_autoload_hook.
14282
14283 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
14284 (grub_menu_execute_entry): Replace grub_script_execute with
14285 grub_parser_execute, change parameter to grub_command_execute.
14286
14287 * normal/menu_text.c: Remove <grub/script.h>.
14288
14289 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
14290 and <grub/parser.h>.
14291 (run): Change editor_getline to use new parser interface. Change
14292 parameter to grub_command_execute.
14293
14294 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
14295 <grub/reader.h> and <grub/parser.h>.
14296 (grub_load_normal_mode): Execute normal command.
14297 (grub_main): Call grub_register_core_commands,
14298 grub_register_rescue_parser and grub_register_rescue_reader, use
14299 grub_reader_loop to enter input loop.
14300
7dd4a573 14301 * kern/parser.c (grub_parser_split_cmdline): Change type of
14302 getline parameter.
d558e6b5 14303 (grub_parser_class): New variable.
14304 (grub_parser_execute): New function.
14305
14306 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
14307 * loader/multiboot2.c: Likewise.
14308 * loader/sparc64/ieee1275/linux.c: Likewise.
14309
14310 * util/grub-emu.c (read_command_list): New dummy function.
14311
18db813d 143122009-05-02 Robert Millan <rmh.grub@aybabtu.com>
14313
14314 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
14315 count to 16 for CCISS and IDA.
14316
6c67de15 143172009-05-02 Robert Millan <rmh.grub@aybabtu.com>
14318
14319 * normal/menu_text.c (grub_wait_after_message): Print a newline
14320 after waiting for user input.
14321
14322 * loader/i386/linux.c: Include `<grub/normal.h>'.
14323 (grub_cmd_linux): Improve the error message about `ask' mode, by
14324 waiting for user input so it's not missed (we can do this, since
14325 user requested interaction).
14326
d9dc87b0 143272009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Added missing lst to grub-mkrescue
14330
14331 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
14332 and ${input_dir}/parttool.lst
14333
ac8a2baa 143342009-04-30 David S. Miller <davem@davemloft.net>
14335
ad22a610 14336 * util/hostdisk.c (device_is_wholedisk): New function.
14337 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
14338 zero only if device_is_wholedisk() returns true.
14339
6966215d 14340 * util/hostdisk.c (convert_system_partition_to_system_disk):
14341 Handle virtual disk devices named /dev/vdiskX as found on sparc
14342 and powerpc.
14343
ac8a2baa 14344 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
14345 lettered partition specifier is found, convert to numbered.
14346
979b4fb4 143472009-04-29 David S. Miller <davem@davemloft.net>
14348
e2bf39b2 14349 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
14350 * include/grub/sparc64/ieee1275/memory.h: Likewise.
14351
3c64e104 14352 * normal/command.c: Add missing newline at end of file.
14353
979b4fb4 14354 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
14355 warnings.
14356 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
14357 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
14358 grub_ofdisk_read): Likewise, and deal similarly with the fact that
14359 ihandles have a 32-bit type but need to be stored in a "void *".
14360
136d9f82 143612009-04-28 Pavel Roskin <proski@gnu.org>
14362
9459c306 14363 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
14364 not disk. Adjust all dependencies.
2e08a26a 14365 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 14366 grub_disk_close().
14367
136d9f82 14368 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
14369 parent's partition, don't copy it by reference, as it gets freed
14370 on close.
14371
7dd4a573 143722009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 14373
14374 Preboot hooks support
14375
14376 * commands/boot.c (struct grub_preboot_t): new declaration
14377 (preboots_head): new variable
14378 (preboots_tail): likewise
14379 (grub_loader_register_preboot_hook): new function
14380 (grub_loader_unregister_preboot_hook): likewise
14381 (grub_loader_set): launch preboot hooks
14382 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
14383 (grub_loader_register_preboot_hook): new declaration
14384 (grub_loader_unregister_preboot_hook): likewise
14385
5af922b5 143862009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Warning fix
14389
7dd4a573 14390 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 14391 calling grub_dprintf
14392
a5562c30 143932009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
14394
14395 Bug and warning fixes
14396
7dd4a573 14397 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 14398 declaration
14399 * commands/test.c (test_parse): fixed bug with file tests and corrected
14400 declaration of find_file
14401
4006f85c 144022009-04-26 Pavel Roskin <proski@gnu.org>
14403
14404 * Makefile.in: Don't install empty manual pages if help2man is
14405 missing. Use help2man option for output, not shell redirection.
14406
5c77c3de 144072009-04-26 David S. Miller <davem@davemloft.net>
14408
14409 * util/grub-mkdevicemap.c (make_device_map): Add missing
14410 NESTED_FUNC_ATTR to process_device().
14411
033b10a8 144122009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 Test command
14415
14416 * commands/test.c: rewritten to use bash-like test
14417
e4343593 144182009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 Parttool autoloading and improvements
14421
7dd4a573 14422 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 14423 (parttool.lst): new target
14424 * genmk.rb: generate parttool-*
14425 (CLEANFILES): add #{parttool}
14426 (PARTTOOLFILES): new variable
14427 * genparttoollist.sh: new file
7dd4a573 14428 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 14429 (grub_pcpart_type): likewise
14430 * commands/parttool.c (helpmsg): new variable
14431 (grub_cmd_parttool): output help if not enough arguments are supplied
14432 autoload modules
14433 (GRUB_MOD_INIT(parttool)): use helpmsg
14434
0d312500 144352009-04-24 David S. Miller <davem@davemloft.net>
14436
7dd4a573 14437 Avoiding opening same device multiple times in device iterator.
0d312500 14438
14439 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 14440 and use it to build a list of partitions in iterate_disk() and
0d312500 14441 iterate_partition().
14442
ac20caff 14443 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
14444 on disk->data.
14445
0dcf7495 14446 * disk/ieee1275/nand.c (grub_nand_iterate): Return
14447 grub_devalias_iterate() result instead of unconditional 0.
14448 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
14449 Also, capture hook return value, either directly or via
14450 grub_children_iterate(), and propagate to caller.
14451 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
14452 grub_children_iterate): Return value is now 'int' instead of
14453 'grub_err_t'.
14454 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
14455 like a proper iterator, stopping when hooks return non-zero.
14456 (grub_devalias_iterate): Likewise.
14457
c8c08833 144582009-04-23 David S. Miller <davem@davemloft.net>
14459
14460 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
14461
f01005a8 144622009-04-22 David S. Miller <davem@davemloft.net>
14463
14464 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
14465 is larger than address_cells, use that value for address_cells too.
14466
4e8269da 14467 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
14468 IEEE1275_MAX_PATH_LEN): Define.
14469 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
14470 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
14471 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
14472 'devtype'. Explicitly NULL terminate devalias expansion.
14473
a1447506 14474 * util/sparc64/ieee1275/misc.c: New file.
14475 * util/sparc64/ieee1275/grub-setup.c: New file.
14476 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
14477 * util/sparc64/ieee1275/grub-mkimage.c: New file.
14478 * util/sparc64/ieee1275/grub-install.in: New file.
14479 * util/ieee1275/ofpath.c: New file.
14480 * util/ieee1275/devicemap.c: New file.
14481 * util/devicemap.c: New file.
14482 * util/deviceiter.c: New file.
14483 * kern/sparc64/ieee1275/init.c: New file.
14484 * include/grub/util/ofpath.h: New file.
14485 * include/grub/util/deviceiter.h: New file.
14486 * util/grub-mkdevicemap.c: Include deviceiter.h.
14487 Implement using grub_util_emit_devicemap_entry and
14488 grub_util_iterate_devices.
14489 * conf/i386-corebook.rmk: Build util/deviceiter.c and
14490 util/devicemap.c into grub-mkdevicemap
14491 * conf/i386-efi.rmk: Likewise.
14492 * conf/i386-ieee1275.rmk: Likewise.
14493 * conf/i386-pc.rmk: Likewise.
14494 * conf/powerpc-ieee1275.rmk: Likewise.
14495 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
14496 images and installation utilities. Build kernel as image
14497 instead of as elf binary. Use common rules as much as possible.
14498
7dd4a573 144992009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 14500
14501 Correct GPT definition
14502
7dd4a573 14503 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 14504 of "attrib" member
14505
c6c5219f 145062009-04-19 Felix Zielcke <fzielcke@z-51.de>
14507
14508 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
14509
0552ff9f 145102009-04-19 David S. Miller <davem@davemloft.net>
14511
14512 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
14513 (grub_rescue_cmd_linux): Rename to...
14514 (grub_cmd_linux): and fix prototype.
14515 (grub_rescue_cmd_initrd): Rename to...
14516 (grub_cmd_initrd): and fix prototype.
14517 (cmd_linux, cmd_initrd): New.
14518 (GRUB_MOD_INIT(linux)): Use grub_register_command().
14519 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
14520
d1a282fc 145212009-04-17 Pavel Roskin <proski@gnu.org>
14522
07c5039f 14523 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
14524 format.
14525 (grub_ohci_transfer): Likewise.
14526
b012002d 14527 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
14528
1bc09c35 14529 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
14530 return without a value. Fix inconsistent indentation.
14531
e0ff9126 14532 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
14533 match struct grub_fs.
14534
d1a282fc 14535 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
14536 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
14537 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
14538 * commands/lspci.c (grub_lspci_iter): Likewise.
14539
a96df3f2 145402009-04-16 Bean <bean123ch@gmail.com>
14541
14542 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
14543 value.
14544
41bb0fe9 145452009-04-15 Pavel Roskin <proski@gnu.org>
14546
14547 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
14548 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
14549 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
14550 definitions.
14551
596c6970 145522009-04-15 Felix Zielcke <fzielcke@z-51.de>
14553
14554 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 14555 that no multiple data or metadata areas are supported and `Unknown
596c6970 14556 metadata header'.
14557
7dd4a573 145582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 14559
14560 Move loader out of the kernel
14561
14562 * kern/loader.c: moved to ...
14563 * commands/boot.c: ... moved here
14564 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
14565 * commands/boot.c (grub_cmd_boot): moved here. All users updated
14566 * include/grub/kernel.h (grub_machine_fini): export
14567 * include/grub/loader.h (grub_loader_is_loaded): update declaration
14568 (grub_loader_set): likewise
14569 (grub_loader_unset): likewise
14570 (grub_loader_boot): likewise
14571 * conf/common.rmk: new module boot.mod
14572 (pkglib_MODULES): add boot.mod
14573 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
14574 (grub_emu_SOURCES): likewise
14575 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
14576 (grub_emu_SOURCES): likewise
14577 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
14578 (grub_emu_SOURCES): likewise
14579 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
14580 (grub_emu_SOURCES): likewise
14581 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
14582 (grub_emu_SOURCES): likewise
7dd4a573 14583 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
14584 (grub_emu_SOURCES): likewise
0d5d5653 14585 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 14586 (grub_emu_SOURCES): likewise
0d5d5653 14587
7dd4a573 145882009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 14589
14590 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 14591
5999d619 14592 * kern/misc.c (grub_itoa): Removed function
14593 (grub_ltoa): likewise
14594 (grub_vsprintf): use grub_lltoa
14595
7dd4a573 145962009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 14597
14598 Restore grub-emu
14599
14600 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
14601 * conf/i386-coreboot.rmk: likewise
14602 * conf/i386-ieee1275.rmk: likewise
14603 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 14604
20318222 146052009-04-15 Felix Zielcke <fzielcke@z-51.de>
14606
14607 * INSTALL: Add that `./autogen.sh' needs to be run before
14608 `./configure.'.
14609
d05f0df3 146102009-04-14 Bean <bean123ch@gmail.com>
14611
14612 * Makefile.in (pkglib_DATA): Add handler.lst.
14613 (handler.lst): New rule.
14614
14615 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
14616 * conf/i386-coreboot.rmk: Likewise.
14617 * conf/i386-ieee1275.rmk: Likewise.
14618 * conf/i386-efi.rmk: Likewise.
14619 * conf/x86_64-efi.rmk: Likewise.
14620 * conf/powerpc-ieee1275.rmk: Likewise.
14621 * conf/sparc64-ieee1275.rmk: Likewise.
14622
14623 * genhandlerlist.sh: New file.
14624
14625 * genmk.rb: Add rules to generate handler.lst.
14626
14627 * include/grub/normal.h (grub_file_getline): New function definition.
14628 (read_handler_list): Likewise.
14629 (free_handler_list): Likewise.
14630
14631 * include/grub/term.h (grub_term_register_input): Add name parameter
14632 for auto generation of handler.lst.
14633 (grub_term_register_output): Likewise.
14634
14635 * normal/handler.c: New file.
14636
14637 * normal/main.c (get_line): Renamed to grub_file_getline.
14638 (read_config_file): Use the newly renamed grub_file_getline.
14639 (read_command_list): Likewise.
14640 (read_fs_list): Likewise.
14641 (grub_normal_execute): Call read_handler_list to parse handler.lst.
14642 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
14643
14644 * term/efi/console.c (grub_console_init): Add name parameter for auto
14645 generation of handler.lst.
14646 * term/gfxterm.c: Likewise.
14647 * term/i386/pc/at_keyboard.c: Likewise.
14648 * term/i386/pc/console.c: Likewise.
14649 * term/i386/pc/serial.c: Likewise.
14650 * term/i386/pc/vesafb.c: Likewise.
14651 * term/i386/pc/vga.c: Likewise.
14652 * term/i386/pc/vga_text.c: Likewise.
14653 * term/ieee1275/ofconsole.c: Likewise.
14654 * term/usb_keyboard.c: Likewise.
14655
33c846be 146562009-04-14 Bean <bean123ch@gmail.com>
14657
14658 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
14659 properly with null character.
14660
4484e01e 146612009-04-14 Felix Zielcke <fzielcke@z-51.de>
14662
14663 * configure: Remove.
14664 * config.h.in: Likewise.
f93d668e 14665 * stamp-h.in: Likewise.
4484e01e 14666 * DISTLIST: Likewise.
14667 * conf/common.mk: Likewise.
14668 * conf/i386-coreboot.mk: Likewise.
14669 * conf/i386-efi.mk: Likewise.
14670 * conf/i386-ieee1275.mk: Likewise.
14671 * conf/i386.mk: Likewise.
14672 * conf/i386-pc.mk: Likewise.
14673 * conf/powerpc-ieee1275.mk: Likewise.
14674 * conf/sparc64-ieee1275.mk: Likewise.
14675 * conf/x86_64-efi.mk: Likewise.
14676
14677 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
14678 develop on GRUB.
14679
7dd4a573 146802009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 14681 David S. Miller <davem@davemloft.net>
14682
14683 * util/hostdisk.c (make_device_name): Fix buffer length
14684 calculations.
14685
e25b5a8c 146862009-04-14 Felix Zielcke <fzielcke@z-51.de>
14687
14688 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
14689 <sys/param.h> and <sys/sysctl.h>.
14690 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
14691 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
14692 opening the device and reset them afterwards.
14693
1f1f580c 146942009-04-13 Pavel Roskin <proski@gnu.org>
14695
14696 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
14697 Reported by John Stanley <jpsinthemix@verizon.net>
14698
7ebc2d6b 146992009-04-13 Robert Millan <rmh@aybabtu.com>
14700
14701 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 14702 that name for menuentries when appropriate.
7ebc2d6b 14703
d8ba3667 147042009-04-13 Felix Zielcke <fzielcke@z-51.de>
14705
14706 * util/grub.d/10_freebsd.in: Add a missing `fi'.
14707
cba416eb 147082009-04-13 Robert Millan <rmh@aybabtu.com>
14709
14710 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
14711 to Linux, simply abort telling the user it's no longer supported.
14712
a547a745 147132009-04-13 Felix Zielcke <fzielcke@z-51.de>
14714
14715 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 14716 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 14717 `freebsd_loadenv' only when devices.hints exist.
14718
232a769c 147192009-04-13 Pavel Roskin <proski@gnu.org>
14720
14721 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
14722
c3012039 147232009-04-13 Felix Zielcke <fzielcke@z-51.de>
14724
14725 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
14726 partition number.
14727 (grub_drive): Likewise.
14728
234022fe 147292009-04-13 David S. Miller <davem@davemloft.net>
14730
14731 * kern/sparc64/ieee1275/ieee1275.c: New file.
14732 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
14733 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
14734 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
14735 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
14736 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
14737 grub_ieee1275_alloc_physmem): Declare new exported functions.
14738
d8e1836c 14739 * include/grub/sparc64/ieee1275/loader.h: New file.
14740 * include/grub/sparc64/ieee1275/memory.h: Likewise.
14741 * include/grub/sparc64/kernel.h: Likewise.
14742 * loader/sparc64/ieee1275/linux.c: Likewise.
14743
96bd81ec 14744 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
14745 (grub_fstest_SOURCES): Likewise.
14746
6a4737e5 14747 * util/hostdisk.c (make_device_name): Do not make any assumptions
14748 about the length of drive names.
14749
1d7a72fd 14750 * kern/dl.c (grub_dl_load_file): Close file immediately when
14751 we are done using it.
14752
56bc2471 147532009-04-12 David S. Miller <davem@davemloft.net>
14754
14755 * kern/misc.c (grub_ltoa): Fix cast when handling negative
14756 values. Noticed by Pavel Roskin.
14757
df38d0bb 14758 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
14759 target compiler.
7dd4a573 14760
e382e93a 14761 * genmk.rb: Add more flexible image type specification, also
14762 pass --strip-unneeded to objcopy.
14763 * conf/i386-pc.rmk: Use *_FORMAT.
14764 * conf/i386-pc.mk: Rebuilt.
14765
f5dbbca9 14766 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
14767 (OFDISK_HASH_SZ): Define.
14768 (ofdisk_hash): New hash table.
14769 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
14770 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
14771 instead of device phandle which is not unique.
14772
91c88b12 14773 * kern/sparc64/ieee1275/init.c: Delete, replace with...
14774 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
14775 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
14776 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
14777 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
14778 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
14779 GRUB_KERNEL_MACHINE_DATA_END): Define.
14780 (grub_kernel_image_size, grub_total_module_size): Declare.
14781
5b5d4aa5 147822009-04-12 Pavel Roskin <proski@gnu.org>
14783
7dd4a573 14784 * configure.ac: Change the logic when we check for target tools.
14785 Do it when the target is specified and it's different from the
14786 specified value of the host.
5b5d4aa5 14787
c91e1793 147882009-04-11 Felix Zielcke <fzielcke@z-51.de>
14789
14790 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
14791 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
14792 GNU/kFreeBSD. Check if a device is a character device. Use
14793 DIOCGMEDIASIZE to get the size.
14794 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
14795 support for GNU/kFreeBSD.
14796 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
14797 is a character device instead of a block device. Add support for
14798 FreeBSD device names.
14799
14800 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
14801 is a character device instead of a block device.
14802
14803 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
14804 is a character device instead of a block device.
14805
b1ac8644 148062009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
14807
14808 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
14809 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
14810 FreeBSD. Check if a device is a character device. Use
14811 DIOCGMEDIASIZE to get the size.
14812 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
14813 support for FreeBSD.
14814 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
14815 is a character device instead of a block device. Add support for
14816 FreeBSD device names.
14817
14818 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
14819 a character device instead of a block device.
14820 (grub_util_check_char_device): New function.
14821
14822 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
14823 a character device instead of a block device.
14824
14825 * include/grub/util/getroot.h (grub_util_check_char_device): New
14826 prototype.
14827
a3f7515a 148282009-04-11 David S. Miller <davem@davemloft.net>
14829
14830 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
14831 static libgcc.
14832 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
14833 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
14834 function, if present.
14835 (__bswapdi2): Likewise.
14836
0d44993d 14837 * include/grub/sparc64/ieee1275/boot.h: New file.
14838 * boot/sparc64/ieee1275/boot.S: Likewise.
14839 * boot/sparc64/ieee1275/diskboot.S: Likewise.
14840
ed3d2bc2 14841 * kern/misc.c (grub_ltoa): New function.
14842 (grub_vsprintf): Use it to format 'long' integers.
14843
d3bfb59c 148442009-04-10 David S. Miller <davem@davemloft.net>
14845
14846 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
14847 slots are of type grub_ieee1275_cell_t.
14848 (grub_nand_read): Likewise.
14849 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
14850 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
14851 macros are used to compare values in arg/ret block of the call.
14852 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14853 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
14854 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
14855 grub_ieee1275_instance_to_path, grub_ieee1275_write,
14856 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
14857 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
14858 grub_ieee1275_close, grub_ieee1275_set_property,
14859 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
14860 grub_ieee1275_cell_t.
14861 * kern/ieee1275/openfw.c (grub_map): Likewise.
14862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
14863 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
14864
450e2238 14865 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
14866 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14867 (grub_devalias_iterate): Likewise.
14868
7dd4a573 148692009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 14870
14871 UFS improvements
14872
14873 * fs/ufs.c (INODE_NBLOCKS): new definition
14874 (struct grub_ufs_dirent): added fields for non-BSD dirents
14875 (grub_ufs_get_file_block): fixed double indirect handling
14876 (grub_ufs_lookup_symlink): use more robust way to determine whether
14877 symlink is inline
14878 (grub_ufs_find_file): support for non-BSD dirents
14879 (grub_ufs_dir): support for non-BSD dirents
14880
e7e6862a 148812009-04-10 Bean <bean123ch@gnail.com>
14882
14883 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
14884 attribute, otherwise the size would be wrong for i386 platform.
14885
14886 * include/grub/pci.h (grub_pci_read_word): New inline function.
14887 (grub_pci_read_byte): Likewise.
14888 (grub_pci_write): Likewise.
14889 (grub_pci_write_word): Likewise.
14890 (grub_pci_write_byte): Likewise.
14891
14892 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
14893
14894 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
14895 (find_framebuf): Scan pci to locate the frame buffer address.
14896
14897 * commands/efi/fixvideo.c: New file.
14898
14899 * commands/efi/loadbios.c: Likewise.
14900
14901 * commands/memrw.c: Likewise.
14902
14903 * util/grub-dumpbios.in: Likewise.
14904
14905 * conf/common.rmk (grub-dumpbios): New utility.
14906 (pkglib_MODULES): New module memrw.mod.
14907 (memrw_mod_SOURCE): New macro.
14908 (memrw_mod_CFLAGS): Likewise.
14909 (memrw_mod_LDFLAGS): Likewise.
14910
7dd4a573 14911 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14912 fixvideo.mod.
14913 (loadbios_mod_SOURCE): New macro.
14914 (loadbios_mod_CFLAGS): Likewise.
14915 (loadbios_mod_LDFLAGS): Likewise.
14916 (fixvideo_mod_SOURCE): Likewise.
14917 (fixvideo_mod_CFLAGS): Likewise.
14918 (fixvideo_mod_LDFLAGS): Likewise.
14919
7dd4a573 14920 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 14921 fixvideo.mod.
14922 (loadbios_mod_SOURCE): New macro.
14923 (loadbios_mod_CFLAGS): Likewise.
14924 (loadbios_mod_LDFLAGS): Likewise.
14925 (fixvideo_mod_SOURCE): Likewise.
14926 (fixvideo_mod_CFLAGS): Likewise.
14927 (fixvideo_mod_LDFLAGS): Likewise.
14928
af63ada2 149292009-04-08 Felix Zielcke <fzielcke@z-51.de>
14930
14931 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
14932
c2cdde70 149332009-04-07 David S. Miller <davem@davemloft.net>
14934
14935 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
14936 support for R_SPARC_OLO10 relocations. Fix compile warning for
14937 R_SPARC_WDISP30 case.
ea3f72cf 14938 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 14939
761319cf 149402009-04-06 Pavel Roskin <proski@gnu.org>
14941
1007d1f5 14942 * include/grub/misc.h (ARRAY_SIZE): New macro.
14943 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
14944 New macro.
14945 * loader/i386/linux.c (allocate_pages): Use free_pages().
14946 (grub_linux_unload): Don't use free_pages().
14947 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
14948 wrong index. Treat all other modes as text modes.
14949 (grub_cmd_linux): Initialize vid_mode unconditionally to
14950 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
14951
761319cf 14952 * commands/help.c (print_command_help): Use cmd->prio, not
14953 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
14954
ea761d40 149552009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 14956
ea761d40 14957 Parttool
14958
14959 * parttool/pcpart.c: new file
14960 * commands/parttool.c: likewise
14961 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
14962 (parttool_mod_SOURCES): new variable
14963 (parttool_mod_CFLAGS): likewise
14964 (parttool_mod_LDFLAGS): likewise
14965 (pcpart_mod_SOURCES): likewise
14966 (pcpart_mod_CFLAGS): likewise
14967 (pcpart_mod_LDFLAGS): likewise
7dd4a573 14968 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 14969 and parttool/pcpart.c
14970 * conf/i386-efi.rmk: likewise
14971 * conf/i386-ieee1275.rmk: likewise
14972 * conf/i386-pc.rmk: likewise
14973 * conf/powerpc-ieee1275.rmk: likewise
14974 * conf/sparc64-ieee1275.rmk: likewise
14975 * conf/x86_64-ieee1275.rmk: likewise
14976
05aaebfb 149772009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Support for mtime and further expandability of dir command
14980
14981 * include/grub/lib/datetime.h: moved to ...
7dd4a573 14982 * include/grub/datetime.h: ... moved here and added
05aaebfb 14983 declaration of grub_unixtime2datetime. All users updated
7dd4a573 14984 * include/grub/fs.h: new syntax for dir and mtime functions in
14985 struct grub_fs
05aaebfb 14986 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
14987 and GRUB_FSHELP_FLAGS_MASK
14988 * commands/ls.c (grub_ls_list_files): Write mtime in long format
14989 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
14990 (grub_ext2_mtime): new function
14991 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
14992 (grub_hfsplus_mtime): new function
14993 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
14994 (GRUB_UFS_ATTR_FILE): likewise
14995 (GRUB_UFS_ATTR_LNK): likewise
14996 (struct grub_ufs_sblock): new fields mtime
14997 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
14998 all users updated
14999 (grub_ufs_dir): mtime support
15000 (grub_ufs_mtime): new function
15001 * fs/affs.c (grub_affs_dir): use new dir syntax
15002 * fs/afs.c (grub_afs_dir): likewise
15003 * fs/cpio.c (grub_cpio_dir): likewise
15004 * fs/fat.c (grub_fat_find_dir): likewise
15005 * fs/hfs.c (grub_hfs_dir): likewise
15006 * fs/iso9660.c (grub_iso9660_dir): likewise
15007 * fs/jfs.c (grub_jfs_dir): likewise
15008 * fs/minix.c (grub_minix_dir): likewise
15009 * fs/ntfs.c (grub_ntfs_dir): likewise
15010 * fs/reiserfs.c (grub_reiserfs_dir): likewise
15011 * fs/sfs.c (grub_sfs_dir): likewise
15012 * fs/xfs.c (grub_xfs_dir): likewise
15013 * util/hostfs.c (grub_hostfs_dir): likewise
15014 * lib/datetime.c: moved to ...
15015 * normal/datetime.c: ... moved here
15016 (grub_unixtime2datetime): new function
15017 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 15018 * normal/completion.c (iterate_dir): use new dir syntax
15019 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 15020 last modification time of a volume
7dd4a573 15021 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 15022 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 15023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 15024 (normal_mod_SOURCES): likewise
15025 (datetime_mod_SOURCES): Removed lib/datetime.c
15026 * conf/i386-efi.rmk: likewise
7dd4a573 15027 * conf/i386-ieee1275.rmk: likewise
05aaebfb 15028 * conf/i386-pc.rmk: likewise
15029 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 15030 * conf/sparc64-ieee1275.rmk: likewise
15031 * conf/x86_64-efi.rmk: likewise
05aaebfb 15032
8a7e1a14 150332009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 15036
15037 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 15038 on grub_fat_find_dir
15039 (grub_fat_find_dir): use grub_fat_iterate_dir
15040 (grub_fat_label): likewise
15041
04186a9c 150422009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15043
7dd4a573 15044 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 15045 and command.h
15046 remove extraneous kernel_elf_HEADERS
15047
da4c0bb6 150482009-04-04 Bean <bean123ch@gnail.com>
15049
15050 * include/grub/util/misc.h: Add dummy function fsync for mingw.
15051
15052 * util/misc.c: Likewise.
15053
54ad9555 150542009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
15055
15056 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
15057 instead of grub_printf.
15058
7a6bf9f2 150592009-04-03 Robert Millan <rmh@aybabtu.com>
15060
15061 * loader/i386/linux.c (grub_linux_setup_video): Fill
15062 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
15063 values from `mode info' structure instead of hardcoded
15064 values.
15065
3fcc2083 150662009-04-01 Pavel Roskin <proski@gnu.org>
15067
15068 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
15069 unused now.
15070 * genmk.rb: Likewise.
15071 * configure.ac: Likewise.
15072
5ec9740b 150732009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
15074
15075 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
15076 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
15077
5270cec8 150782009-04-01 David S. Miller <davem@davemloft.net>
15079
15080 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 15081 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 15082 (grub_setjmp): Mark with 'returns_twice' attribute.
15083 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
15084 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
15085 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
15086
9c3dd854 150872009-04-01 Robert Millan <rmh@aybabtu.com>
15088
15089 Reapply fix from 2008-07-28 which was accidentally reverted; also
15090 perform the same fix to a similar check in same function.
15091
15092 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15093 with the same number are found, just use issue a warning with
15094 grub_dprintf(), as this error has been reported to be non-fatal.
15095
0d818b7e 150962009-03-31 Pavel Roskin <proski@gnu.org>
15097
15098 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
15099 for cross-compilation.
15100
95646d92 151012009-03-30 Robert Millan <rmh@aybabtu.com>
15102
15103 Fix i386-ieee1275 build.
15104
15105 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
15106 Remove declaration.
15107
6a003ed1 151082009-03-30 Pavel Roskin <proski@gnu.org>
15109
15110 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
15111 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
15112 zero-terminated, rely only on the strlen value. Fix comparison
15113 of strings differing in length.
15114
92f33540 151152009-03-30 Robert Millan <rmh@aybabtu.com>
15116
15117 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
15118 checking for abi version. Improve error messages on BIOS to notify
15119 user about `linux16' command.
15120
a8c48fd5 151212009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15122
f968172e 15123 Leak fixes
a8c48fd5 15124
f968172e 15125 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
15126 in case of collision
15127 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 15128
9c323f09 151292009-03-29 Robert Millan <rmh@aybabtu.com>
15130
15131 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
15132 set `vid_mode' accordingly.
15133 (grub_linux_boot): Process `vid_mode' and set video mode.
15134
ae68f423 151352009-03-29 Robert Millan <rmh@aybabtu.com>
15136
15137 * util/grub.d/10_linux.in (linux_entry): New function.
15138 Factorize generation of Linux boot entries.
15139
5709cfc4 151402009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
15141
15142 Make the format of Environment Block plain text. The boot loader
15143 part is not tested well yet.
7dd4a573 15144
5709cfc4 15145 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
15146 (buffer): Removed.
15147 (envblk): Likewise.
15148 (usage): Remove "info" and "clear". Add "unset". Update the
15149 description of "set", as this does not delete variables any
15150 longer.
15151 (create_envblk_file): Complete rewrite.
15152 (open_envblk_file): Likewise.
15153 (cmd_info): Removed.
15154 (cmd_list): Likewise.
15155 (cmd_set): Likewise.
15156 (cmd_clear): Likewise.
15157 (list_variables): New function.
15158 (write_envblk): Likewise.
15159 (set_variables): Likewise.
15160 (unset_variables): Likewise.
15161 (main): Complete rewrite.
15162
15163 * commands/loadenv.c (buffer): Removed.
15164 (envblk): Likewise.
15165 (open_envblk_file): New function.
15166 (read_envblk_file): Complete rewrite.
15167 (grub_cmd_load_env): Likewise.
15168 (grub_cmd_list_env): Likewise.
15169 (struct blocklist): New struct.
15170 (free_blocklists): New function.
15171 (check_blocklists): Likewise.
15172 (write_blocklists): Likewise.
15173 (grub_cmd_save_env): Complete rewrite.
15174
15175 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
15176 a plain text signature.
15177 (GRUB_ENVBLK_MAXLEN): Removed.
15178 (struct grub_envblk): Complete rewrite.
15179 (grub_envblk_find): Removed.
15180 (grub_envblk_insert): Likewise.
15181 (grub_envblk_open): New prototype.
15182 (grub_envblk_set): Likewise.
15183 (grub_envblk_delete): Put const to VALUE.
15184 (grub_envblk_iterate): Put const to NAME and VALUE.
15185 (grub_envblk_close): New prototype.
15186 (grub_envblk_buffer): New inline function.
15187 (grub_envblk_size): Likewise.
15188
15189 * lib/envblk.c: Include grub/mm.h.
15190 (grub_env_find): Removed.
15191 (grub_envblk_open): New function.
15192 (grub_envblk_close): Likewise.
15193 (escaped_value_len): Likewise.
15194 (find_next_line): Likewise.
15195 (grub_envblk_insert): Removed.
15196 (grub_envblk_set): New function.
15197 (grub_envblk_delete): Complete rewrite.
15198 (grub_envblk_iterate): Likewise.
15199
a9368fd3 152002009-03-28 Robert Millan <rmh@aybabtu.com>
15201
15202 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
15203 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
15204 variables. Use 16-bit loader.
15205 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
15206 loader.
15207 * kern/i386/loader.S (grub_linux_boot): Rename to ...
15208 (grub_linux16_boot): ... this. Update all users.
15209 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
15210 (grub_linux_boot): ... this. Update all users.
15211
15212 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
15213 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
15214 commands to `linux16' and `initrd16'.
15215 (GRUB_MOD_FINI(linux)): Rename to ...
15216 (GRUB_MOD_FINI(linux16)): ... this.
15217
e4dd5a7e 152182009-03-24 Pavel Roskin <proski@gnu.org>
15219
15220 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
15221 not just for compilation.
15222
c04d6e05 152232009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 Move multiboot helper out of kernel
15226
15227 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
15228 `loader/i386/multiboot_helper.S'.
15229 * conf/i386-coreboot.rmk: Likewise
15230 * conf/i386-ieee1275.rmk: Likewise
15231
15232 * kern/i386/loader.S: Move multiboot helpers from here...
15233 * loader/i386/multiboot_helper.S: ...moved here
15234 * include/grub/i386/loader.h: Move declarations of multiboot
15235 helpers from here...
15236 * include/grub/i386/multiboot.h: ...moved here
15237 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
15238
42a5b3fc 152392009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15240
15241 * kern/env.c (grub_env_context_open): Added an argument to specify
15242 whether a new context inherits exported variables from current
15243 one. This is useful when making a sandbox to interpret a config
15244 file.
15245 All callers updated.
15246
15247 * include/grub/env.h (grub_env_context_open): Updated the prototype.
15248
b28bbc4e 152492009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15250
15251 * kern/env.c (grub_env_context_close): Fix memory leaks.
15252
f04f02e4 152532009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15254
15255 * normal/main.c (grub_normal_execute): Added an argument
15256 BATCH to specify if an interactive interface should be provided
15257 after reading a config file.
15258 All callers updated.
15259 (read_command_list): Prevent being executed twice.
15260 (read_fs_list): Likewise.
15261
42a5b3fc 15262 * include/grub/normal.h (grub_normal_execute): Updated the
15263 prototype.
f04f02e4 15264
41473ac2 152652009-03-22 Pavel Roskin <proski@gno.org>
15266
fbc00b0c 15267 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
15268 _start.
15269 * kern/i386/pc/startup.S: Likewise.
15270 * kern/i386/efi/startup.S: Likewise.
15271 * kern/i386/ieee1275/startup.S: Likewise.
15272 * kern/i386/coreboot/startup.S: Likewise.
15273 * kern/x86_64/efi/startup.S: Likewise.
15274
41473ac2 15275 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
15276 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
15277 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
15278
2274cc8f 152792009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 Bugfixes in multiboot for bugs uncovered by solaris kernel.
15282
15283 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
15284 limit detection.
15285 Use vaddr of correct segment for entry_point.
15286
b1b797cb 152872009-03-21 Bean <bean123ch@gmail.com>
15288
15289 * commands/blocklist.c: Add include file <grub/command.h>, remove
15290 <grub/normal.h> and <grub/arg.h>.
15291 (grub_cmd_blocklist): Use the new command interface.
15292 (GRUB_MOD_INIT): Likewise.
15293 (GRUB_MOD_FINI): Likewise.
15294 * commands/boot.c: Likewise.
15295 * commands/cat.c: Likewise.
15296 * commands/cmp.c: Likewise.
15297 * commands/configfile.c: Likewise.
15298 * commands/crc.c: Likewise.
15299 * commands/echo.c: Likewise.
15300 * commands/halt.c: Likewise.
15301 * commands/handler.c: Likewise.
15302 * commands/hdparm.c: Likewise.
15303 * commands/help.c: Likewise.
15304 * commands/hexdump.c: Likewise.
15305 * commands/loadenv.c: Likewise.
15306 * commands/ls.c: Likewise.
15307 * commands/lsmmap.c: Likewise.
15308 * commands/lspci.c: Likewise.
15309 * commands/loadenv.c: Likewise.
15310 * commands/read.c: Likewise.
15311 * commands/reboot.c: Likewise.
15312 * commands/search.c: Likewise.
15313 * commands/sleep.c: Likewise.
15314 * commands/test.c: Likewise.
15315 * commands/usbtest.c: Likewise.
15316 * commands/videotest.c: Likewise.
15317 * commands/i386/cpuid.c: Likewise.
15318 * commands/i386/pc/halt.c: Likewise.
15319 * commands/i386/pc/play.c: Likewise.
15320 * commands/i386/pc/pxecmd.c: Likewise.
15321 * commands/i386/pc/vbeinfo.c: Likewise.
15322 * commands/i386/pc/vbetest.c: Likewise.
15323 * commands/ieee1275/suspend.c: Likewise.
15324 * disk/loopback.c: Likewise.
15325 * font/font_cmd.c: Likewise.
15326 * hello/hello.c: Likewise.
15327 * loader/efi/appleloader.c: Likewise.
15328 * loader/efi/chainloader.c: Likewise.
15329 * loader/i386/bsd.c: Likewise.
15330 * loader/i386/efi/linux.c: Likewise.
15331 * loader/i386/ieee1275/linux.c: Likewise.
15332 * loader/i386/linux.c: Likewise.
15333 * loader/i386/pc/chainloader.c: Likewise.
15334 * loader/i386/pc/linux.c: Likewise.
15335 * loader/powerpc/ieee1275/linux.c: Likewise.
15336 * loader/multiboot_loader.c: Likewise.
15337 * term/gfxterm.c: Likewise.
15338 * term/i386/pc/serial.c: Likewise.
15339 * term/terminfo.c: Likewise.
15340
15341 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
15342 * term/i386/pc/vga.c: Likewise.
15343 * video/readers/jpeg.c: Likewise.
15344 * video/readers/png.c: Likewise.
15345 * video/readers/tga.c: Likewise.
15346
15347 * util/grub-fstest (cmd_loopback): Removed.
15348 (cmd_blocklist): Likewise.
15349 (cmd_ls): Likewise.
15350 (grub_register_command): Likewise.
15351 (grub_unregister_command): Likewise.
15352 (execute_command): Use grub_command_find to locate command and execute
15353 it.
15354
15355 * include/grub/efi/chainloader.h: Removed.
15356 * loader/efi/chainloader_normal.c: Likewise.
15357 * loader/i386/bsd_normal.c: Likewise.
15358 * loader/i386/pc/chainloader_normal.c: Likewise.
15359 * loader/i386/pc/multiboot_normal.c: Likewise.
15360 * loader/linux_normal.c: Likewise.
15361 * loader/multiboot_loader_normal.c: Likewise.
15362 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
15363
15364 * gencmdlist.sh: Scan new registration command grub_register_extcmd
15365 and grub_register_command_p1.
15366
15367 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
15368 kern/command.c, lib/arg.c and commands/extcmd.c.
15369 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
15370 (minicmd_mod_SOURCES): New variable.
15371 (minicmd_mod_CFLAGS): Likewise.
15372 (minicmd_mod_LDFLAGS): Likewise.
15373 (extcmd_mod_SOURCES): Likewise.
15374 (extcmd_mod_CFLAGS): Likewise.
15375 (extcmd_mod_LDFLAGS): Likewise.
15376 (boot_mod_SOURCES): Removed.
15377 (boot_mod_CFLAGS): Likewise.
15378 (boot_mod_LDFLAGS): Likewise.
15379
15380 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
15381 kern/corecmd.c.
15382 (kernel_img_HEADERS): Add command.h.
15383 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
15384 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
15385 and lib/arg.c.
15386 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
15387 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
15388 remove the corresponding normal mode command.
15389 (normal_mod_SOURCES): Remove normal/arg.c.
15390 * conf/i386-coreboot.rmk: Likewise.
15391 * conf/i386-efi.rmk: Likewise.
15392 * conf/i386-ieee1275.rmk: Likewise.
15393 * conf/powerpc-ieee1275.rmk: Likewise.
15394 * conf/x86_64-efi.rmk: Likewise.
15395
15396 * include/grub/arg.h: Move from here ...
15397 * include/grub/lib/arg.h: ... to here.
15398
15399 * normal/arg.c: Move from here ...
15400 * lib/arg.c: ... to here.
15401
15402 * commands/extcmd.c: New file.
15403 * commands/minicmd.c: Likewise.
15404 * include/grub/command.h: Likewise.
15405 * include/grub/extcmd.h: Likewise.
15406 * kern/command.c: Likewise.
15407 * kern/corecmd.c: Likewise.
15408
15409 * kern/list.c (grub_list_iterate): Return int instead of void.
15410 (grub_list_insert): New function.
15411 (grub_prio_list_insert): Likewise.
15412
15413 * kern/rescue.c (grub_rescue_command): Removed.
15414 (grub_rescue_command_list): Likewise.
15415 (grub_rescue_register_command): Likewise.
15416 (grub_rescue_unregister_command): Likewise.
15417 (grub_rescue_cmd_boot): Move to minicmd.c
15418 (grub_rescue_cmd_help): Likewise.
15419 (grub_rescue_cmd_info): Likewise.
15420 (grub_rescue_cmd_boot): Likewise.
15421 (grub_rescue_cmd_testload): Likewise.
15422 (grub_rescue_cmd_dump): Likewise.
15423 (grub_rescue_cmd_rmmod): Likewise.
15424 (grub_rescue_cmd_lsmod): Likewise.
15425 (grub_rescue_cmd_exit): Likewise.
15426 (grub_rescue_print_devices): Moved to corecmd.c.
15427 (grub_rescue_print_files): Likewise.
15428 (grub_rescue_cmd_ls): Likewise.
15429 (grub_rescue_cmd_insmod): Likewise.
15430 (grub_rescue_cmd_set): Likewise.
15431 (grub_rescue_cmd_unset): Likewise.
7d074e3c 15432 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 15433 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 15434 commands, remove grub_rescue_register_command calls.
b1b797cb 15435
7d074e3c 15436 * normal/command.c (grub_register_command): Removed.
b1b797cb 15437 (grub_unregister_command): Likewise.
15438 (grub_command_find): Likewise.
15439 (grub_iterate_commands): Likewise.
15440 (rescue_command): Likewise.
15441 (export_command): Moved to corecmd.c.
15442 (set_command): Removed.
15443 (unset_command): Likewise.
15444 (insmod_command): Likewise.
15445 (rmmod_command): Likewise.
15446 (lsmod_command): Likewise.
15447 (grub_command_init): Likewise.
15448
15449 * normal/completion.c (iterate_command): Use cmd->prio to check for
15450 active command.
15451 (complete_arguments): Use grub_extcmd_t structure to find options.
15452 (grub_normal_do_completion): Change function grub_iterate_commands to
15453 grub_command_iterate.
15454
15455 * normal/execute.c (grub_script_execute_cmd): No need to parse
15456 argument here.
15457
15458 * normal/main.c (grub_dyncmd_dispatcher): New function.
15459 (read_command_list): Register unload commands as dyncmd.
15460 (grub_cmd_normal): Use new command interface, register rescue,
15461 unregister normal at entry, register normal, unregister rescue at exit.
15462
15463 * include/grub/list.h (grub_list_test_t): New type.
15464 (grub_list_iterate): Return int instead of void.
15465 (grub_list_insert): New function.
15466 (GRUB_AS_NAMED_LIST_P): New macro.
15467 (GRUB_AS_PRIO_LIST): Likewise.
15468 (GRUB_AS_PRIO_LIST_P): Likewise.
15469 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
15470 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
15471 (grub_prio_list): New structure.
15472 (grub_prio_list_insert): New function.
15473 (grub_prio_list_remove): New inline function.
15474
15475 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
15476 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
15477 (GRUB_COMMAND_FLAG_MENU): Likewise.
15478 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15479 (GRUB_COMMAND_FLAG_TITLE): Likewise.
15480 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15481 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
15482 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
15483 (grub_command): Likewise.
15484 (grub_register_command): Likewise.
15485 (grub_command_find): Likewise.
15486 (grub_iterate_commands): Likewise.
15487 (grub_command_init): Likewise.
15488 (grub_arg_parse): Likewise.
15489 (grub_arg_show_help): Likewise.
15490
15491 * include/grub/rescue.h (grub_rescue_register_command): Removed.
15492 (grub_rescue_unregister_command): Likewise.
15493
15494 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
15495 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
15496 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
15497
15498 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
15499 grub_rescue_cmd_initrd.
15500 * include/grub/i386/loader.h: Likewise.
15501 * include/grub/x86_64/loader.h: Likewise.
15502
15503 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
15504
1f4147aa 155052009-03-21 Bean <bean123ch@gmail.com>
15506
15507 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
15508 instead of stat in mingw environment.
15509
15510 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
15511
15512 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
15513
15514 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
15515 AC_CONFIG_LINKS.
15516
2156d5ba 155172009-03-21 Bean <bean123ch@gmail.com>
15518
15519 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
15520 out of range error.
15521
177b82ca 155222009-03-18 Michel Dänzer <michel@daenzer.net>
15523
15524 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
15525 checking inode flags for EXT4_EXTENTS_FLAG.
15526
14aad807 155272009-03-18 Robert Millan <rmh@aybabtu.com>
15528
15529 * loader/i386/linux.c: Include `<grub/video.h>' and
15530 `<grub/i386/pc/vbe.h>'..
15531 (grub_linux_setup_video): New function. Loosely based on the EFI one.
15532 (grub_linux32_boot): Attempt to configure video settings with
15533 grub_linux_setup_video().
15534 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
15535 to avoid grub_console_fini() which would step out of graphical mode
15536 unconditionally.
15537
8cf83a27 155382009-03-14 Robert Millan <rmh@aybabtu.com>
15539
15540 Fix build on powerpc.
15541 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
15542
40164e75 155432009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
15544
15545 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
15546 background image command.
15547
c58bc32a 155482009-03-12 Colin D Bennett <colin@gibibit.com>
15549
15550 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
15551 (grub_gfxterm_putchar): Extract pairs of identical calls to
15552 draw_cursor out of conditional blocks.
15553
5415144a 155542009-03-11 Pavel Roskin <proski@gnu.org>
15555
15556 * fs/hfs.c (grub_hfs_strncasecmp): New function.
15557 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
15558
6394042e 155592009-03-11 Robert Millan <rmh@aybabtu.com>
15560
15561 * loader/i386/multiboot_elfxx.c
15562 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
15563
b7b50e5f 155642009-03-11 Felix Zielcke <fzielcke@z-51.de>
15565
15566 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
15567 `kern/handler.c'.
15568
1ca7fc96 155692009-03-11 Robert Millan <rmh@aybabtu.com>
15570
15571 * loader/i386/multiboot.c (code_size): New variable.
15572 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 15573 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 15574 4-byte alignment to MBI and others by increasing
7d074e3c 15575 `boot_loader_name_length' appropriately.
1ca7fc96 15576
15577 * loader/i386/multiboot_elfxx.c
15578 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
15579
a83ea1d2 155802009-03-09 Felix Zielcke <fzielcke@z-51.de>
15581
15582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
15583 `fs/ext2.c'.
15584
aa9f3bff 155852009-03-08 Robert Millan <rmh@aybabtu.com>
15586
15587 Make loader/i386/linux.c usable on i386-pc again.
15588
15589 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
15590 memory to heap.
15591 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
15592 `#error' stanza.
15593
d8b3b60e 155942009-03-07 Bean <bean123ch@gmail.com>
15595
15596 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
15597 allocation.
15598
b362c9e9 155992009-03-06 Robert Millan <rmh@aybabtu.com>
15600
15601 Fix display issue on terminals with screen size other than 80x25
15602 (e.g. gfxterm with resolution higher than 640x480).
15603
15604 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 15605 position relative to the center of the terminal instead of relying
b362c9e9 15606 on a hardcoded offset.
15607
9304eef1 156082009-03-04 Robert Millan <rmh@aybabtu.com>
15609
15610 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
15611 installed.
15612
15613 * Makefile.in (host_kernel): New variable.
15614 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
15615 scripts instead of just the windows one.
15616 * configure.ac: Initialize and AC_SUBST `host_kernel'.
15617
eabc95fb 156182009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 15619
15620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
15621 `kern/handler.c'.
15622 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15623 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15626 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15628
ceb1223c 156292009-03-04 Felix Zielcke <fzielcke@z-51.de>
15630
15631 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
15632 or if there's no space for the disk label and print the partition number on a
15633 invalid magic.
15634
4910684a 156352009-03-04 Felix Zielcke <fzielcke@z-51.de>
15636
15637 * util/misc.c: Include <time.h>.
15638 (grub_millisleep): New function.
15639
7e9ca17a 156402009-03-04 Bean <bean123ch@gmail.com>
15641
15642 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
15643 another option -mno-red-zone.
15644
15645 * commands/handler.c: Change module description.
15646
15647 * kern/handler.c: Add missing space at the end of description line.
15648
15649 * kern/list.c: Likewise.
15650
f501677c 156512009-03-03 Robert Millan <rmh@aybabtu.com>
15652
15653 Move more components to the relocation area, and fix mbi pointer
15654 handling to use the destination rather than the origin (thanks to
15655 Vladimir Serbinenko for spotting).
15656
15657 * loader/i386/multiboot.c (mbi_dest): New variable.
15658 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
15659 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
15660 relocation area.
15661
9902d047 156622009-03-01 Bean <bean123ch@gmail.com>
15663
50fb7002 15664 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 15665 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
15666 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
15667 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
15668
15669 * loader/i386/efi/linux.c (acpi_guid): New variable.
15670 (acpi_guid): Likewise.
15671 (EBDA_SEG_ADDR): New constant.
15672 (LOW_MEM_ADDR): Likewise.
15673 (FAKE_EBDA_SEG): Likewise.
15674 (fake_bios_data): New function.
15675 (grub_linux_boot): Call fake_bios_data.
15676
71b9f361 156772009-03-01 Bean <bean123ch@gmail.com>
15678
15679 * commands/terminal.c: Removed.
15680
15681 * commands/handler.c: New file.
15682
15683 * include/grub/list.h: Likewise.
15684
15685 * include/grub/handler.h: Likewise.
15686
15687 * kern/list.c: Likewise.
15688
15689 * kern/handler.c: Likewise.
15690
15691 * kern/term.h: Include header file <grub/handler.h>.
15692 (grub_term_input): Move next field to the beginning.
15693 (grub_term_output): Likewise.
15694 (grub_term_input_class): New variable.
15695 (grub_term_output_class): Likewise.
15696 (grub_term_register_input): Changed to inline function.
15697 (grub_term_register_output): Likewise.
15698 (grub_term_unregister_input): Likewise.
15699 (grub_term_unregister_output): Likewise.
15700 (grub_term_set_current_input): Likewise.
15701 (grub_term_set_current_output): Likewise.
15702 (grub_term_get_current_input): Likewise.
15703 (grub_term_get_current_output): Likewise.
15704 (grub_term_iterate_input): Removed.
15705 (grub_term_iterate_output): Likewise.
15706
15707 * kern/term.c (grub_term_list_input): Removed.
15708 (grub_term_list_output): Likewise.
15709 (grub_term_input_class): New variable.
15710 (grub_term_output_class): Likewise.
50fb7002 15711 (grub_cur_term_input): Change variable as macro.
71b9f361 15712 (grub_cur_term_output): Likewise.
15713 (grub_term_register_input): Removed.
15714 (grub_term_register_output): Likewise.
15715 (grub_term_unregister_input): Likewise.
15716 (grub_term_unregister_output): Likewise.
15717 (grub_term_set_current_input): Likewise.
15718 (grub_term_set_current_output): Likewise.
15719 (grub_term_iterate_input): Likewise.
15720 (grub_term_iterate_output): Likewise.
15721 (grub_term_get_current_input): Likewise.
15722 (grub_term_get_current_output): Likewise.
15723
15724 * util/grub-editenv.c: Include header file <grub/handler.h>.
15725 (grub_term_get_current_input): Removed.
15726 (grub_term_get_current_output): Likewise.
15727 (grub_term_input_class): New variable.
50fb7002 15728 (grub_term_output_class): Likewise.
71b9f361 15729
15730 * util/grub-fstest.c (grub_term_get_current_input): Removed.
15731 (grub_term_get_current_output): Likewise.
15732 (grub_term_input_class): New variable.
50fb7002 15733 (grub_term_output_class): Likewise.
71b9f361 15734
15735 * util/grub-probe.c (grub_term_get_current_input): Removed.
15736 (grub_term_get_current_output): Likewise.
15737 (grub_term_input_class): New variable.
50fb7002 15738 (grub_term_output_class): Likewise.
71b9f361 15739
15740 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
15741 (grub_term_get_current_output): Likewise.
15742 (grub_term_input_class): New variable.
50fb7002 15743 (grub_term_output_class): Likewise.
71b9f361 15744
15745 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
15746 (terminal_mod_SOURCES): Likewise.
15747 (terminal_mod_CFLAGS): Likewise.
15748 (terminal_mod_LDFLAGS): Likewise.
15749
15750 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
15751 handler.c.
15752 (kernel_img_SOURCES): Add list.c and handler.c.
15753 (kernel_img_HEADERS): Add list.h and handler.h.
15754
15755 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15756 handler.c.
15757 (kernel_mod_SOURCES): Add list.c and handler.c.
15758 (kernel_mod_HEADERS): Add list.h and handler.h.
15759
15760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
15761 handler.c.
15762 (kernel_elf_SOURCES): Add list.c and handler.c.
15763 (kernel_elf_HEADERS): Add list.h and handler.h.
15764
15765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15766 handler.c.
15767 (kernel_elf_SOURCES): Add list.c and handler.c.
15768 (kernel_elf_HEADERS): Add list.h and handler.h.
15769
15770 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
15771 handler.c.
15772 (kernel_mod_SOURCES): Add list.c and handler.c.
15773 (kernel_mod_HEADERS): Add list.h and handler.h.
15774
15775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
15776 handler.c.
15777 (kernel_elf_SOURCES): Add list.c and handler.c.
15778 (kernel_elf_HEADERS): Add list.h and handler.h.
15779
8a31787f 157802009-02-27 Robert Millan <rmh@aybabtu.com>
15781
15782 Factorize elf32 / elf64 code in Multiboot loader. This will
15783 prevent it from getting out of sync again.
15784
15785 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
15786 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
15787 grub_multiboot_load_elf64): Move from here ...
15788 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
15789 grub_multiboot_load_elf): ... to here (new file).
15790
51cd3dfc 157912009-02-27 Robert Millan <rmh@aybabtu.com>
15792
15793 * util/grub.d/10_linux.in: Rename "single-user mode" to
15794 "recovery mode".
15795
6e8c9c3a 157962009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 Don't leak in SCSI code.
15799 * disk/scsi.c (grub_scsi_close): free `scsi'.
15800
4b6bf4f9 158012009-02-27 Robert Millan <rmh@aybabtu.com>
15802
15803 * loader/i386/pc/multiboot.c: Move from here ...
15804 * loader/i386/multiboot.c: ... to here. Update all users.
15805
b9413424 158062009-02-27 Robert Millan <rmh@aybabtu.com>
15807
15808 Patch from Alexandre Bique <bique.alexandre@gmail.com>
15809 * util/i386/pc/grub-setup.c (setup): Fix directory path.
15810
50fb7002 158112009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 15812
15813 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
15814 b-tree.
15815
8cc50345 158162009-02-27 Robert Millan <rmh@aybabtu.com>
15817
15818 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
15819 `0x' qualifier as 0 when base is specified as parameter).
15820
6e09b8b7 158212009-02-24 Bean <bean123ch@gmail.com>
15822
15823 * configure.ac: Check for -mcmodel=large in x86_64 target.
15824
15825 * include/grub/efi/api.h (efi_call_10): New macro.
15826 (efi_wrap_10): New function.
15827
15828 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
15829 (GRUB_PE32_REL_BASED_HIGH): Likewise.
15830 (GRUB_PE32_REL_BASED_LOW): Likewise.
15831 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
15832 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
15833 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
15834 (GRUB_PE32_REL_BASED_SECTION): Likewise.
15835 (GRUB_PE32_REL_BASED_REL): Likewise.
15836 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
15837 (GRUB_PE32_REL_BASED_DIR64): Likewise.
15838 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
15839
15840 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
15841 issue.
15842
15843 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
15844 (efi_wrap_10): New function.
15845
15846 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
15847
15848 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
15849 MB/MBP model (NV chipset).
15850 (devdata_devs): Add devpath_5 to the list.
15851
15852 * load/i386/efi/linux.c (video_base): Remove variable.
15853 (RGB_MASK): New macro.
15854 (RGB_MAGIC): Likewise.
15855 (LINE_MIN): Likewise.
15856 (LINE_MAX): Likewise.
15857 (FBTEST_STEP): Likewise.
15858 (FBTEST_COUNT): Likewise.
15859 (fb_list): New variable.
15860 (grub_find_video_card): Remove function.
15861 (find_framebuf): New function.
15862 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
15863 line length.
15864
15865 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
15866 problem for x86_64.
15867
74b21bee 158682009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
15869
15870 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
15871
15872 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
15873 coding tool name.
15874
a455f472 158752009-02-22 Robert Millan <rmh@aybabtu.com>
15876
15877 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
15878 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
15879 in our relocation, instead of using it directly from heap. Also
15880 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
15881
6374daf3 158822009-02-21 Robert Millan <rmh@aybabtu.com>
15883
15884 Implement USB keyboard support (based on patch by Marco Gerards)
15885
15886 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
15887 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
15888 (usb_keyboard_mod_LDFLAGS): New variables.
15889
15890 * term/usb_keyboard.c: New file.
15891
8fa4ea70 158922009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 Corrected wrong declaration
15895
15896 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
15897
353976ac 158982009-02-14 Christian Franke <franke@computer.org>
15899
15900 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
15901 (grub_lspci_iter): Print class code and programming interface byte.
15902
6aa1169b 159032009-02-14 Christian Franke <franke@computer.org>
15904
15905 * gendistlist.sh: Ignore `.svn' directories.
15906
265372ca 159072009-02-14 Felix Zielcke <fzielcke@z-51.de>
15908
15909 * fs/fat.c: Add 2009 to Copyright line.
15910
9ff516f3 159112009-02-14 Christian Franke <franke@computer.org>
15912
15913 * commands/hdparm.c: New file. Provides `hdparm' command
15914 which sends ATA commands via grub_disk_ata_pass_through ().
15915
15916 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
15917
15918 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
15919 and <grub/cpu/io.h> to include/grub/ata.h.
15920 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
15921 (GRUB_CDROM_SECTOR_SIZE): Remove.
15922 (GRUB_ATA_*): Move to include/grub/ata.h.
15923 (GRUB_ATAPI_*): Likewise.
15924 (enum grub_ata_commands): Likewise.
15925 (enum grub_ata_timeout_milliseconds): Likewise.
15926 (struct grub_ata_device): Likewise.
15927 (grub_ata_regset): Likewise.
15928 (grub_ata_regget): Likewise.
15929 (grub_ata_regset2): Likewise.
15930 (grub_ata_regget2): Likewise.
15931 (grub_ata_check_ready): Likewise.
15932 (grub_ata_wait_not_busy): Remove static, exported in
15933 include/grub/ata.h.
15934 (grub_ata_wait_drq): Likewise.
15935 (grub_ata_pio_read): Likewise.
15936
15937 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
15938 function for hdparm.mod.
15939
15940 * include/grub/ata.h: New file, contains declarations from
15941 disk/ata.c.
15942 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
15943
15944 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
15945 (grub_disk_ata_pass_through): New exported variable.
15946
15947 * kern/disk.c (grub_disk_ata_pass_through): New variable.
15948
772e23da 159492009-02-13 Colin D Bennett <colin@gibibit.com>
15950
15951 Support multiple fallback entries, and provide an API to support
15952 executing default+fallback menu entries. Renamed the `terminal' menu
15953 viewer to `text'.
15954
15955 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
15956 variable declaration.
15957 (grub_menu_execute_callback): New structure declaration.
15958 (grub_menu_execute_callback_t): New typedef.
15959 (grub_menu_execute_with_fallback): New function declaration.
15960 (grub_menu_get_entry): Likewise.
15961 (grub_menu_get_timeout): Likewise.
15962 (grub_menu_set_timeout): Likewise.
15963
15964 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
15965
15966 * normal/menu.c (grub_wait_after_message): Moved to
15967 `normal/menu_text.c'.
15968 (draw_border): Likewise.
15969 (print_message): Likewise.
15970 (print_entry): Likewise.
15971 (print_entries): Likewise.
15972 (grub_menu_init_page): Likewise.
15973 (get_entry_number): Likewise.
15974 (print_timeout): Likewise.
15975 (run_menu): Likewise.
15976 (grub_menu_execute_entry): Likewise.
15977 (show_text_menu): Likewise.
15978 (get_and_remove_first_entry_number): New function.
15979 (grub_menu_execute_with_fallback): Likewise.
15980 (get_entry): Renamed to ...
15981 (grub_menu_get_entry): .. this and made it global.
15982 (get_timeout): Renamed to ...
15983 (grub_menu_get_timeout): ... this and made it global.
15984 (set_timeout): Renamed to ...
15985 (grub_menu_set_timeout): ... this and made it global.
15986 (grub_normal_terminal_menu_viewer): Renamed to ...
15987 (grub_normal_text_menu_viewer): ... this.
15988
15989 * normal/menu_text.c: New file. Extracted text-menu-specific code
15990 from normal/menu.c.
15991
15992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
15993 (normal_mod_SOURCES): Likewise.
15994
15995 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15996 (normal_mod_SOURCES): Likewise.
15997
15998 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15999 (normal_mod_SOURCES): Likewise.
16000
16001 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
16002 (normal_mod_SOURCES): Likewise.
16003
16004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16005 (normal_mod_SOURCES): Likewise.
16006
16007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16008 (normal_mod_SOURCES): Likewise.
16009
16010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16011 (normal_mod_SOURCES): Likewise.
16012
16ac430e 160132009-02-11 Robert Millan <rmh@aybabtu.com>
16014
16015 * util/grub.d/00_header.in: Update old reference to `font' command.
16016
06ff20fc 160172009-02-10 Felix Zielcke <fzielcke@z-51.de>
16018
16019 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
16020
16021 Based on patch from Javier Martín.
16022
96da9407 160232009-02-09 Felix Zielcke <fzielcke@z-51.de>
16024
16025 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 16026 to avoid false positives with FAT.
96da9407 16027 (grub_fstest_SOURCES): Likewise.
16028 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16031 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16034
6dca6fe4 160352009-02-09 Felix Zielcke <fzielcke@z-51.de>
16036
06ff20fc 16037 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 16038 bpb.version_specific.fat12_or_fat16.fstype and
16039 bpb.version_specific.fat32.fstype.
16040
2550c62f 160412009-02-08 Robert Millan <rmh@aybabtu.com>
16042
be110b30 16043 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 16044
56978920 160452009-02-08 Robert Millan <rmh@aybabtu.com>
16046
16047 * Makefile.in (host_os, host_cpu): New variables.
16048 (target_os): Remove. Update all users.
16049
d64399b5 160502009-02-08 Marco Gerards <marco@gnu.org>
16051
16052 * Makefile.in (enable_grub_emu_usb): New variable.
16053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
16054 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
16055 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
16056 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
16057 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
16058 `usbtest.mod' and `usbms.mod'.
16059 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
16060 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
16061 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
16062 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
16063 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
16064 variables.
16065
16066 * disk/usbms.c: New file.
16067
16068 * include/grub/usb.h: Likewise.
16069
16070 * include/grub/usbtrans.h: Likewise.
16071
16072 * include/grub/usbdesc.h: Likewise.
16073
16074 * bus/usb/usbtrans.c: Likewise.
16075
16076 * bus/usb/ohci.c: Likewise.
16077
16078 * bus/usb/uhci.c: Likewise.
16079
16080 * bus/usb/usbhub.c: Likewise.
16081
16082 * bus/usb/usb.c: Likewise.
16083
16084 * commands/usbtest.c: Likewise.
16085
16086 * util/usb.c: Likewise.
50fb7002 16087
d64399b5 16088 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
16089
16090 * configure.ac: Test for libusb presence.
50fb7002 16091
d64399b5 16092 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
16093
2b40d6bb 160942009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
16095
16096 * kern/mm.c: Add more comments.
16097
73a4ce81 160982009-02-08 Robert Millan <rmh@aybabtu.com>
16099
16100 Patch from Javier Martín.
16101 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
16102 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
16103
f821ce59 161042009-02-08 Robert Millan <rmh@aybabtu.com>
16105
16106 * fs/cpio.c: Split tar functionality to ...
16107 * fs/tar.c: ... here (new file). Update all users.
16108
aebfc4b0 161092009-02-07 Robert Millan <rmh@aybabtu.com>
16110
16111 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
16112 backward-incompatible features.
16113
16114 Based on patch from Javier Martín, with some adjustments.
16115
50fb7002 161162009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 16117
16118 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
16119
0bb5115e 161202009-02-07 Robert Millan <rmh@aybabtu.com>
16121
16122 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
16123 position of `disk/lvm.c' to ensure grub_init_all() always picks it
16124 after the RAID stuff.
16125
38a0f8e7 161262009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
16127
50fb7002 16128 Fixes problem when running vbetest command as reported by
38a0f8e7 16129 Vladimir Serbinenko <phcoder@gmail.com>.
16130
16131 * (grub_vbe_set_video_mode): Fixed problem with text modes.
16132
3143cc1c 161332009-02-04 Felix Zielcke <fzielcke@z-51.de>
16134
16135 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
16136 /dev/md/NpN style mdraid devices.
16137
9cba6fce 161382009-02-03 Felix Zielcke <fzielcke@z-51.de>
16139
16140 * util/unifont2pff.rb: Remove.
16141
e507a2c1 161422009-02-03 Felix Zielcke <fzielcke@z-51.de>
16143
16144 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
16145 `#'.
16146
d2c2b4cd 161472009-02-03 Felix Zielcke <fzielcke@z-51.de>
16148
16149 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
16150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16151 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16155 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16156
b4315fb0 161572009-02-02 Christian Franke <franke@computer.org>
16158
16159 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
16160
de3aa260 161612009-02-01 Felix Zielcke <fzielcke@z-51.de>
16162
7c3ff286 16163 * INSTALL: Note that we now require at least autoconf 2.59 and
16164 that LZO is optional.
de3aa260 16165
825a182b 161662009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16167
16168 Base on patch on bug #24154 created by Tomas Tintera
16169 <trosos@seznam.cz>.
16170
16171 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
16172
a69ef770 161732009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16174
7c3ff286 16175 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 16176 <bero@arklinux.org>.
16177
16178 * normal/parser.y (script_init): Add missing semicolon.
16179
6fa42fa6 161802009-01-31 Colin D Bennett <colin@gibibit.com>
16181
7c3ff286 16182 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 16183 (free_menu_entry_classes): Added.
16184 (grub_normal_menu_addentry): Added class property handling.
16185 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
16186 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
16187
16188 * normal/menu_viewer.c: New file.
16189
16190 * normal/menu.c (run_menu_entry): Renamed to ...
16191 (grub_menu_execute_entry): ... this and made it as global.
16192 (grub_menu_run): Renamed to ...
16193 (show_text_menu): ... this and made it local.
16194 (show_text_menu): Adapt to new function names.
16195 (grub_normal_terminal_menu_viewer): New global variable.
16196
16197 * include/grub/menu.h: New file.
16198
16199 * include/grub/menu_viewer.h: New file.
16200
16201 * include/grub/normal.h: Added include to grub/menu.h.
16202 (grub_menu_entry): Moved to include/grub/menu.h.
16203 (grub_menu_entry_t): Likewise.
16204 (grub_menu): Likewise.
16205 (grub_menu_t): Likewise.
16206 (grub_normal_terminal_menu_viewer): Added.
16207 (grub_menu_execute_entry): Likewise.
16208 (grub_menu_run): Removed.
16209
16210 * DISTLIST: Added include/grub/menu.h.
16211 Added include/grub/menu_viewer.h.
16212 Added normal/menu_viewer.c.
16213
162142009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
16215
16216 * normal/execute.c (grub_script_execute_menuentry): Changed to use
16217 arglist for menutitle arguments.
16218
16219 * normal/main.c (grub_normal_menu_addentry): Likewise.
16220
16221 * normal/parser.y (menuentry): Likewise.
16222
16223 * normal/script.c (grub_script_create_cmdmenu): Likewise.
16224
16225 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
16226 (grub_script_create_cmdmenu): Likewise.
16227
16228 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
16229
16230 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
16231 changes.
16232
16233 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
16234
16235 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
16236
16237 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
16238
16239 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16240
16241 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16242
16243 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16244
56192c23 162452009-01-30 Christian Franke <franke@computer.org>
16246
16247 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
16248 in option help text.
16249
d72521b3 162502009-01-27 Pavel Roskin <proski@gnu.org>
16251
16252 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
16253
994b5e84 162542009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
16255
16256 * commands/lsmmap.c: Add include to grub/machine/memory.h.
16257
16258 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
16259
16260 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
16261 unregister function.
16262
6a7eab2c 162632009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
16264
16265 * disk/scsi.c (grub_scsi_read): Fix sign problem.
16266
16267 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
16268
16269 * util/grub-mkfont.c (usage): Fix typo.
16270
16271 * util/elf/grub-mkimage.c (load_modules): Fix warning.
16272
1806b56e 162732009-01-26 Daniel Mierswa <impulze@impulze.org>
16274
3fb18f09 16275 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
16276
336e1fb9 16277 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
16278
1806b56e 16279 * kern/misc.c (grub_strcasecmp): New function.
16280 (grub_strcasecmp): Use grub_size_t instead of int for length.
16281 Fix return value.
16282 * include/grub/misc.h: Update function prototypes.
16283
580b2a0f 162842009-01-26 Robert Millan <rmh@aybabtu.com>
16285
16286 * configure.ac: Fix cross-compilation check.
ef257b36 16287
d31c24f1 162882009-01-22 Christian Franke <franke@computer.org>
16289
16290 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
16291 (precision) digit string. Allow `.format2' without `format1' (width).
16292 Limit input chars for `%s' output to `format2' if specified. This is
16293 compatible with standard printf ().
16294
3138b44c 162952009-01-22 Christian Franke <franke@computer.org>
16296
16297 * disk/ata.c (grub_ata_wait_status): Replace by ...
16298 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
16299 other status bits may be invalid while BSY is asserted.
16300 (grub_ata_check_ready): New function.
16301 (grub_ata_cmd): Removed.
16302 (grub_ata_wait_drq): New function.
16303 (grub_ata_strncpy): Remove inline.
16304 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
16305 and error check now done by grub_ata_wait_drq ().
16306 (grub_ata_pio_write): Likewise.
16307 (grub_atapi_identify): Set DEV before check for !BSY. Use
16308 grub_ata_wait_drq () to wait for data.
16309 (grub_ata_device_initialize): Add status register check to
16310 detect missing SATA slave devices. Add debug messages.
16311 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
16312 (grub_atapi_packet): Set DEV before check for !BSY. Replace
16313 transfer loop by grub_ata_pio_write ().
16314 (grub_ata_identify): Set DEV before check for !BSY. Use
16315 grub_ata_wait_drq () to wait for data.
ef257b36 16316 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 16317 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
16318 read/write in one loop. Fix invalid command on write. Fix incomplete
16319 command on (size % batch) == 0. Add missing error check after write of
16320 last block. Add debug messages.
16321 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
16322
59a64ef6 163232009-01-19 Christian Franke <franke@computer.org>
16324
16325 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
16326 (GRUB_ATAPI_IREASON_*): Likewise.
16327 (grub_ata_pio_write): Fix timeout error return.
16328 (grub_atapi_identify): Add grub_ata_wait () after cmd.
16329 (grub_atapi_wait_drq): New function.
16330 (grub_atapi_packet): New parameter `size'.
16331 Use grub_atapi_wait_drq () and direct write instead of
16332 grub_ata_pio_write ().
16333 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
16334 reads the number of bytes requested by the device for each DRQ
16335 assertion.
16336 (grub_atapi_write): Remove old implementation, return not
16337 implemented instead.
16338
1cfe20b3 163392009-01-19 Christian Franke <franke@computer.org>
16340
16341 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
16342 of 512 to calculate data size.
16343 (grub_scsi_read12): Likewise.
16344 (grub_scsi_write10): Likewise.
16345 (grub_scsi_write12): Likewise.
16346 (grub_scsi_read): Adjust size according to blocksize.
16347 Add checks for invalid blocksize and unaligned transfer.
16348
bee5fe5d 163492009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
16350
16351 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
16352
ef257b36 16353 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 16354 width glyphs.
16355
3e643f8c 163562009-01-19 Robert Millan <rmh@aybabtu.com>
16357
16358 * config.guess: Update to latest version from config git.
16359 * config.sub: Likewise.
16360
4fa80998 163612009-01-17 Felix Zielcke <fzielcke@z-51.de>
16362
16363 * Makefile.in: Change font compilation to use new grub-mkfont instead
16364 of java version.
16365
16366 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
16367 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
16368 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16369 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
16370 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
16371 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
16372 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
16373 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
16374 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
16375
7086085b 163762009-01-16 Christian Franke <franke@computer.org>
16377
16378 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
16379 (enum grub_ata_timeout_milliseconds): New enum.
16380 (grub_ata_wait_status): Add parameter milliseconds.
16381 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
16382 recovery from timed-out commands.
16383 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
16384 return grub_errno instead of REG_ERROR.
16385 (grub_ata_pio_write): Add parameter milliseconds.
16386 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
16387 Pass milliseconds to grub_ata_wait_status () and
16388 grub_ata_pio_read ().
16389 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
16390 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
16391 grub_ata_wait_status (). Fix IDENTIFY timeout check.
16392 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
16393 It is not suitable for device detection, because DEV bit is ignored,
16394 the command may run too long, and not all devices set the signature
16395 properly.
16396 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
16397 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
16398 Fix device selection, DEV bit must be set first to address the registers
16399 of the correct device.
16400 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
16401 grub_ata_pio_read/write ().
16402 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
16403 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
16404
4a412913 164052009-01-13 Carles Pina i Estany <carles@pina.cat>
16406
16407 * util/grub-editenv.c (main): Use fseeko(), not fseek().
16408
7795c55e 164092009-01-13 Bean <bean123ch@gmail.com>
d913988c 16410
16411 * util/grub-mkfont.c (write_font): forget to remove some debug code.
16412
7795c55e 164132009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 16414
16415 * Makefile.in: (enable_grub_mkfont): New variable.
16416 (freetype_cflags): Likewise.
16417 (freetype_libs): Likewise.
16418
16419 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
16420 (grub_mkfont_SOURCES): New variable.
16421 (grub_mkfont_CFLAGS): Likewise.
16422 (grub_mkfont_LDFLAGS): Likewise.
16423
16424 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
16425 library if `--enable-grub-mkfont' is requested.
16426 (enable_grub_mkfont): New variable.
16427 (freetype_cflags): Likewise.
16428 (freetype_libs): Likewise.
16429
16430 * util/grub-mkfont.c: New file.
16431
093af1fe 164322009-01-12 Christian Franke <franke@computer.org>
16433
16434 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
16435 mode check. Fix setting of compat_use[].
16436
f36cc108 164372009-01-10 Robert Millan <rmh@aybabtu.com>
16438
16439 Update a few copyright years which we forgot to do in 2008 (only for
16440 files whose changes made in 2008 were copyright-significant)
16441
16442 * Makefile.in: Add 2008 to Copyright line.
16443 * disk/ieee1275/ofdisk.c: Likewise.
16444 * disk/efi/efidisk.c: Likewise.
16445 * kern/dl.c: Likewise.
16446 * kern/sparc64/ieee1275/init.c: Likewise.
16447 * kern/mm.c: Likewise.
16448 * kern/efi/mm.c: Likewise.
16449 * boot/i386/pc/boot.S: Likewise.
16450 * genfslist.sh: Likewise.
16451 * fs/iso9660.c: Likewise.
16452 * fs/hfs.c: Likewise.
16453 * fs/jfs.c: Likewise.
16454 * fs/minix.c: Likewise.
16455 * fs/ufs.c: Likewise.
16456 * gensymlist.sh.in: Likewise.
16457 * genkernsyms.sh.in: Likewise.
16458 * include/grub/misc.h: Likewise.
16459 * include/grub/types.h: Likewise.
16460 * include/grub/symbol.h: Likewise.
16461 * include/grub/elf.h: Likewise.
16462 * include/grub/kernel.h: Likewise.
16463 * include/grub/disk.h: Likewise.
16464 * include/grub/dl.h: Likewise.
16465 * include/grub/i386/linux.h: Likewise.
16466 * include/grub/i386/pc/biosdisk.h: Likewise.
16467 * include/grub/efi/api.h: Likewise.
16468 * include/grub/efi/pe32.h: Likewise.
16469 * include/grub/util/misc.h: Likewise.
16470 * normal/execute.c: Likewise.
16471 * normal/arg.c: Likewise.
16472 * normal/completion.c: Likewise.
16473 * normal/lexer.c: Likewise.
16474 * normal/parser.y: Likewise.
16475 * normal/misc.c: Likewise.
16476 * commands/i386/pc/vbeinfo.c: Likewise.
16477 * commands/hexdump.c: Likewise.
16478 * commands/terminal.c: Likewise.
16479 * commands/ls.c: Likewise.
16480 * commands/help.c: Likewise.
16481 * partmap/pc.c: Likewise.
16482 * loader/efi/chainloader.c: Likewise.
16483 * loader/multiboot_loader.c: Likewise.
16484 * loader/i386/pc/multiboot2.c: Likewise.
16485 * term/efi/console.c: Likewise.
16486 * term/i386/pc/serial.c: Likewise.
16487 * util/lvm.c: Likewise.
16488 * util/console.c: Likewise.
16489 * util/i386/efi/grub-mkimage.c: Likewise.
16490 * util/raid.c: Likewise.
16491
7f02114b 164922009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
16493
16494 * commands/videotest.c: Removed include to grub/machine/memory.h.
16495
16496 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
16497 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
16498 (video_mod_SOURCES): Removed.
16499 (video_mod_CFLAGS): Likewise.
16500 (video_mod_LDFLAGS): Likewise.
16501 (gfxterm_mod_SOURCES): Likewise.
16502 (gfxterm_mod_CFLAGS): Likewise.
16503 (gfxterm_mod_LDFLAGS): Likewise.
16504 (videotest_mod_SOURCES): Likewise.
16505 (videotest_mod_CFLAGS): Likewise.
16506 (videotest_mod_LDFLAGS): Likewise.
16507 (bitmap_mod_SOURCES): Likewise.
16508 (bitmap_mod_CFLAGS): Likewise.
16509 (bitmap_mod_LDFLAGS): Likewise.
16510 (tga_mod_SOURCES): Likewise.
16511 (tga_mod_CFLAGS): Likewise.
16512 (tga_mod_LDFLAGS): Likewise.
16513 (jpeg_mod_SOURCES): Likewise.
16514 (jpeg_mod_CFLAGS): Likewise.
16515 (jpeg_mod_LDFLAGS): Likewise.
16516 (png_mod_SOURCES): Likewise.
16517 (png_mod_CFLAGS): Likewise.
16518 (png_mod_LDFLAGS): Likewise.
16519
16520 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
16521 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
16522 (video_mod_SOURCES): Added.
16523 (video_mod_CFLAGS): Likewise.
16524 (video_mod_LDFLAGS): Likewise.
16525 (videotest_mod_SOURCES): Likewise.
16526 (videotest_mod_CFLAGS): Likewise.
16527 (videotest_mod_LDFLAGS): Likewise.
16528 (bitmap_mod_SOURCES): Likewise.
16529 (bitmap_mod_CFLAGS): Likewise.
16530 (bitmap_mod_LDFLAGS): Likewise.
16531 (tga_mod_SOURCES): Likewise.
16532 (tga_mod_CFLAGS): Likewise.
16533 (tga_mod_LDFLAGS): Likewise.
16534 (jpeg_mod_SOURCES): Likewise.
16535 (jpeg_mod_CFLAGS): Likewise.
16536 (jpeg_mod_LDFLAGS): Likewise.
16537 (png_mod_SOURCES): Likewise.
16538 (png_mod_CFLAGS): Likewise.
16539 (png_mod_LDFLAGS): Likewise.
16540 (gfxterm_mod_SOURCES): Likewise.
16541 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 16542 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 16543
16544 * term/gfxterm.c: Removed include to grub/machine/memory.h,
16545 grub/machine/console.h.
16546
644fff97 165472009-01-04 Jerone Young <jerone@gmail.com>
16548
16549 Make on screen instructions clearer
16550
16551 Based on patch created by Jidanni <jidanni@jidanni.org>
16552
16553 * normal/menu.c: print clearer instructions on the screen
16554
1e901a75 165552009-01-02 Colin D Bennett <colin@gibibit.com>
16556
16557 New font engine.
34c44600 16558
1e901a75 16559 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
16560 build system and fixed gfxterm.c to work with different sized fonts.
16561
16562 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 16563
1e901a75 16564 * configure: Re-generated.
34c44600 16565
1e901a75 16566 * DISTLIST: Removed font/manager.c.
16567 Added font/font.c.
16568 Added font/font_cmd.c.
34c44600 16569
1e901a75 16570 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
16571 compilation.
34c44600 16572
1e901a75 16573 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 16574
16575 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 16576
16577 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 16578
1e901a75 16579 * normal/menu.c: Likewise.
34c44600 16580
1e901a75 16581 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
16582 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 16583
1e901a75 16584 * include/grub/font.h: Replaced with new file.
34c44600 16585
1e901a75 16586 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
16587 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
16588 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
16589 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
16590 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 16591 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 16592 fg_red, fg_green, fg_blue, fg_alpha.
16593 (grub_video_adapter): Removed blit_glyph.
34c44600 16594 (grub_video_blit_glyph): Removed.
16595
1e901a75 16596 * font/manager.c: Removed file.
34c44600 16597
16598 * font/font.c: New file.
16599
1e901a75 16600 * font/font_cmd.c: Likewise.
34c44600 16601
1e901a75 16602 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 16603
1e901a75 16604 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
16605 (grub_video_vbe_map_rgba): Likewise.
16606 (grub_video_vbe_unmap_color_int): Likewise.
16607 (grub_video_vbe_blit_glyph): Removed.
16608 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 16609
1e901a75 16610 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
16611 (get_pixel): Likewise.
34c44600 16612 (set_pixel): Likewise.
16613
1e901a75 16614 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 16615
1e901a75 16616 * term/gfxterm.c: Adapted to new font engine.
34c44600 16617
1e901a75 16618 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 16619
1e901a75 16620 * term/i386/pc/vga.c: Likewise.
34c44600 16621
1e901a75 16622 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 16623
1e901a75 16624 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 16625
1e901a75 16626 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 16627
1e901a75 16628 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 16629
1e901a75 16630 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 16631
1e901a75 16632 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 16633
1e901a75 16634 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 16635
1e901a75 16636 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 16637
1e901a75 16638 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
16639
16640 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 16641
1e901a75 16642 * util/grub-mkconfig_lib.in: Changed font extension.
16643
278922e8 166442008-12-28 Felix Zielcke <fzielcke@z-51.de>
16645
16646 * util/getroot.c (grub_util_get_grub_dev): Add support for
16647 /dev/md/dNNpNN style partitionable mdraid devices.
16648
3ced05cf 166492008-12-12 Alex Smith <alex@alex-smith.me.uk>
16650
16651 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
16652 at a time limit of the PXE TFTP API correctly.
16653 (grub_pxefs_close): Likewise.
16654
7fd0ee30 166552008-11-29 Robert Millan <rmh@aybabtu.com>
16656
34c44600 16657 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 16658 grub_ata_device_initialize() calls.
16659
34c44600 166602008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 16661
16662 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
16663 iteration failed.
16664 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
16665
89313780 166662008-11-28 Robert Millan <rmh@aybabtu.com>
16667
16668 Fix build on powerpc-ieee1275. Based on patch created by
16669 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
16670 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
16671 `kern/ieee1275/mmap.c'.
16672 * include/grub/powerpc/ieee1275/memory.h: New file.
16673
15257703 16674 Provide grub-install on coreboot.
16675 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
16676 (grub_install_SOURCES): New variable.
16677 * util/i386/pc/grub-install.in: Add a few condition checks to make it
16678 usable on coreboot.
16679
9fc5388a 166802008-11-25 Felix Zielcke <fzielcke@z-51.de>
16681
16682 * util/grub-fstest.c (grub_term_get_current_input): Change return type
16683 to `grub_term_input_t'.
16684 (grub_term_get_current_output): Change return type to
16685 `grub_term_output_t'.
16686
bc3a2f31 166872008-11-22 Robert Millan <rmh@aybabtu.com>
16688
34c44600 16689 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 16690 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
16691 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
16692 grub_vga_text_cls().
16693
80fc88f2 16694 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 16695 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 16696
cbf36fd3 16697 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
16698 to 0x200000 (avoids trouble with some OFW implementations, and matches
16699 with the one in Yaboot).
16700 Reported by Manoel Abranches
16701
73e8e268 167022008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 16703
16704 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
16705 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
16706
73e8e268 16707 * util/grub-mkconfig_lib.in (grub_warn): New function.
16708 (convert_system_path_to_grub_path): Use grub_warn() when issuing
16709 warnings, to obtain consistent formatting.
16710 * util/grub.d/00_header.in: Likewise.
16711 * util/update-grub_lib.in: Likewise.
16712
e94045a1 16713 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 16714 Move comment text to `#error' stanza.
e94045a1 16715
79d29fd7 16716 Harmonize ieee1275's grub_available_iterate() with the generic
16717 grub_machine_mmap_iterate() interface (fixes a recently-introduced
16718 build problem on i386-ieee1275):
16719 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
16720 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
16721 parameter `type'. Update all users of this function.
16722 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16723 `kern/ieee1275/mmap.c'.
16724 * kern/ieee1275/init.c
16725 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
16726 with ...
16727 (grub_machine_mmap_iterate): ... this.
16728 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
16729 return type to `grub_err_t'. Update all implementations of this
16730 function prototype.
16731 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
16732 Likewise.
16733
60d6b16e 16734 Add `lsmmap' command (lists firmware-provided memory map):
16735 * commands/lsmmap.c: New file.
16736 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
16737 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
16738 variables.
16739 * conf/powerpc-ieee1275.rmk: Likewise.
16740 * conf/i386-coreboot.rmk: Likewise.
16741 * conf/i386-ieee1275.rmk: Likewise.
16742
ebaaf49b 167432008-11-19 Robert Millan <rmh@aybabtu.com>
16744
16745 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 16746 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
16747 constraints to initrd allocation (based on code from
16748 loader/i386/pc/linux.c). Without them, initrd was allocated too high
16749 for Linux to find it.
ebaaf49b 16750
dfab719f 167512008-11-14 Robert Millan <rmh@aybabtu.com>
16752
16753 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
16754 order to cope with duplicate slashes.
16755
10fc3eb9 167562008-11-14 Robert Millan <rmh@aybabtu.com>
16757
16758 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
16759 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
16760 don't want to mess with lower memory, because it is used in the Linux
16761 loader.
16762
16763 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 16764 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 16765 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
16766 is in our heap (probably as a result of it being corrupted during
2f2a3442 16767 decompression). Add #error instance with comment to explain why this
16768 loader isn't currently usable on PC/BIOS.
10fc3eb9 16769
e2e07847 167702008-11-14 Robert Millan <rmh@aybabtu.com>
16771
16772 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 16773 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 16774
fe8e8d69 167752008-11-12 Robert Millan <rmh@aybabtu.com>
16776
16777 Make loader/i386/linux.c buildable on i386-pc (although disabled).
16778
16779 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
16780 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
16781 from here ...
16782 * include/grub/i386/pc/memory.h: ... to here.
16783
976b07d0 167842008-11-12 Robert Millan <rmh@aybabtu.com>
16785
16786 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
16787 split).
16788
16789 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
16790 (grub_console_cur_color, grub_console_real_putchar)
16791 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16792 (grub_console_setcolorstate, grub_console_setcolor)
16793 (grub_console_getcolor): Move from here ...
16794 * include/grub/i386/vga_common.h: ... to here (new file).
16795
16796 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
16797 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
16798 `<grub/i386/io.h>'.
16799 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
16800 `<grub/i386/vga_common.h>'.
16801
76679cd3 168022008-11-12 Robert Millan <rmh@aybabtu.com>
16803
16804 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
16805 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
16806 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
16807 variables.
16808 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16809 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
16810
16811 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
16812 grub_console_init() with call to grub_vga_text_init().
16813 (grub_machine_fini): Replace call to
16814 grub_console_fini() with call to grub_vga_text_fini() and
16815 grub_at_keyboard_fini().
16816
16817 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
16818 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
16819 (grub_console_setcolorstate, grub_console_setcolor)
16820 (grub_console_getcolor): New function prototypes.
16821
16822 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
16823 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
16824 (grub_vga_text_setcursor): Static-ize.
16825 (grub_vga_text_term): New structure.
16826 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
16827
16828 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
16829 (grub_console_cur_color, grub_console_standard_color)
16830 (grub_console_normal_color, grub_console_highlight_color)
16831 (map_char, grub_console_putchar, grub_console_getcharwidth)
16832 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
16833 (grub_console_getcolor): Move from here ...
16834 * term/i386/vga_common.c: ... to here (same function names).
16835
95b841d3 168362008-11-12 Robert Millan <rmh@aybabtu.com>
16837
16838 Use newly-added Multiboot support in coreboot.
16839
16840 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
16841 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
16842
16843 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
16844 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
16845 (codestart): Store the MBI in `startup_multiboot_info' when we're
16846 being loaded using Multiboot.
16847
16848 * kern/i386/coreboot/init.c (grub_machine_init): Move
16849 grub_at_keyboard_init() call to beginning of function (useful for
16850 debugging). Call grub_machine_mmap_init() before attempting to use
16851 grub_machine_mmap_iterate().
16852 (grub_lower_mem, grub_upper_mem): Move from here ...
16853 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
16854 here (new file).
16855
16856 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
16857 function prototype.
16858
761ca975 168592008-11-12 Robert Millan <rmh@aybabtu.com>
16860
16861 Fix a regression introduced by the at_keyboard.mod split. Because
16862 some terminals are default on some platforms and non-default on
16863 others, the first terminal being registered determines which is
16864 going to be default.
16865
16866 * kern/term.c (grub_term_register_input): If this is the first
16867 terminal being registered, set it as the current one.
16868 (grub_term_register_output): Likewise.
16869
16870 * term/efi/console.c (grub_console_init): Do not call
16871 grub_term_set_current_output() or grub_term_set_current_input().
16872 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
16873 * term/i386/pc/console.c (grub_console_init): Likewise.
16874 (grub_console_fini): Do not call grub_term_set_current_input()
16875 (but leave grub_term_set_current_output() to restore text mode).
16876
6c529df7 168772008-11-10 Robert Millan <rmh@aybabtu.com>
16878
16879 * util/grub.d/00_header.in: Add backward compatibility check for
16880 versions of terminal.mod that don't understand `terminal_input' or
16881 `terminal_output'.
16882
132e4113 168832008-11-09 Robert Millan <rmh@aybabtu.com>
16884
16885 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
16886 `terminal_input' / `terminal_output', not `terminal'.
16887
ac293d50 168882008-11-08 Robert Millan <rmh@aybabtu.com>
16889
16890 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 16891 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 16892
0025933a 168932008-11-08 Robert Millan <rmh@aybabtu.com>
16894
16895 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 16896 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 16897 members. Update all users.
16898 * util/console.c (grub_ncurses_term): Split in ...
16899 (grub_ncurses_term_input): ... this, and ...
16900 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 16901 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 16902
37c86336 169032008-11-08 Robert Millan <rmh@aybabtu.com>
16904
16905 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
16906 (PKGDATA): Add $(pkgdata_SRCDIR).
16907 (pkglib_BUILDDIR): New variable.
16908 (pkgdata_SRCDIR): New variable.
16909 (build_env.mk): New target.
16910 (include_DATA): New variable.
16911 (install-local): Install $(include_DATA) files in $(includedir).
16912
b6c15a2d 169132008-11-07 Pavel Roskin <proski@gnu.org>
16914
d99d46f1 16915 * gendistlist.sh: Use C locale for sorting to ensure consistent
16916 output on all systems.
16917
b6c15a2d 16918 * util/grub.d/00_header.in: Remove incorrect space before
16919 "serial".
16920
c32ee8c9 169212008-11-07 Robert Millan <rmh@aybabtu.com>
16922
16923 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
16924 per specification.
16925 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
16926 * loader/multiboot_loader.c (find_multi_boot2_header): New function
16927 (based on find_multi_boot1_header).
16928 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
16929 using find_multi_boot2_header(), and abort if neither Multiboot or
16930 Multiboot headers were found.
16931
651c29b7 169322008-11-07 Robert Millan <rmh@aybabtu.com>
16933
16934 Modularize at_keyboard.mod:
16935
16936 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
16937 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16938 (at_keyboard_mod_LDFLAGS): New variables.
16939
16940 Actual terminal split:
16941
16942 * include/grub/term.h (struct grub_term): Split in ...
16943 (struct grub_term_input): ... this, and ...
16944 (struct grub_term_output): ... this. Update all users.
16945 (grub_term_set_current): Split in ...
16946 (grub_term_set_current_input): ... this, and ...
16947 (grub_term_set_current_output): ... this.
16948 (grub_term_get_current): Split in ...
16949 (grub_term_get_current_input): ... this, and ...
16950 (grub_term_get_current_output): ... this.
16951 (grub_term_register): Split in ...
16952 (grub_term_register_input): ... this, and ...
16953 (grub_term_register_output): ... this.
16954 (grub_term_unregister): Split in ...
16955 (grub_term_unregister_input): ... this, and ...
16956 (grub_term_unregister_output): ... this.
16957 (grub_term_iterate): Split in ...
16958 (grub_term_iterate_input): ... this, and ...
16959 (grub_term_iterate_output): ... this.
16960
16961 * kern/term.c (grub_term_list): Split in ...
16962 (grub_term_list_input): ... this, and ...
16963 (grub_term_list_output): ... this. Update all users.
16964 (grub_cur_term): Split in ...
16965 (grub_cur_term_input): ... this, and ...
16966 (grub_cur_term_output): ... this. Update all users.
16967 (grub_term_set_current): Split in ...
16968 (grub_term_set_current_input): ... this, and ...
16969 (grub_term_set_current_output): ... this.
16970 (grub_term_get_current): Split in ...
16971 (grub_term_get_current_input): ... this, and ...
16972 (grub_term_get_current_output): ... this.
16973 (grub_term_register): Split in ...
16974 (grub_term_register_input): ... this, and ...
16975 (grub_term_register_output): ... this.
16976 (grub_term_unregister): Split in ...
16977 (grub_term_unregister_input): ... this, and ...
16978 (grub_term_unregister_output): ... this.
16979 (grub_term_iterate): Split in ...
16980 (grub_term_iterate_input): ... this, and ...
16981 (grub_term_iterate_output): ... this.
16982
16983 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
16984 a check for input and one for output (and only attempt to get keys
16985 from user when input works).
16986
16987 * util/grub-probe.c (grub_term_get_current): Split in ...
16988 (grub_term_get_current_input): ... this, and ...
16989 (grub_term_get_current_output): ... this.
16990 * util/grub-fstest.c: Likewise.
16991 * util/i386/pc/grub-setup.c: Likewise.
16992 * util/grub-editenv.c: Likewise.
16993
16994 Portability adjustments:
16995
16996 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
16997 `term/i386/pc/at_keyboard.c'.
16998 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
16999 grub_keyboard_controller_init() (now handled by terminal .init).
17000 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
17001 grub_at_keyboard_init().
17002 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
17003 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
17004 at_keyboard.mod via input terminal interface).
17005 * include/grub/i386/coreboot/console.h: Convert into a stub for
17006 `<grub/i386/pc/console.h>'.
17007
17008 Migrate full terminals to new API:
17009
17010 * term/efi/console.c (grub_console_term): Split into ...
17011 (grub_console_term_input): ... this, and ...
17012 (grub_console_term_output): ... this. Update all users.
17013 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
17014 (grub_ofconsole_init): Split into ...
17015 (grub_ofconsole_init_input): ... this, and ...
17016 (grub_ofconsole_init_output): ... this.
17017 (grub_ofconsole_term): Split into ...
17018 (grub_ofconsole_term_input): ... this, and ...
17019 (grub_ofconsole_term_output): ... this. Update all users.
17020 * term/i386/pc/serial.c (grub_serial_term): Split into ...
17021 (grub_serial_term_input): ... this, and ...
17022 (grub_serial_term_output): ... this. Update all users.
17023 * term/i386/pc/console.c (grub_console_term): Split into ...
17024 (grub_console_term_input): ... this, and ...
17025 (grub_console_term_output): ... this. Update all users.
17026 (grub_console_term_input): Only enable it on PC/BIOS platform.
17027 (grub_console_init): Remove grub_keyboard_controller_init() call.
17028
17029 Migrate input terminals to new API:
17030
17031 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
17032 `i386' and `i386/pc' to enable build on x86_64 (this driver is
17033 i386-specific anyway).
17034 (grub_console_checkkey): Rename to ...
17035 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
17036 users.
17037 (grub_keyboard_controller_orig): New variable.
17038 (grub_console_getkey): Rename to ...
17039 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
17040 users.
17041 (grub_keyboard_controller_init): Static-ize. Save original
17042 controller value so that it can be restored ...
17043 (grub_keyboard_controller_fini): ... here (new function).
17044 (grub_at_keyboard_term): New structure.
17045 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
17046 functions.
17047
17048 Migrate output terminals to new API:
17049
17050 * term/i386/pc/vga.c (grub_vga_term): Change type to
17051 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17052 members. Update all users.
17053 * term/gfxterm.c (grub_video_term): Change type to
17054 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17055 members. Update all users.
17056 * include/grub/i386/pc/console.h (grub_console_checkkey)
17057 (grub_console_getkey): Do not export (no longer needed by gfxterm,
17058 etc).
17059
17060 Migrate `terminal' command and userland tools to new API:
17061
17062 * commands/terminal.c (grub_cmd_terminal): Split into ...
17063 (grub_cmd_terminal_input): ... this, and ...
17064 (grub_cmd_terminal_output): ... this.
17065 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
17066 `terminal_input' and `terminal_output'.
17067 * util/grub.d/00_header.in: Adjust `terminal' calls to new
17068 `terminal_input' / `terminal_output' API.
17069 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
17070 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
17071 provided ${GRUB_TERMINAL}, convert it).
17072
96e5d876 170732008-11-04 Robert Millan <rmh@aybabtu.com>
17074
17075 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
17076 for FreeBSD.
17077 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
17078
556f3775 170792008-11-03 Bean <bean123ch@gmail.com>
17080
17081 * kern/elf.c (grub_elf32_load): Revert to previous code.
17082 (grub_elf64_load): Likewise.
17083
17084 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
17085
926b9823 170862008-11-01 Robert Millan <rmh@aybabtu.com>
17087
17088 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
17089 (TARGET_CPPFLAGS): Likewise.
17090 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
17091
1432e958 170922008-11-01 Carles Pina i Estany <carles@pina.cat>
17093
17094 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
17095
dba3f844 170962008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 17097
17098 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
17099 addition of objects until the code is not going to be able to fail.
17100
dba3f844 171012008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 17102
17103 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
17104 (add a missing NULL check, and correct them by moving the pointer
17105 operations after the actual check).
17106
7ab28c21 171072008-10-29 Robert Millan <rmh@aybabtu.com>
17108
17109 * util/i386/pc/grub-install.in: Handle empty string as output from
17110 make_system_path_relative_to_its_root().
17111
1b7748eb 171122008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
17113
17114 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
17115 circular metadata worst case scenario. If the metadata is circular
17116 then copy the wrap in place.
17117 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
17118 project lib/format_text/layout.h
17119 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
17120
c9618ab2 171212008-10-03 Felix Zielcke <fzielcke@z-51.de>
17122
7a36edca 17123 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 17124
bf981c62 171252008-10-03 Felix Zielcke <fzielcke@z-51.de>
17126
17127 * util/update-grub_lib.in: Mention filename in warning message.
17128
6d994591 171292008-09-29 Felix Zielcke <fzielcke@z-51.de>
17130
17131 * NEWS: Update for rename of update-grub to grub-mkconfig.
17132
18ade780 171332008-09-29 Felix Zielcke <fzielcke@z-51.de>
17134
17135 * util/update-grub_lib.in: Copy to ...
17136 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 17137 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 17138 * util/update-grub.in: Rename to ...
17139 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
17140 option. Add `--output' option to allow users to specify the generated
17141 configuration file. Default to stdout.
17142 (update_grub_dir): Rename to ...
17143 (grub_mkconfig_dir): ... this.
17144 (grub_cfg): Default to an empty string.
17145 * conf/common.rmk (update-grub): Rename to ...
17146 (grub-mkconfig): ... this.
17147 (update-grub_lib): Copy to ...
17148 (grub-mkconfig_lib): ... this.
17149 (update-grub_SCRIPTS): Copy to ...
17150 (grub-mkconfig_SCRIPTS): ... this. Update all users.
17151 (update-grub_DATA): Rename to ...
17152 (grub-mkconfig_DATA): ... this.
17153
556ce6ac 171542008-09-28 Robert Millan <rmh@aybabtu.com>
17155
17156 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
17157 to `modified'. Add the real `created' field.
17158 (grub_iso9660_uuid): Use `modified' rather than `created' for
17159 constructing the UUID.
17160
171612008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 17162
17163 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
17164 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
17165
92274e85 171662008-09-28 Bean <bean123ch@gmail.com>
17167
17168 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
17169 Thanks to Christian Franke for finding this bug.
17170
add6f17a 171712008-09-25 Robert Millan <rmh@aybabtu.com>
17172
17173 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
17174 instances of grub_util_get_disk_name() (see previous commit).
17175
d2a367b8 171762008-09-25 Robert Millan <rmh@aybabtu.com>
17177
17178 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
17179 `util/i386/get_disk_name.c'.
17180 * conf/i386-efi.rmk: Likewise.
17181 * conf/x86_64-efi.rmk: Likewise.
17182 * conf/i386-coreboot.rmk: Likewise.
17183 * conf/i386-ieee1275.rmk: Likewise.
17184 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
17185 `util/ieee1275/get_disk_name.c'.
17186 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
17187 * util/ieee1275/get_disk_name.c: Remove file.
17188 * util/i386/get_disk_name.c: Remove file.
17189 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
17190 "hd%d" for device.map entries, rather than using
17191 grub_util_get_disk_name().
17192
81a06771 171932008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 17194
17195 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
17196 warning.
17197 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
17198
5a004279 171992008-09-24 Carles Pina i Estany <carles@pina.cat>
17200
17201 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
17202 Changed to 0x5100.
17203 (GRUB_TERM_PPAGE): Changed to 0x4900.
17204
397093d3 172052008-09-24 Robert Millan <rmh@aybabtu.com>
17206
17207 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
17208 macros (they were i386-pc specific).
17209 * include/grub/sparc64/ieee1275/console.h: Likewise.
17210 * include/grub/efi/console.h: Likewise.
17211
a91b6c7c 172122008-09-22 Bean <bean123ch@gmail.com>
17213
17214 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
17215 resident and in attribute list.
17216
17217 * include/grub/ntfs.h (BMP_LEN): Removed.
17218
c40fd116 172192008-09-22 Bean <bean123ch@gmail.com>
17220
81a06771 17221 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 17222 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
17223
17224 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
17225 error occurs, as grub_disk_open will call grub_disk_close, which will
17226 call p->close (scsi).
17227
81a06771 172282008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 17229
17230 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
17231 (AC_PREREQ): Bumped to 2.59.
17232 (AC_TRY_COMPILE): Replace obsolete macro with ...
17233 (AC_COMPILE_IFELSE): ... this.
17234 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
17235 (AC_LINK_IFELSE): ... this.
17236
5dc43410 172372008-09-21 Felix Zielcke <fzielcke@z-51.de>
17238
17239 * autogen.sh: Add a call to `gendistlist.sh'.
17240
9035dce4 172412008-09-19 Christian Franke <franke@computer.org>
17242
17243 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
17244 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
17245 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
17246 Export __enable_execute_stack() to modules.
17247 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
17248 New function.
17249
7fd75377 172502008-09-09 Felix Zielcke <fzielcke@z-51.de>
17251
040030b3 17252 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
17253 Sort the list.
17254
172552008-09-09 Felix Zielcke <fzielcke@z-51.de>
17256
17257 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 17258 #include <grub/util/hostdisk.h>.
17259
89d5ffcf 172602008-09-08 Robert Millan <rmh@aybabtu.com>
17261
17262 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
17263 segments when their filesz is zero (grub_file_read() interprets
81a06771 17264 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 17265 Use `lowest_segment' rather than 0 for calculating the current
17266 segment load address.
17267
40da438f 172682008-09-08 Robert Millan <rmh@aybabtu.com>
17269
17270 * util/hostdisk.c (open_device): Replace a grub_util_info() call
17271 with grub_dprintf("hostdisk", ...), as it was so verbose that it
17272 clobbered useful information.
17273
ddbf5556 172742008-09-08 Robert Millan <rmh@aybabtu.com>
17275
17276 * include/grub/util/biosdisk.h: Move to ...
17277 * include/grub/util/hostdisk.h: ... here. Update all users.
17278 * util/biosdisk.c: Move to ...
17279 * util/hostdisk.c: ... here. Update all users.
17280
783d0f48 172812008-09-07 Robert Millan <rmh@aybabtu.com>
17282
17283 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
17284 variables.
17285 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
17286 and length can be stored directly in the `mbi->mmap_addr' and
17287 `mbi->mmap_length' struct fields.
17288
548e2ea5 172892008-09-07 Robert Millan <rmh@aybabtu.com>
17290
17291 * conf/i386.rmk: New file. Provides declaration for building
17292 `cpuid.mod'.
17293 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
17294 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
17295 variables.
17296 Include `conf/i386.mk'.
17297 * conf/i386-efi.rmk: Likewise.
17298 * conf/x86_64-efi.rmk: Likewise.
17299 * conf/i386-coreboot.rmk: Likewise.
17300 * conf/i386-ieee1275.rmk: Likewise.
17301
0ea85a37 173022008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
17303
17304 Based on patch created by Colin D Bennett <colin@gibibit.com>.
17305 Adds optimization support for BGR based modes.
17306
17307 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
17308 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
17309 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17310 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17311 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17312 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17313 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17314 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17315 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17316 (grub_video_i386_vbeblit_index_index): Likewise.
17317 (grub_video_i386_vbeblit_replace_directN): Added.
17318 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
17319 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
17320 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
17321 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
17322 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
17323 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 17324 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 17325 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
17326 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
17327 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
17328 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
17329 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
17330 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
17331
17332 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
17333 (grub_video_i386_vbefill_R8G8B8): Likewise.
17334 (grub_video_i386_vbefill_index): Likewise.
17335 (grub_video_i386_vbefill_direct32): Added.
17336 (grub_video_i386_vbefill_direct24): Likewise.
17337 (grub_video_i386_vbefill_direct16): Likewise.
17338 (grub_video_i386_vbefill_direct8): Likewise.
17339
81a06771 17340 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 17341 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
17342 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
17343 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
17344 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
17345 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 17346
0ea85a37 17347 * video/video.c (grub_video_get_blit_format): Updated to use new
17348 blit formats. Added handling for 16 bit color modes.
81a06771 17349
17350 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 17351 fillers.
17352 (common_blitter): Updated to use new blitters.
17353
17354 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
17355 Removed.
17356 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
17357 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
17358 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
17359 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
17360 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
17361 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
17362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
17363 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
17364 (grub_video_i386_vbeblit_index_index): Likewise.
17365 (grub_video_i386_vbeblit_replace_directN): Added.
17366 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
17367 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
17368 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
17369 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
17370 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
17371 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
17372 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
17373 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
17374 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
17375 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
17376 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
17377 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
17378 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 17379
0ea85a37 17380 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
17381 (grub_video_i386_vbefill_R8G8B8): Likewise.
17382 (grub_video_i386_vbefill_index): Likewise.
17383 (grub_video_i386_vbefill_direct32): Added.
17384 (grub_video_i386_vbefill_direct24): Likewise.
17385 (grub_video_i386_vbefill_direct16): Likewise.
17386 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 17387
0ea85a37 17388 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
17389 types.
81a06771 17390
0ea85a37 17391 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
17392 types.
81a06771 17393
0ea85a37 17394 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
17395 blitter types.
81a06771 17396
0ea85a37 17397 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
17398 types.
17399
e8a83df6 174002008-09-06 Felix Zielcke <fzielcke@z-51.de>
17401
17402 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
17403 RAID level 1.
17404
6bcd8ee5 174052008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 17406
6bcd8ee5 17407 * fs/iso9660.c (grub_iso9660_date): New structure.
17408 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
17409 (grub_iso9660_uuid): New function.
c375ae58 17410
59261157 174112008-09-05 Bean <bean123ch@gmail.com>
17412
17413 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
17414
17415 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
17416 insensitive bit for names in Win32 and Win32 & DOS namespace.
17417
17418 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
17419
17420 * include/grub/types.h (LONG_MAX): Likewise.
17421
58b6645a 174222008-09-04 Felix Zielcke <fzielcke@z-51.de>
17423
4ee55921 17424 * util/getroot.c: Include <config.h>.
17425 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
17426 add support for /dev/md/N devices and handle LVM double dash escaping.
17427
174282008-09-04 Felix Zielcke <fzielcke@z-51.de>
17429
17430 * config.guess: Update to latest version from config git.
17431 * config.sub: Likewise.
58b6645a 17432
9124f65d 174332008-09-03 Robert Millan <rmh@aybabtu.com>
17434
17435 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
17436 `disk->total_sectors'.
17437
81a06771 174382008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 17439
17440 * include/grub/normal.h: Fixed incorrect comment for
17441 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
17442
81a06771 174432008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 17444
17445 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
17446 values with defines.
17447
17448 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
17449 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
17450 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
17451 (GRUB_VBE_MODEATTR_COLOR): Likewise.
17452 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
17453 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
17454 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
17455 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
17456 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
17457 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
17458 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
17459 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
17460 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
17461 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
17462 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
17463 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
17464 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
17465 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
17466 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
17467
93d5cbf8 174682008-08-31 Robert Millan <rmh@aybabtu.com>
17469
17470 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
17471 declaration.
17472 (grub_multiboot): Fix a few warnings.
17473
21751d50 174742008-08-31 Robert Millan <rmh@aybabtu.com>
17475
17476 * loader/i386/pc/multiboot.c: Update comment not to say that
17477 boot_device support is unimplemented.
17478
e27a75c5 174792008-08-31 Robert Millan <rmh@aybabtu.com>
17480
17481 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
17482 or memory map support are unimplemented.
17483
81a06771 174842008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 17485
17486 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
17487
81a06771 174882008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 17489
17490 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
17491 total video memory in 'vbeinfo' output; show color format details for
17492 each video mode.
17493
7c5d8d95 174942008-08-30 Pavel Roskin <proski@gnu.org>
17495
17496 * util/genmoddep.c: Remove for real this time.
17497 * DISTLIST: Remove util/genmoddep.c.
17498
4cebd25a 174992008-08-30 Robert Millan <rmh@aybabtu.com>
17500
17501 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
17502 as required by Multiboot spec (it was already 4-byte aligned, but
17503 only by chance).
17504
b497a269 175052008-08-29 Pavel Roskin <proski@gnu.org>
17506
e3925185 17507 * kern/powerpc/ieee1275/crt0.S: Rename to ...
17508 * kern/powerpc/ieee1275/startup.S: ... this.
17509 * conf/powerpc-ieee1275.rmk: Adjust for the above.
17510 * DISTLIST: Likewise.
17511
b497a269 17512 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
17513 grub/cpu/kernel.h. Add start label for consistency with other
17514 platforms. Add grub_prefix immediately after start. Add jump
17515 to the code after grub_prefix.
17516 * include/grub/powerpc/kernel.h: Provide valid values for
17517 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
17518
6e5a42fe 175192008-08-29 Bean <bean123ch@gmail.com>
17520
17521 * configure.ac: Change host_os to cygwin for mingw.
17522 (asprintf): New check for function.
17523
17524 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
17525 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
17526
17527 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 17528 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 17529 sync, sleep and grub_util_get_disk_size for mingw.
17530
17531 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
17532 to get size in mingw.
17533 (open_device): Use flag O_BINARY if it's defined.
17534 (find_root_device): Add dummy code for mingw.
17535
17536 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
17537 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
17538 (get_scsi_disk_name): Return 0 for mingw.
17539
17540 * util/hostfs.c: #include <grub/util/misc.h>.
17541 (grub_hostfs_open): Use "rb" flag to open file, use
17542 grub_util_get_disk_size to get disk size for mingw.
17543
17544 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
17545 (asprintf): New function if HAVE_ASPRINTF is not set.
17546 (sync): New function for mingw.
17547 (sleep): Likewise.
17548 (grub_util_get_disk_size): Likewise.
17549
ab3f2673 175502008-08-28 Pavel Roskin <proski@gnu.org>
17551
17552 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17553 kern/time.c.
17554
1c282483 175552008-08-28 Robert Millan <rmh@aybabtu.com>
17556
17557 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
17558
678e849c 175592008-08-28 Robert Millan <rmh@aybabtu.com>
17560
17561 Change find_grub_drive() syntax so it doesn't prevent it from
17562 detecting NULL names as errors.
17563
17564 * util/biosdisk.c (find_grub_drive): Move free slot search code
17565 from here ...
17566 (find_free_slot): ... to here.
17567 (read_device_map): Use find_free_slot() to search for free slots.
17568
965c75ca 175692008-08-27 Marco Gerards <marco@gnu.org>
17570
17571 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
17572 (scsi_mod_SOURCES): New variable.
17573 (scsi_mod_CFLAGS): Likewise
17574 (scsi_mod_LDFLAGS): Likewise.
17575
17576 * disk/scsi.c: New file.
17577
17578 * include/grub/scsi.h: Likewise.
17579
17580 * include/grub/scsicmd.h: Likewise.
17581
17582 * disk/ata.c: Include <grub/scsi.h>.
17583 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
17584 instead.
17585 (grub_ata_iterate): Skip ATAPI devices.
17586 (grub_ata_open): Only handle ATAPI devices.
17587 (struct grub_atapi_read): Removed.
17588 (grub_atapi_readsector): Likewise.
17589 (grub_ata_read): No longer handle ATAPI devices.
17590 (grub_ata_write): Likewise.
17591 (grub_atapi_iterate): New function.
17592 (grub_atapi_read): Likewise.
17593 (grub_atapi_write): Likewise.
17594 (grub_atapi_open): Likewise.
17595 (grub_atapi_close): Likewise.
17596 (grub_atapi_dev): New variable.
17597 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
17598 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
17599
17600 * include/grub/disk.h (enum grub_disk_dev_id): Add
17601 `GRUB_DISK_DEVICE_SCSI_ID'.
17602
c07ae501 176032008-08-26 Robert Millan <rmh@aybabtu.com>
17604
17605 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
17606 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
17607 descriptive.
17608
5ed20adc 176092008-08-23 Bean <bean123ch@gmail.com>
17610
17611 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
17612 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
17613 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
17614 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
17615 dm_nv.mod.
17616 (raid5rec_mod_SOURCES): New macro.
17617 (raid5rec_mod_CFLAGS): Likewise.
17618 (raid5rec_mod_LDFLAGS): Likewise.
17619 (raid6rec_mod_SOURCES): Likewise.
17620 (raid6rec_mod_CFLAGS): Likewise.
17621 (raid6rec_mod_LDFLAGS): Likewise.
17622 (mdraid_mod_SOURCES): Likewise.
17623 (mdraid_mod_CFLAGS): Likewise.
17624 (mdraid_mod_LDFLAGS): Likewise.
17625 (dm_nv_mod_SOURCES): Likewise.
17626 (dm_nv_mod_CFLAGS): Likewise.
17627 (dm_nv_mod_LDFLAGS): Likewise.
17628
17629 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
17630 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
17631 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
17632
17633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
17634 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
17635
17636 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17637
17638 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17639
17640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17641
17642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17643
17644 * disk/raid5_recover.c: New file.
17645
17646 * disk/raid6_recover.c: Likewise.
17647
17648 * disk/mdraid_linux.c: Likewise.
17649
17650 * disk/dmraid_nvidia.c: Likewise.
17651
17652 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
17653 ULONG_MAX.
17654
17655 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
17656 calculate the size of raid device.
17657 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
17658 different layout of raid5.
17659 (grub_raid_scan_device): Remove code specific to mdraid.
17660 (grub_raid_list): New variable.
17661 (free_array): New function.
17662 (grub_raid_register): Likewise.
17663 (grub_raid_unregister): Likewise.
17664 (grub_raid_rescan): Likewise.
17665 (GRUB_MOD_INIT): Don't iterate device here.
17666 (GRUB_MOD_FINI): Use free_array to release resource.
17667
17668 * include/grub/raid.h: Remove macro and structure specific to mdraid.
17669 (grub_raid5_recover_func_t): New function variable type.
17670 (grub_raid6_recover_func_t): Likewise.
17671 (grub_raid5_recover_func): New variable.
17672 (grub_raid6_recover_func): Likewise.
17673 (grub_raid_register): New function.
17674 (grub_raid_unregister): Likewise.
17675 (grub_raid_rescan): Likewise.
17676 (grub_raid_block_xor): Likewise.
17677
17678 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
17679 (CMD_CRC): New macro.
17680 (part): Removed.
17681 (read_file): Handle device as well as file.
17682 (cmd_crc): New function.
17683 (fstest): Handle multiple disks.
17684 (options): Remove part, raw and long, add root and diskcount.
17685 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 17686 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 17687 add handling for the new options, support multiple disks.
17688
17689 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
17690
29c18915 176912008-08-23 Bean <bean123ch@gmail.com>
17692
17693 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
17694
17695 * genfslist.sh: Ignore kernel.mod.
17696
17697 * genpartmaplist.sh: Likewise.
17698
8415f261 176992008-08-23 Robert Millan <rmh@aybabtu.com>
17700
17701 * util/getroot.c (find_root_device): Skip anything that starts with
17702 a dot, not just directories. This avoids things like /dev/.tmp.md0.
17703
d5a7dc5b 177042008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 17705
d5a7dc5b 17706 * util/update-grub.in (GRUB_GFXMODE): Export variable.
17707 * util/grub.d/00_header.in: Allow the administrator to change default
17708 gfxmode via ${GRUB_GFXMODE}.
17709
380cfbb4 177102008-08-21 Felix Zielcke <fzielcke@z-51.de>
17711
17712 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
17713
c9baafe7 177142008-08-21 Robert Millan <rmh@aybabtu.com>
17715
17716 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
17717 loader.
17718 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
17719 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
17720
e290bef2 177212008-08-20 Carles Pina i Estany <carles@pina.cat>
17722
17723 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
17724 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
17725
f9dbfc96 177262008-08-19 Robert Millan <rmh@aybabtu.com>
17727
17728 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
17729 (struct grub_virtual_screen): Remove `cursor_color'.
17730 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
17731 initialization.
17732 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
17733
dd6bd6ab 177342008-08-18 Robert Millan <rmh@aybabtu.com>
17735
17736 Unify (identical) linux_normal.c files.
17737 * loader/i386/efi/linux_normal.c: Move from here ...
17738 * loader/linux_normal.c: ... to here. Update all users.
17739 * loader/i386/pc/linux_normal.c: Delete. Update all users.
17740 * loader/i386/ieee1275/linux_normal.c: Likewise.
17741
7f42f83e 177422008-08-18 Robert Millan <rmh@aybabtu.com>
17743
17744 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
17745 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
17746 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
17747 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
17748 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
17749 New macros.
17750 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
17751 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
17752 (GRUB_LINUX_CL_END_OFFSET): ... to here.
17753 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
17754 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
17755 (GRUB_EFI_CL_END_OFFSET): Rename to ...
17756 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
17757 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
17758 Initialize `params->video_cursor_x' and `params->video_cursor_y'
17759 portably using grub_getxy().
17760 Replace `-EFI' with `-bzImage' in boot message.
17761
38487ddb 177622008-08-17 Robert Millan <rmh@aybabtu.com>
17763
17764 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
17765
deceb3ec 177662008-08-17 Robert Millan <rmh@aybabtu.com>
17767
17768 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
17769
17770 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
17771 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
17772 (grub_machine_mmap_iterate): New function declaration.
17773 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
17774 structure.
17775 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
17776 macros.
17777
17778 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
17779 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
17780 Move e820 parsing from here ...
17781 * kern/i386/pc/mmap.c: New file.
17782 (grub_machine_mmap_iterate): ... to here.
17783
17784 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
17785 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
17786 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
17787 (grub_available_iterate): Redeclare to return `void', and redeclare
17788 its hook to use grub_uint64_t as addr and size parameters, and rename
17789 to ...
17790 (grub_machine_mmap_iterate): ... this. Update all users.
17791
17792 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
17793 to make it more readable. Rename to ...
17794 (grub_machine_mmap_iterate): ... this.
17795
17796 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
17797 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
17798 (grub_multiboot): Allocate an extra region after the payload, and fill
17799 it with a Multiboot memory map. Adjust a.out loader to calculate size
17800 with the extra space.
17801 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
17802 with the extra space.
17803
f8aa0f43 178042008-08-17 Carles Pina i Estany <carles@pina.cat>
17805
9807deb9 17806 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 17807
605f5bb6 178082008-08-17 Felix Zielcke <fzielcke@z-51.de>
17809
17810 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
17811 mdate-sh to the list `find' searches for.
17812 * DISTLIST: Regenerated.
17813
210db6c6 178142008-08-16 Felix Zielcke <fzielcke@z-51.de>
17815
17816 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
17817 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 17818 genmoddep.awk, gensymlist.sh.in.
17819 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 17820 * DISTLIST: Regenerated.
48cdbfd4 17821 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 17822
1082b929 178232008-08-16 Robert Millan <rmh@aybabtu.com>
17824
17825 * disk/raid.c (grub_raid_init): Handle/report errors set by
17826 grub_device_iterate().
17827 * disk/lvm.c (grub_lvm_init): Likewise.
17828
42ce5170 178292008-08-15 Bean <bean123ch@gmail.com>
17830
17831 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17832 and datehook.mod.
17833 (datetime_mod_SOURCES): New macro.
17834 (datetime_mod_CFLAGS): Likewise.
17835 (datetime_mod_LDFLAGS): Likewise.
17836 (date_mod_SOURCES): Likewise.
17837 (date_mod_CFLAGS): Likewise.
17838 (date_mod_LDFLAGS): Likewise.
17839 (datehook_mod_SOURCES): Likewise.
17840 (datehook_mod_CFLAGS): Likewise.
17841 (datehook_mod_LDFLAGS): Likewise.
17842
17843 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17844 and datehook.mod.
17845 (datetime_mod_SOURCES): New macro.
17846 (datetime_mod_CFLAGS): Likewise.
17847 (datetime_mod_LDFLAGS): Likewise.
17848 (date_mod_SOURCES): Likewise.
17849 (date_mod_CFLAGS): Likewise.
17850 (date_mod_LDFLAGS): Likewise.
17851 (datehook_mod_SOURCES): Likewise.
17852 (datehook_mod_CFLAGS): Likewise.
17853 (datehook_mod_LDFLAGS): Likewise.
17854
17855 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17856 and datehook.mod.
17857 (datetime_mod_SOURCES): New macro.
17858 (datetime_mod_CFLAGS): Likewise.
17859 (datetime_mod_LDFLAGS): Likewise.
17860 (date_mod_SOURCES): Likewise.
17861 (date_mod_CFLAGS): Likewise.
17862 (date_mod_LDFLAGS): Likewise.
17863 (datehook_mod_SOURCES): Likewise.
17864 (datehook_mod_CFLAGS): Likewise.
17865 (datehook_mod_LDFLAGS): Likewise.
17866
17867 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17868 and datehook.mod.
17869 (datetime_mod_SOURCES): New macro.
17870 (datetime_mod_CFLAGS): Likewise.
17871 (datetime_mod_LDFLAGS): Likewise.
17872 (date_mod_SOURCES): Likewise.
17873 (date_mod_CFLAGS): Likewise.
17874 (date_mod_LDFLAGS): Likewise.
17875 (datehook_mod_SOURCES): Likewise.
17876 (datehook_mod_CFLAGS): Likewise.
17877 (datehook_mod_LDFLAGS): Likewise.
17878
17879 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
17880 and datehook.mod.
17881 (datetime_mod_SOURCES): New macro.
17882 (datetime_mod_CFLAGS): Likewise.
17883 (datetime_mod_LDFLAGS): Likewise.
17884 (date_mod_SOURCES): Likewise.
17885 (date_mod_CFLAGS): Likewise.
17886 (date_mod_LDFLAGS): Likewise.
17887 (datehook_mod_SOURCES): Likewise.
17888 (datehook_mod_CFLAGS): Likewise.
17889 (datehook_mod_LDFLAGS): Likewise.
17890
17891 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
17892
17893 * commands/date.c: New file.
17894
17895 * hook/datehook.c: Likewise.
17896
17897 * include/grub/lib/datetime.h: Likewise.
17898
17899 * include/grub/i386/cmos.h: Likewise.
17900
17901 * lib/datetime.c: Likewise.
17902
17903 * lib/i386/datetime.c: Likewise.
17904
17905 * lib/efi/datetime.c: Likewise.
17906
0e9242da 179072008-08-14 Robert Millan <rmh@aybabtu.com>
17908
17909 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
17910 (grub_mkelfimage_SOURCES): New variable.
17911 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
17912
17913 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
17914 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
17915 * conf/powerpc-ieee1275.rmk: Likewise.
17916 * conf/i386-ieee1275.rmk: Likewise.
17917
17918 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
17919 * kern/i386/coreboot/init.c: Likewise.
17920
17921 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
17922 with `<grub/cpu/kernel.h>'.
17923 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
17924 to ...
17925 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
17926 * kern/i386/coreboot/startup.S: Likewise.
17927
17928 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
17929 (GRUB_MOD_GAP): Remove.
17930 * include/grub/powerpc/kernel.h: New file.
17931 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
17932 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17933 * include/grub/i386/kernel.h: New file.
17934 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
17935 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
17936 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
17937
17938 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
17939 `grub-mkelfimage'.
17940 Use --directory when invoking grub_mkimage.
17941
17942 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
17943 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
17944 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
17945 and GRUB_KERNEL_CPU_PREFIX.
17946
b86408f8 179472008-08-14 Felix Zielcke <fzielcke@z-51.de>
17948
d5e619ca 17949 * include/grub/err.h (grub_err_printf): New function prototype.
17950 * util/misc.c (grub_err_printf): New function.
17951 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
17952 grub_printf.
17953 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 17954
7161f0e0 179552008-08-13 Robert Millan <rmh@aybabtu.com>
17956
17957 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
17958
a1967522 179592008-08-13 Robert Millan <rmh@aybabtu.com>
17960
17961 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
17962 boot entry.
17963
371458b5 179642008-08-12 Robert Millan <rmh@aybabtu.com>
17965
17966 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
17967 of the relocation code from here ...
17968 (grub_multiboot): ... to here.
17969 (forward_relocator, backward_relocator): Move from here ...
17970 * kern/i386/loader.S (grub_multiboot_forward_relocator)
17971 (grub_multiboot_backward_relocator): ... to here.
17972 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
17973 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
17974 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
17975 (grub_multiboot_forward_relocator_end)
17976 (grub_multiboot_backward_relocator)
17977 (grub_multiboot_backward_relocator_end): New variables.
17978
05f9452b 179792008-08-12 Bean <bean123ch@gmail.com>
17980
17981 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
17982
20024ab0 179832008-08-11 Robert Millan <rmh@aybabtu.com>
17984
17985 * kern/i386/linuxbios/startup.S: Move from here ...
17986 * kern/i386/coreboot/startup.S: ... to here.
17987
17988 * kern/i386/linuxbios/init.c: Move from here ...
17989 * kern/i386/coreboot/init.c: ... to here.
17990
17991 * kern/i386/linuxbios/table.c: Move from here ...
17992 * kern/i386/coreboot/mmap.c: ... to here.
17993
17994 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
17995
e352e9cd 179962008-08-11 Robert Millan <rmh@aybabtu.com>
17997
17998 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
17999 errors. Leave it to the upper layer to handle them.
18000
2d05bc6a 180012008-08-09 Christian Franke <franke@computer.org>
18002
18003 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
18004 * conf/common.rmk: Install `grub-pe2elf' only if requested.
18005 Install `grub.d/10_windows' only on Cygwin.
18006 * configure.ac: Add subst of `target_os'.
18007 Check `target_os' also before setting TARGET_OBJ2ELF.
18008 Add `--enable-grub-pe2elf'.
18009
042bd419 180102008-08-08 Robert Millan <rmh@aybabtu.com>
18011
18012 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18013 (grub_last_time): Change type to grub_uint64_t.
18014 (grub_disk_open): Migrate code from to using grub_get_time_ms().
18015 (grub_disk_close): Likewise.
18016
18017 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18018 (run_menu): Migrate code from to using grub_get_time_ms().
18019
18020 * util/misc.c (grub_get_time_ms): New function.
18021
7f280db5 180222008-08-08 Marco Gerards <marco@gnu.org>
18023
18024 * disk/ata.c (grub_ata_regget): Change return type to
18025 `grub_uint8_t'.
18026 (grub_ata_regget2): Likewise.
18027 (grub_ata_wait_status): New function.
18028 (grub_ata_wait_busy): Removed function, updated all users to use
18029 `grub_ata_wait_status'.
18030 (grub_ata_wait_drq): Likewise.
18031 (grub_ata_cmd): New function.
18032 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
18033 error handling.
18034 (grub_ata_pio_write): Add error handling.
18035 (grub_atapi_identify): Likewise.
18036 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
18037 handling.
18038 (grub_ata_identify): Use `grub_ata_cmd' and improve error
18039 handling. Actually use the detected registers. Reorder the
18040 detection logic such that it is easier to read.
18041 (grub_ata_pciinit): Do not assign the same ID to each controller.
18042 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
18043 handling.
18044 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
18045
18046 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
18047
1fbc5e66 180482008-08-08 Marco Gerards <marco@gnu.org>
18049
18050 * NEWS: Update.
18051
819ce6c0 180522008-08-07 Bean <bean123ch@gmail.com>
18053
18054 * include/grub/x86_64/pci.h: New file.
18055
5c41d44d 180562008-08-07 Christian Franke <franke@computer.org>
18057
18058 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
18059 (TIMER2_GATE): Likewise.
18060 (grub_pit_wait): Add enable/disable of the timer2 gate
18061 bit of port 0x61. This fixes a possible infinite loop.
18062
5ebc275d 180632008-08-07 Bean <bean123ch@gmail.com>
18064
18065 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
18066 kern/i386/tsc.c and kern/i386/pit.c.
18067
18068 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
18069 x86_64 platform.
18070
18071 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
18072 <grub/i386/tsc.h>.
18073
18074 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
18075
e383b3d0 180762008-08-07 Bean <bean123ch@gmail.com>
18077
18078 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
18079
18080 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
18081
18082 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
18083 multiple inclusion. Add #include <grub/types.h>.
18084
1cbb58ac 180852008-08-06 Christian Franke <franke@computer.org>
18086
18087 * conf/common.rmk: Build and install `10_windows'.
18088 * util/grub.d/10_windows.in: New script.
18089
337f5a1e 180902008-08-06 Pavel Roskin <proski@gnu.org>
18091
18092 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
18093
057bc4ac 180942008-08-06 Robert Millan <rmh@aybabtu.com>
18095
18096 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
18097 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
18098
2b99f123 180992008-08-06 Bean <bean123ch@gmail.com>
18100
18101 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
18102 (grub_pxefs_fs_int): Remove dummy definition.
18103 (grub_pxefs_open): Use data->block_size to store the current block
18104 size setting.
18105 (grub_pxefs_read): Use block size stored in data->block_size. As the
18106 value of grub_pxe_blksize can be changed after the file is opened.
18107
9f0234cb 181082008-08-06 Bean <bean123ch@gmail.com>
18109
18110 * fs/i386/pc/pxe.c (curr_file): new variable.
18111 (grub_pxefs_open): Simply the handling of pxe file system. Don't
18112 require the dummy internal file system anymore.
18113 (grub_pxefs_read): Removed.
18114 (grub_pxefs_close): Likewise.
18115 (grub_pxefs_fs_int): Likewise.
18116 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
18117 connection when we switch file.
18118 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
18119
a55d42e0 181202008-08-06 Robert Millan <rmh@aybabtu.com>
18121
18122 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
18123 `halt.mod'.
18124 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
18125 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
18126
18127 * kern/i386/halt.c: New file.
18128 * kern/i386/reboot.c: Likewise.
18129 * include/grub/i386/reboot.h: Likewise.
18130 * include/grub/i386/halt.h: Likewise.
18131
18132 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
18133 Include `<grub/cpu/halt.h>'.
18134 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
18135 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
18136
18137 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
18138 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
18139 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
18140 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
18141 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
18142 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
18143 from here ...
18144 * include/grub/i386/at_keyboard.h: ... to here.
18145
24371d26 181462008-08-05 Robert Millan <rmh@aybabtu.com>
18147
18148 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
18149 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
18150 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
18151 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18152 `kern/generic/millisleep.c'.
18153
18154 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
18155 instead of grub_get_rtc().
18156 (grub_tsc_init): Initialize `tsc_boot_time'.
18157
18158 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
18159 (grub_machine_init): Use grub_tsc_init() rather than
18160 installing an RTC-based handler via grub_install_get_time_ms().
18161
18162 * kern/i386/pit.c: New file.
18163 * include/grub/i386/pit.h: Likewise.
18164
9e7007b3 181652008-08-05 Bean <bean123ch@gmail.com>
18166
18167 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
18168
18169 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
18170 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
18171 (pxe_mod_SOURCES): New macro.
18172 (pxe_mod_CFLAGS): Likewise.
18173 (pxe_mod_LDFLAGS): Likewise.
18174 (pxecmd_mod_SOURCES): Likewise.
18175 (pxecmd_mod_CFLAGS): Likewise.
18176 (pxecmd_mod_LDFLAGS): Likewise.
18177
18178 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
18179 (grub_pxe_call): Likewise.
18180
18181 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
18182
18183 * commands/i386/pc/pxecmd.c: New file.
18184
9f0234cb 18185 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 18186
18187 * include/grub/i386/pc/pxe.h: Likewise.
18188
6977d49f 181892008-08-05 Bean <bean123ch@gmail.com>
18190
18191 * util/console.c (grub_console_cur_color): New variable.
18192 (grub_console_standard_color): Likewise.
18193 (grub_console_normal_color): Likewise.
18194 (grub_console_highlight_color): Likewise.
18195 (color_map): Likewise.
18196 (use_color): Likewise.
18197 (NUM_COLORS): New macro.
18198 (grub_ncurses_setcolorstate): Handle color properly.
18199 (grub_ncurses_setcolor): Don't change color here, just remember the
18200 settings, color will be set in grub_ncurses_setcolorstate.
18201 (grub_ncurses_getcolor): New function.
18202 (grub_ncurses_init): Initialize color pairs.
18203 (grub_ncurses_term): New member grub_ncurses_getcolor.
18204
9c2ff3ee 182052008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 18206
9c2ff3ee 18207 High resolution timer support. Implemented for x86 CPUs using TSC.
18208 Extracted generic grub_millisleep() so it's linked in only as needed.
18209 This requires a Pentium compatible CPU; if the RDTSC instruction is
18210 not supported, then it falls back on the generic grub_get_time_ms()
18211 implementation that uses the machine's RTC.
18212
18213 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
18214 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18215 `kern/generic/millisleep.c'.
18216
18217 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
18218 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
18219
18220 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
18221 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
18222
18223 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18224
18225 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18226 `kern/generic/millisleep.c'.
18227
18228 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18229
18230 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
18231
18232 * kern/generic/rtc_get_time_ms.c: New file.
18233
18234 * kern/generic/millisleep.c: New file.
337f5a1e 18235
9c2ff3ee 18236 * kern/misc.c: Don't include
18237 <kern/time.h> anymore.
18238 (grub_millisleep_generic): Removed.
18239
18240 * commands/sleep.c (grub_interruptible_millisleep): Uses
18241 grub_get_time_ms() instead of grub_get_rtc().
18242
18243 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
18244 function.
18245 (grub_cpu_is_cpuid_supported): New inline function.
18246 (grub_cpu_is_tsc_supported): New inline function.
18247 (grub_tsc_init): New function prototype.
18248 (grub_tsc_get_time_ms): New function prototype.
18249
18250 * kern/i386/tsc.c (grub_get_time_ms): New file.
18251
18252 * include/grub/time.h: Include <grub/types.h.
18253 (grub_millisleep_generic): Removed.
18254 (grub_get_time_ms): New prototype.
18255 (grub_install_get_time_ms): New prototype.
18256 (grub_rtc_get_time_ms): New prototype.
18257
18258 * kern/time.c (grub_get_time_ms): New function.
18259 (grub_install_get_time_ms): New function.
18260
18261 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
18262 <grub/time.h> anymore.
18263 (grub_millisleep): Removed.
18264 (grub_machine_init): Call grub_tsc_init.
18265
18266 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
18267 get_time_ms() implementation.
18268
18269 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
18270 (ieee1275_get_time_ms): New function.
18271 (grub_machine_init): Install get_time_ms() implementation.
18272
18273 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
18274 (grub_machine_init): Call grub_tsc_init().
18275 (grub_millisleep): Removed.
bf06a93f 18276
9c2ff3ee 18277 * kern/ieee1275/init.c (grub_millisleep): Removed.
18278 (grub_machine_init): Install ieee1275_get_time_ms()
18279 implementation.
18280 (ieee1275_get_time_ms): New function.
18281 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
18282 real work.
18283
9ec92aaf 182842008-08-05 Marco Gerards <marco@gnu.org>
18285
18286 * disk/ata.c: Include <grub/pci.h>.
18287 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
18288 (grub_ata_initialize): Rewritten.
18289 (grub_ata_device_initialize): New function.
18290
8d23f507 182912008-08-04 Pavel Roskin <proski@gnu.org>
18292
18293 * kern/main.c: Include grub/mm.h.
18294
5e15ee3d 182952008-08-04 Robert Millan <rmh@aybabtu.com>
18296
18297 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
18298 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
18299 corruption problem).
18300
a9053f8f 183012008-08-04 Robert Millan <rmh@aybabtu.com>
18302
18303 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
18304 warnings introduced in my last commit.
18305
dd19c7d7 183062008-08-03 Robert Millan <rmh@aybabtu.com>
18307
18308 Make PCI available on all i386 architectures.
18309
18310 * include/grub/i386/pc/pci.h: Move from here ...
18311 * include/grub/i386/pci.h: ... to here.
18312
18313 * include/grub/i386/pc/pci.h: Remove.
18314 * include/grub/i386/efi/pci.h: Remove.
18315 * include/grub/x86_64/efi/pci.h: Remove.
18316
18317 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
18318 `<grub/cpu/pci.h>'.
18319
18320 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
18321 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
18322 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
18323
18324 * conf/i386-ieee1275.rmk: Likewise.
18325
e14a6184 183262008-08-03 Robert Millan <rmh@aybabtu.com>
18327
18328 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
18329 (grub_console_setcursor): Make it possible to set cursor off.
18330
52768e37 183312008-08-03 Robert Millan <rmh@aybabtu.com>
18332
18333 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
18334 of modules instead of assuming which platform provides what.
18335 * util/update-grub.in: Likewise.
18336
2d52f57f 183372008-08-03 Robert Millan <rmh@aybabtu.com>
18338
18339 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
18340 instead of `grub_install_dos_part' to determine whether a drive needs
18341 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 18342 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 18343
2a5cd121 183442008-08-02 Robert Millan <rmh@aybabtu.com>
18345
18346 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
18347
93808428 183482008-08-02 Robert Millan <rmh@aybabtu.com>
18349
18350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
18351 of informational grub_dprintf() calls.
18352
3bd0a12a 183532008-08-02 Robert Millan <rmh@aybabtu.com>
18354
18355 * disk/memdisk.c (memdisk_size): Don't initialize.
18356 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
18357
18358 * include/grub/i386/pc/kernel.h
18359 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
18360 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
18361 (grub_memdisk_image_size, grub_arch_memdisk_addr)
18362 (grub_arch_memdisk_size): Remove.
18363
18364 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
18365 field (was only used to transfer a constant). Add `type' field to
18366 support multiple module types.
18367 (grub_module_iterate): New function.
18368
18369 * kern/device.c (grub_device_open): Do not hide error messages
18370 when grub_disk_open() fails. Use grub_print_error() instead.
18371
18372 * kern/i386/pc/init.c (grub_arch_modules_addr)
18373 (grub_arch_memdisk_size): Remove functions.
18374 (grub_arch_modules_addr): Return the module address in high memory
18375 (now that it isn't copied anymore).
18376
18377 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
18378 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
18379 decompression routine (grub_total_module_size already includes that
18380 now). Don't copy modules back to low memory.
18381
18382 * kern/main.c: Include `<grub/mm.h>'.
18383 (grub_load_modules): Split out (and use) ...
18384 (grub_module_iterate): ... this function, which iterates through
18385 module objects and runs a hook.
18386 Comment out grub_mm_init_region() call, as it would cause non-ELF
18387 modules to be overwritten.
18388
18389 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
18390 the memdisk image in its own region, make it part of the module list.
18391 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
18392 (main): Parse --memdisk|-m option, and pass user-provided path as
18393 parameter to generate_image().
18394 (add_segments): Pass `memdisk_path' down to load_modules().
18395 (load_modules): Embed memdisk image in module section when requested.
18396 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
18397 `header.type' instead of `header.offset'.
18398
18399 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
18400 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
18401 (memdisk_mod_LDFLAGS): New variables.
18402 * conf/i386-coreboot.rmk: Likewise.
18403 * conf/i386-ieee1275.rmk: Likewise.
18404
a927cc73 184052008-08-02 Robert Millan <rmh@aybabtu.com>
18406
18407 * loader/i386/pc/multiboot.c (playground, forward_relocator)
18408 (backward_relocator): New variables. Used to allocate and relocate
18409 the payload, respectively.
18410 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 18411 address, install the appropriate relocator code in each bound of
a927cc73 18412 the payload, and set the entry point such that
18413 grub_multiboot_real_boot() will jump to one of them.
18414
18415 * kern/i386/loader.S (grub_multiboot_payload_size)
18416 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
18417 (grub_multiboot_payload_entry_offset): New variables.
18418 (grub_multiboot_real_boot): Set cpu context to what the relocator
18419 expects, and jump to the relocator instead of the payload.
18420
18421 * include/grub/i386/loader.h (grub_multiboot_payload_size)
18422 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
18423 (grub_multiboot_payload_entry_offset): Export.
18424
b15d8a0c 184252008-08-01 Bean <bean123ch@gmail.com>
18426
18427 * normal/menu_entry.c (editor_getline): Don't return the original
18428 string as result, as it will be released by lexer once it has done
18429 using it.
18430
cdfb3d22 184312008-08-01 Robert Millan <rmh@aybabtu.com>
18432
18433 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
18434 within menuentries, not before them.
18435 util/grub.d/10_hurd.in: Likewise.
18436
9175e93d 184372008-08-01 Bean <bean123ch@gmail.com>
18438
18439 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
18440 (bufio_mod_SOURCES): New macro.
18441 (bufio_mod_CFLAGS): Likewise.
18442 (bufio_mod_LDFLAGS): Likewise.
18443
18444 * include/grub/bufio.h: New file.
18445
18446 * io/bufio.c: Likewise.
18447
18448 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
18449 (grub_video_reader_png): Use grub_buffile_open to open file.
18450
18451 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
18452 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
18453
18454 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
18455 (grub_video_reader_tga): Use grub_buffile_open to open file.
18456
18457 * font/manager.c: Include <grub/bufio.h>.
18458 (add_font): Use grub_buffile_open to open file.
18459
3d8383e7 184602008-07-31 Robert Millan <rmh@aybabtu.com>
18461
18462 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
18463 ELF segments, use a macro for arbitrarily accessing any of them instead
18464 of preparing a pointer that allows access to one at a time.
18465 (grub_multiboot_load_elf64): Likewise.
18466
16e641b6 184672008-07-31 Bean <bean123ch@gmail.com>
18468
18469 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
18470 GRUB_KERNEL_MACHINE_DATA_END.
18471
59198b72 184722008-07-30 Robert Millan <rmh@aybabtu.com>
18473
18474 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
18475 Increase from 0x50 to 0x60.
18476 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
18477 use UUIDs to identify the root drive for them. If that's not
18478 possible, abort.
18479 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
18480 check, for cross-disk installs.
18481
ae88bca3 184822008-07-30 Robert Millan <rmh@aybabtu.com>
18483
18484 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
18485 is non-empty, use it to set the `prefix' environment variable instead
18486 of the usual approach.
18487 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
18488 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
18489 environment variable instead of dummy make_install_device().
18490
18491 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
18492 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 18493 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 18494
18495 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
18496 New variable reference.
18497 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
18498 New macro. Defines offset of `grub_prefix' within startup.S (relative
18499 to `start').
18500 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
18501 section within startup.S (relative to `start').
18502 * include/grub/i386/coreboot/kernel.h: Likewise.
18503
18504 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
18505 Overwrite grub_prefix with its contents, at the beginning of the
18506 first segment.
18507 (main): Understand -p|--prefix.
18508
14f41dd1 185092008-07-30 Robert Millan <rmh@aybabtu.com>
18510
18511 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
18512
4ca049a3 185132008-07-30 Robert Millan <rmh@aybabtu.com>
18514
18515 * term/i386/pc/vga_text.c (grub_console_cls): Use
18516 grub_console_gotoxy() to go back to beginning of the screen.
18517 Found by Patrick Georgi <patrick.georgi@coresystems.de>
18518
2921d337 185192008-07-29 Christian Franke <franke@computer.org>
18520
18521 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
18522 Add conversion of emulated mount points on Cygwin.
18523
b609876d 185242008-07-29 Christian Franke <franke@computer.org>
18525
18526 * util/update-grub.in: Add a check for admin
18527 group on Cygwin.
18528 Remove old `grub.cfg.new' before creation.
18529 Add `-f' to `mv' to handle the different filesystem
18530 semantics of Windows.
18531
e93e4679 185322008-07-29 Bean <bean123ch@gmail.com>
18533
18534 * normal/main.c (get_line): Fix buffer overflow bug.
18535
41694fd0 185362008-07-28 Robert Millan <rmh@aybabtu.com>
18537
18538 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
18539 (struct grub_apple_header): New struct. Describes the layout of
18540 the partmap header.
18541 (apple_partition_map_iterate): Check the header magic as well as the
18542 partition magic (which was already being checked).
18543
cfd0b4e6 185442008-07-28 Pavel Roskin <proski@gnu.org>
18545
18546 * genmk.rb: Add a warning to the beginning of the output that
18547 it's a generated file and should not be edited.
18548
93cce016 185492008-07-28 Robert Millan <rmh@aybabtu.com>
18550
18551 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18552 with the same number are found, just use issue a warning with
18553 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 18554
cd1df915 185552008-07-27 Robert Millan <rmh@aybabtu.com>
18556
18557 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
18558 information.
18559
b70a8427 185602008-07-27 Bean <bean123ch@gmail.com>
18561
18562 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
18563 (grub_fat_find_dir): Ignore case when comparing filename.
18564
8f5e379f 185652008-07-27 Bean <bean123ch@gmail.com>
18566
18567 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
18568 smallino, as it's more descriptive, and i8count can be confused with
18569 the other field count.
18570 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
18571 inode type.
18572
a85cd5a0 185732008-07-27 Bean <bean123ch@gmail.com>
18574
18575 * commands/crc.c: New file.
18576
18577 * lib/crc.c: Likewise.
18578
18579 * include/grub/lib/crc.h: Likewise.
18580
18581 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
18582
18583 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
18584 (hexdump): Move this function to ...
18585
18586 * lib/hexdump.c: ... here.
18587
18588 * include/grub/hexdump.h: Renamed to ...
18589
18590 * include/grub/lib/hexdump.h: ... this.
18591
18592 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
18593
18594 * util/grub-editenv.c: Likewise.
18595
18596 * include/envblk.h: Renamed to ...
18597
18598 * include/lib/envblk.h: ... this.
18599
18600 * util/envblk.c: Renamed to ...
18601
18602 * lib/envblk.c: ... this.
18603
18604 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
18605 lib/hexdump.c.
18606 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
18607 (pkglib_MODULES): Add crc.mod.
18608 (hexdump_mod_SOURCES): Add lib/hexdump.c.
18609 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
18610 (crc_mod_SOURCES): New macro.
18611 (crc_mod_CFLAGS): Likewise.
18612 (crc_mod_LDFLAGS): Likewise.
18613
18614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
18615
18616 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18617
18618 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18619
18620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18621
18622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18623
c298def0 186242008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 18625
18626 * commands/help.c: Include <grub/term.h>.
18627 (TERM_WIDTH): Removed. Updated all users.
18628
cc349fb3 186292008-07-27 Pavel Roskin <proski@gnu.org>
18630
18631 * util/getroot.c (find_root_device): Rephrase a comment to avoid
18632 spurious warnings about a comment within a comment.
18633
9051607e 186342008-07-25 Robert Millan <rmh@aybabtu.com>
18635
18636 * util/getroot.c (find_root_device): Skip devices that match
18637 /dev/dm-[0-9]. This lets the real device be found for any type of
18638 abstraction (LVM, EVMS, RAID..).
18639 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
18640 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
18641 device is found first, find_root_device() will now skip it.
18642
01453bfc 186432008-07-24 Pavel Roskin <proski@gnu.org>
18644
18645 * include/grub/types.h: Use __builtin_bswap32() and
18646 __builtin_bswap64() with gcc 4.3 and newer.
18647
6af9849f 186482008-07-24 Christian Franke <franke@computer.org>
18649
3a0fa256 18650 * util/i386/pc/grub-install.in: If `--debug' is specified,
18651 pass `--verbose' to grub-setup.
18652 Abort script if make_system_path_relative_to_its_root() fails.
18653
7810e747 186542008-07-24 Bean <bean123ch@gmail.com>
18655
18656 * configure.ac: Fixed a bug caused by the previous cygwin patch,
18657 variable `target_platform' should be `platform'.
18658
42290e17 186592008-07-24 Bean <bean123ch@gmail.com>
18660
51cc5193 18661 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 18662 (grub_png_init_fixed_block): New function.
18663 (grub_png_decode_image_data): Handle fixed huffman code compression.
18664
2a8a80e4 186652008-07-24 Bean <bean123ch@gmail.com>
18666
18667 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
18668 (grub_pe2elf_SOURCES): New macro.
18669 (CLEANFILES): Add grub-pe2elf.
18670
18671 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
18672 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
18673 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
18674 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
18675 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
18676 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
18677 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
18678 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
18679 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
18680 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
18681 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
18682 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
18683 (GRUB_PE32_DT_FUNCTION): Likewise.
18684 (GRUB_PE32_REL_I386_DIR32): Likewise.
18685 (GRUB_PE32_REL_I386_REL32): Likewise.
18686 (grub_pe32_symbol): New structure.
18687 (grub_pe32_reloc): Likewise.
18688
18689 * util/grub-pe2elf.c: New file.
18690
18691 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
18692 start symbol in non pc platform.
18693
18694 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
18695
18696 The following patches are from Christian Franke.
18697
18698 * include/grub/dl.h: Remove .previous, gas supports this only
18699 for ELF format.
18700
18701 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
18702 Remove .type, gas supports this only for ELF format.
18703
18704 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
18705 nullbytes in symbol table. This fixes an infinite loop if table is
18706 zero filled.
18707
18708 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
18709 TARGET_IMG_LDFLAGS and EXEEXT.
18710
18711 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
18712 TARGET_IMG_LDFLAGS_AC.
18713 (grub_CHECK_STACK_ARG_PROBE): New function.
18714
18715 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
18716
18717 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
18718
18719 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
18720 to set TARGET_IMG_LD* accordingly.
18721 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
18722 Add call to grub_CHECK_STACK_ARG_PROBE.
18723 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
18724
18725 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
18726
18727 * genmk.rb: Add EXEEXT to CLEANFILES.
18728
12ccdb75 187292008-07-23 Robert Millan <rmh@aybabtu.com>
18730
18731 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
18732 define the codes for arrows and lines used for the menu).
18733 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
18734 as well.
18735
18736 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
18737 fonts, because the latter are too slow.
18738
18eeaf04 187392008-07-21 Bean <bean123ch@gmail.com>
18740
18741 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
18742 a20. Run keyboard test last, as it will cause macbook to halt.
18743
b095e2ad 187442008-07-18 Pavel Roskin <proski@gnu.org>
18745
18746 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
18747 load foreign architecture modules correctly anyway. Keep
18748 support for loading host architecture modules, whether we
18749 compile them or not.
18750
737feb35 187512008-07-17 Pavel Roskin <proski@gnu.org>
18752
3f4ce737 18753 * configure.ac: Use -m32 or -m64 regardless of whether we had to
18754 change target_cpu. The compiler default can mismatch target_cpu
18755 in any case.
18756
4ad2d049 18757 * disk/efi/efidisk.c: Fix format warnings on x86_64.
18758 * kern/efi/efi.c: Likewise.
18759
f6130a12 18760 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
18761 target compiler is functional.
18762 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
18763 are set up.
18764
58393a2d 18765 * configure.ac: Default to efi platform for x86_64-apple. Allow
18766 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
18767 adjustments from the rest, only do them if target is not
18768 explicitly given. Merge other adjustments with the final sanity
18769 check. Remove an extraneous check for supported CPU. Be
18770 specific which CPU and which platform is not supported.
18771
737feb35 18772 * configure.ac: Default to pc platform for x86_64.
18773
546f966a 187742008-07-17 Robert Millan <rmh@aybabtu.com>
18775
18776 Partial LinuxBIOS -> Coreboot rename.
18777
18778 * conf/i386-linuxbios.rmk: Renamed to ...
18779 * conf/i386-coreboot.rmk: ... this.
18780 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
18781 * configure.ac: Accept "coreboot" as input platform (but maintain
18782 compatibility with "linuxbios").
18783 * include/grub/i386/linuxbios: Renamed to ...
18784 * include/grub/i386/coreboot: ... this.
18785
20011694 187862008-07-17 Bean <bean123ch@gmail.com>
18787
18788 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 18789 (appleldr_mod_SOURCE): New variable.
20011694 18790 (appleldr_mod_CFLAGS): Likewise.
18791 (appleldr_mod_LDFLAGS): Likewise.
18792 (pci_mod_SOURCES): Likewise.
18793 (pci_mod_CFLAGS): Likewise.
18794 (pci_mod_LDFLAGS): Likewise.
18795 (lspci_mod_SOURCES): Likewise.
18796 (lspci_mod_CFLAGS): Likewise.
18797 (lspci_mod_LDFLAGS): Likewise.
18798
18799 * conf/x86_64-efi.rmk: New file.
18800
18801 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
18802 macro.
18803 (grub_efidisk_write): Likewise.
18804
18805 * include/efi/api.h (efi_call_0): New macro.
18806 (efi_call_1): Likewise.
18807 (efi_call_2): Likewise.
18808 (efi_call_3): Likewise.
18809 (efi_call_4): Likewise.
18810 (efi_call_5): Likewise.
18811 (efi_call_6): Likewise.
18812
18813 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
18814 grub_rescue_cmd_chainloader.
18815
18816 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
18817 (grub_pe32_optional_header): Change some fields based on i386 or
18818 x86_64 platform.
18819 (GRUB_PE32_PE32_MAGIC): Likewise.
18820
18821 * include/grub/efi/uga_draw.h: New file.
18822
18823 * include/grub/elf.h (STN_ABS): New constant.
18824 (R_X86_64_NONE): Relocation constant for x86_64.
18825 (R_X86_64_64): Likewise.
18826 (R_X86_64_PC32): Likewise.
18827 (R_X86_64_GOT32): Likewise.
18828 (R_X86_64_PLT32): Likewise.
18829 (R_X86_64_COPY): Likewise.
18830 (R_X86_64_GLOB_DAT): Likewise.
18831 (R_X86_64_JUMP_SLOT): Likewise.
18832 (R_X86_64_RELATIVE): Likewise.
18833 (R_X86_64_GOTPCREL): Likewise.
18834 (R_X86_64_32): Likewise.
18835 (R_X86_64_32S): Likewise.
18836 (R_X86_64_16): Likewise.
18837 (R_X86_64_PC16): Likewise.
18838 (R_X86_64_8): Likewise.
18839 (R_X86_64_PC8): Likewise.
18840
18841 * include/grub/i386/efi/pci.h: New file.
18842
18843 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
18844 Change it value based on platform.
18845 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
18846 (GRUB_E820_RAM): Likewise.
18847 (GRUB_E820_RESERVED): Likewise.
18848 (GRUB_E820_ACPI): Likewise.
18849 (GRUB_E820_NVS): Likewise.
18850 (GRUB_E820_EXEC_CODE): Likewise.
18851 (GRUB_E820_MAX_ENTRY): Likewise.
18852 (grub_e820_mmap): New structure.
18853 (linux_kernel_header): Change the efi field according to different
18854 kernel version, also field from linux_kernel_header.
18855
18856 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
18857
18858 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
18859 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
18860 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
18861 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
18862 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
18863 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
18864 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
18865 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
18866 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
18867 (GRUB_PCI_ADDR_IO_MASK): Likewise.
18868
18869 * include/grub/x86_64/efi/kernel.h: New file.
18870
18871 * include/grub/x86_64/efi/loader.h: Likewise.
18872
18873 * include/grub/x86_64/efi/machine.h: Likewise.
18874
18875 * include/grub/x86_64/efi/pci.h: Likewise.
18876
18877 * include/grub/x86_64/efi/time.h: Likewise.
18878
18879 * include/grub/x86_64/linux.h: Likewise.
18880
18881 * include/grub/x86_64/setjmp.h: Likewise.
18882
18883 * include/grub/x86_64/time.h: Likewise.
18884
18885 * include/grub/x86_64/types.h: Likewise.
18886
18887 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
18888 GRUB_TARGET_SIZEOF_VOID_P.
18889
18890 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
18891 (grub_efi_locate_handle): Likewise.
18892 (grub_efi_open_protocol): Likewise.
18893 (grub_efi_set_text_mode): Likewise.
18894 (grub_efi_stall): Likewise.
18895 (grub_exit): Likewise.
18896 (grub_reboot): Likewise.
18897 (grub_halt): Likewise.
18898 (grub_efi_exit_boot_services): Likewise.
18899 (grub_get_rtc): Likewise.
18900
18901 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
18902 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
18903 (grub_efi_allocate_pages): Wrap efi calls.
18904 (grub_efi_free_pages): Wrap efi calls.
18905 (grub_efi_get_memory_map): Wrap efi calls.
18906
18907 * kern/x86_64/dl.c: New file.
18908
18909 * kern/x86_64/efi/callwrap.S: Likewise.
18910
18911 * kern/x86_64/efi/startup.S: Likewise.
18912
18913 * loader/efi/appleloader.c: Likewise.
18914
18915 * loader/efi/chainloader.c (cmdline): New variable.
18916 (grub_chainloader_unload): Wrap efi calls.
18917 (grub_chainloader_boot): Likewise.
18918 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
18919 command line.
18920
18921 * loader/efi/chainloader_normal.c (chainloader_command):
18922 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
18923 command line.
18924
18925 * loader/i386/efi/linux.c (allocate_pages): Change allocation
18926 method.
18927 (grub_e820_add_region): New function.
18928 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
18929 booting.
18930 (grub_find_video_card): New function.
18931 (grub_linux_setup_video): New function.
18932 (grub_rescue_cmd_linux): Probe for video information.
18933
18934 * normal/x86_64/setjmp.S: New file.
18935
18936 * term/efi/console.c (map_char): New function.
18937 (grub_console_putchar): Map unicode char.
18938 (grub_console_checkkey): Wrap efi calls.
18939 (grub_console_getkey): Likewise.
18940 (grub_console_getwh): Likewise.
18941 (grub_console_gotoxy): Likewise.
18942 (grub_console_cls): Likewise.
18943 (grub_console_setcolorstate): Likewise.
18944 (grub_console_setcursor): Likewise.
18945
18946 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
18947
59652a20 189482008-07-16 Pavel Roskin <proski@gnu.org>
18949
ef294055 18950 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
18951 format strings.
18952
59652a20 18953 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
18954 pointer, not an integer. This fixes a warning and prevents
18955 precision loss on 64-bit systems.
18956 (relocate_addresses): Remove unneeded cast.
18957
afc3b5d7 189582008-07-15 Pavel Roskin <proski@gnu.org>
18959
506b2b3e 18960 * kern/i386/ieee1275/init.c: Include grub/cache.h.
18961
62ead89c 18962 * term/ieee1275/ofconsole.c: Disable code unused on i386.
18963
c4cd51d7 18964 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
18965 Fix comparison between signed and unsigned.
18966
0d3d8f28 18967 * include/grub/i386/ieee1275/console.h: Declare
18968 grub_console_init() and grub_console_fini().
18969
8804b286 18970 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
18971 It's empty and unused.
18972
ee01cf35 18973 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
18974 beginning to avoid warnings with some compilers.
18975
afc3b5d7 18976 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
18977 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
18978
e4e8eaa5 189792008-07-14 Pavel Roskin <proski@gnu.org>
18980
407aceb4 18981 * kern/env.c (grub_register_variable_hook): Don't copy empty
18982 string, it leaks memory. Pass "" to grub_env_set(), it should
18983 handle constant strings.
18984
e4e8eaa5 18985 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
18986 * commands/cmp.c (grub_cmd_cmp): Likewise.
18987 * kern/dl.c (grub_dl_flush_cache): Likewise.
18988 (grub_dl_load_core): Likewise.
18989 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
18990 (grub_elf64_load_phdrs): Likewise.
18991
d4e2dad3 189922008-07-13 Pavel Roskin <proski@gnu.org>
18993
18994 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
18995 between signed and unsigned.
18996 (LzmaEnc_Finish): Fix warning about an unused parameter.
18997
aa24b516 189982008-07-13 Bean <bean123ch@gmail.com>
18999
19000 * Makefile.in (enable_lzo): New rule.
19001
19002 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
19003
19004 * configure.ac (ENABLE_LZO): New option --enable-lzo.
19005
19006 * boot/i386/pc/lnxboot.S: #include <config.h>.
19007
19008 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 19009 its value according to the compression algorithm used, lzo or lzma.
aa24b516 19010
19011 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
19012 compression algorithm according to configure macro.
19013
19014 * kern/i386/pc/startup.S (codestart): Likewise.
19015
19016 * kern/i386/pc/lzma_decode.S: New file.
19017
19018 * include/grub/lib/LzFind.h: Likewise.
19019
19020 * include/grub/lib/LzHash.h: Likewise.
19021
19022 * include/grub/lib/LzmaDec.h: Likewise.
19023
19024 * include/grub/lib/LzmaEnc.h: Likewise.
19025
19026 * include/grub/lib/LzmaTypes.h: Likewise.
19027
19028 * lib/LzFind.c: Likewise.
19029
19030 * lib/LzmaDec.c: Likewise.
19031
19032 * lib/LzmaEnc.c: Likewise.
19033
4ae821ac 190342008-07-13 Bean <bean123ch@gmail.com>
19035
19036 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
19037 (grub_ext4_extent_header): New structure.
19038 (grub_ext4_extent): Likewise.
19039 (grub_ext4_extent_idx): Likewise.
19040 (grub_ext4_find_leaf): New function.
19041 (grub_ext2_read_block): Handle extents.
19042
9a745147 190432008-07-12 Robert Millan <rmh@aybabtu.com>
19044
19045 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
19046
d49a4cf6 190472008-07-11 Robert Millan <rmh@aybabtu.com>
19048
19049 * util/grub.d/40_custom.in: New file. Example on how to add custom
19050 entries to /etc/grub.d.
19051 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
19052 40_custom (implicitly, by merging all the grub.d rules).
19053
947414b4 190542008-07-11 Pavel Roskin <proski@gnu.org>
19055
0059cf6f 19056 * commands/read.c (grub_getline): Fix invalid memory access.
19057 Don't add newline to the variable value.
19058
947414b4 19059 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
19060 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
19061 (serial_hw_get_port): Check validity of the port number.
19062 (grub_cmd_serial): Check return value of serial_hw_get_port().
19063
62a02d00 190642008-07-07 Pavel Roskin <proski@gnu.org>
19065
19066 * boot/i386/pc/diskboot.S (notification_string): Replace
19067 "Loading kernel" with just "loading". This is shorter, less
19068 confusing and saves a few bytes for possible future changes.
19069
3e5581b0 190702008-07-05 Pavel Roskin <proski@gnu.org>
19071
ea387a48 19072 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
19073 size for ATAPI devices, they are undefined. Output sector
19074 number in decimal form.
19075
3e5581b0 19076 * disk/ata.c: Use named constants for status bits.
19077
fdecb8fd 190782008-07-04 Pavel Roskin <proski@gnu.org>
19079
bcd35b90 19080 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
19081 grub_addr_t before casting it to the void pointer to fix a
19082 warning. Non-addressable regions are discarded earlier.
19083 (grub_arch_modules_addr): Cast _end to grub_addr_t.
19084 * kern/i386/linuxbios/table.c: Include grub/misc.h.
19085 (check_signature): Don't shadow table_header.
19086 (grub_linuxbios_table_iterate): Cast numeric constants to
19087 grub_linuxbios_table_header_t.
19088 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
19089 grub_stop().
19090
af58ab3d 19091 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
19092 prevent warnings.
19093
1759aa57 19094 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
19095 pointer, which can cause warnings. Support 64-bit addresses.
19096
fdecb8fd 19097 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
19098 of sizeof(long). This fixes PowerPC image generation on x86_64.
19099
8516d2a8 191002008-07-04 Robert Millan <rmh@aybabtu.com>
19101
19102 This fixes a performance issue when pc & gpt partmap iterators
19103 didn't abort iteration even after our hook found what it was
fe987087 19104 looking for (often causing expensive probes of non-existent drives).
8516d2a8 19105
19106 Some callers relied on previous buggy behaviour, since they would
34c44600 19107 raise an error when their own hooks caused early abortion of its
8516d2a8 19108 iteration.
19109
19110 * kern/device.c (grub_device_open): Improve error message.
19111 * disk/lvm.c (grub_lvm_open): Likewise.
19112 * disk/raid.c (grub_raid_open): Likewise.
19113
19114 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
19115 when hook requests it, independently of grub_errno.
19116 (pc_partition_map_probe): Do not fail when find_func() caused
19117 early abortion of pc_partition_map_iterate().
19118
19119 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
19120 when hook requests it, independently of grub_errno.
19121 (gpt_partition_map_probe): Do not fail when find_func() caused
19122 early abortion of gpt_partition_map_iterate().
19123
19124 * kern/partition.c (grub_partition_iterate): Abort parent iteration
19125 when hook requests it, independently of grub_errno. Do not fail when
19126 part_map_iterate_hook() caused early abortion of p->iterate().
19127
19128 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
19129 when grub_partition_iterate() returned with non-zero.
19130
277d0de9 191312008-07-03 Pavel Roskin <proski@gnu.org>
19132
19133 * disk/ata.c (grub_ata_pio_write): Check status before writing,
19134 like we do in grub_ata_pio_read().
19135 (grub_ata_readwrite): Always write individual sectors. Fix the
19136 sector count for the remainder.
19137 (grub_ata_write): Enable writing to ATA devices. Correctly
19138 report error for ATAPI devices.
19139
d4c9b428 191402008-07-02 Pavel Roskin <proski@gnu.org>
19141
e43fc690 19142 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
19143 warning.
19144
f707af42 19145 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
19146 for every read sector, we already increment it for the whole
19147 batch. This fixes reading more than 256 sectors at once.
19148
11e16b15 19149 * util/grub-editenv.c (cmd_info): Cast argument to long
19150 explicitly. ptrdiff_t reduces to int on i386.
19151
cbabfdd4 19152 * util/grub-editenv.c (main): Be specific which parameter is
19153 missing.
19154
b8fbce0a 19155 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
19156 (memdisk): Make memdisk_orig_addr a pointer.
19157
c9c8e606 19158 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
19159 for file offsets, use grub_off_t instead. Fix printf format
19160 warnings.
19161
ca62e598 19162 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
19163 there. Real unexpected warnings should not drown in the noise
19164 about known problems.
19165
ce8d1766 19166 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
19167 grub_disk_addr_t for memory addresses.
19168
00c7a56a 19169 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
19170 explicitly to fix a warning.
19171
08d3ef09 19172 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
19173
cb71ba20 19174 * Makefile.in (MODULE_LDFLAGS): New variable.
19175 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
19176 the linker accepts --build-id=none.
19177 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
19178 MODULE_LDFLAGS.
19179 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
19180
d4c9b428 19181 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
19182 those in Linux XFS code. Provide a way to access 64-bit parent
19183 inode.
19184 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
19185 the end of struct grub_xfs_dir_header.
19186
d4156eee 191872008-07-02 Bean <bean123ch@gmail.com>
19188
19189 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
19190 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19191 and GRUB_IEEE1275_FLAG_NO_ANSI.
19192
19193 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
19194 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19195 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
19196
19197 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
19198 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
19199
19200 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
19201 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
19202
19203 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
19204 esc sequence on non ANSI terminal.
19205 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
19206
19207 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
19208 beginning of file.
19209
2270f77b 192102008-07-02 Bean <bean123ch@gmail.com>
19211
19212 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
19213 (grub_editenv_SOURCES): New variable.
19214 (pkglib_MODULES): Add loadenv.mod.
19215 (loadenv_mod_SOURCES): New variable.
19216 (loadenv_mod_CFLAGS): Likewise.
19217 (loadenv_mod_LDFLAGS): Likewise.
19218
19219 * include/grub/envblk.h: New file.
19220
19221 * util/envblk.c: New file.
19222
19223 * util/grub-editenv.c: New file.
19224
19225 * commands/loadenv.c: New file.
19226
0e9e51ec 192272008-07-01 Pavel Roskin <proski@gnu.org>
19228
d89b7634 19229 * include/multiboot2.h (struct multiboot_tag_module): Use char,
19230 not unsigned char. This fixes warnings and is consistent with
19231 other tags.
19232
bf1835b1 19233 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
19234
8222a04b 19235 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
19236
6a42d99d 19237 * term/tparm.c (analyze): Always set *popcount.
19238
10b159d1 19239 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
19240 cast to fix a warning.
19241
b8789f6c 19242 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
19243 cast to suppress a warning.
19244
29d7e38a 19245 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
19246 grub_fshelp_read_file() expects.
19247
f341f669 19248 * fs/fat.c: Fix UUID calculation on big-endian systems. We
19249 write uuid as a 32-bit value in CPU byte order, so declare and
19250 use it as such.
19251
0e9e51ec 19252 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
19253 long if the format specifier expects it.
19254 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
19255 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19256 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
19257 long to fix a warning.
19258 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
19259 grub_dprintf() arguments to fix warnings.
19260
3aefa857 192612008-06-30 Pavel Roskin <proski@gnu.org>
19262
56c7668b 19263 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
19264 install_bsd_part immediately before core.img is embedded or
19265 modified on disk. This fixes core.img verification if core.img
19266 cannot be embedded.
19267
3aefa857 19268 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
19269 core_path to calculate the blocklist.
19270 Patch from Javier Martín <lordhabbit@gmail.com>
19271
5444088d 192722008-06-29 Robert Millan <rmh@aybabtu.com>
19273
19274 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
19275 block to disk block.
19276 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
19277 Patch from Niels Böhm <bitbucket@arcor.de>
19278
674835c8 192792008-06-29 Robert Millan <rmh@aybabtu.com>
19280
19281 * util/update-grub_lib.in (font_path): Search for fonts in
19282 /boot/grub first, which is more likely to be readable (we aren't
19283 deciding where fonts live, just looking for them).
19284
f527dbc8 192852008-06-26 Pavel Roskin <proski@gnu.org>
19286
6c2d8df6 19287 * util/biosdisk.c (read_device_map): Don't leave dead map
19288 entries for devices failing stat() check.
19289
f527dbc8 19290 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
19291 core_path_dev for the core.img path on the target device.
19292
aebe3d13 192932008-06-26 Robert Millan <rmh@aybabtu.com>
19294
19295 * disk/fs_uuid.c: New file.
19296 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
19297 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
19298 (fs_uuid_mod_LDFLAGS): New variables.
19299 * include/grub/disk.h (grub_disk_dev_id): Add
19300 `GRUB_DISK_DEVICE_UUID_ID'.
19301 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
19302 implement iterate().
19303
37aaf354 193042008-06-26 Robert Millan <rmh@aybabtu.com>
19305
19306 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
19307 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
19308 Linux image includes no initrd.
19309
25ff262a 193102008-06-21 Javier Martín <lordhabbit@gmail.com>
19311
19312 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
19313 call to resolve the core image location that effectively appended the
19314 name twice.
19315
76a2bd44 193162008-06-21 Robert Millan <rmh@aybabtu.com>
19317
19318 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
19319 call from here ...
19320
19321 * util/grub.d/10_hurd.in: ... to here ...
19322 * util/grub.d/10_linux.in: ... and here.
19323
650e1c79 193242008-06-19 Robert Millan <rmh@aybabtu.com>
19325
fe987087 19326 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 19327 after it has been set by grub_machine_set_prefix().
19328
6ce63911 193292008-06-19 Robert Millan <rmh@aybabtu.com>
19330
19331 * commands/search.c (search_label, search_fs_uuid, search_file): Print
19332 search result when not saving to variable, not the other way around.
19333 When saving to variable, abort iteration as soon as a match is found.
19334
73940cec 193352008-06-19 Robert Millan <rmh@aybabtu.com>
19336
19337 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
19338 check for partition that provides /boot/grub. Its logic is flawed,
19339 as it prevents prepare_grub_to_access_device() from being called
19340 multiple times.
19341
3c62a39d 193422008-06-19 Robert Millan <rmh@aybabtu.com>
19343
19344 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
19345 "insmod" command directly when abstraction modules are needed,
fe987087 19346 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 19347 since it had already been processed).
19348
47395a42 193492008-06-19 Pavel Roskin <proski@gnu.org>
19350
19351 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
19352 changed. This is needed in case GRUB_LIBDIR changes.
19353 * conf/i386-ieee1275.rmk: Likewise.
19354 * conf/i386-linuxbios.rmk: Likewise.
19355 * conf/i386-pc.rmk: Likewise.
19356 * conf/powerpc-ieee1275.rmk: Likewise.
19357
a145ac2d 193582008-06-18 Pavel Roskin <proski@gnu.org>
19359
19360 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
19361 kernel_elf_symlist.c to symlist.c for consistency with other
19362 architectures. Update all users.
19363 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19364
7847c51e 193652008-06-18 Robert Millan <rmh@aybabtu.com>
19366
19367 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
19368 it in prefix.
19369
19370 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
19371 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
19372 a RAID device, run setup() for all members independently on whether
19373 LVM abstraction is being used.
19374 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
19375 If grub-mkimage has set `*install_dos_part == -2', don't override this
19376 value.
19377 Perform *install_dos_part adjustments independently on whether
19378 we're embedding or not.
19379 Clarify error message when image is too big for embedding.
19380 Remove duplicate *install_dos_part stanza.
19381
b23e5644 193822008-06-17 Robert Millan <rmh@aybabtu.com>
19383
19384 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
19385 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
19386 variables.
19387 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
19388 values in grub_ofconsole_normal_color and
19389 grub_ofconsole_highlight_color (they're not directly related to
19390 background and foreground).
19391 (grub_ofconsole_setcolorstate): Extract background and foreground
19392 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
19393
0aac2f79 193942008-06-17 Robert Millan <rmh@aybabtu.com>
19395
19396 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
19397 /boot/grub for the check in last commit, not /boot (they could be
19398 different partitions).
19399
3cca7ef3 194002008-06-16 Robert Millan <rmh@aybabtu.com>
19401
19402 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
19403 asked to setup access for the same partition that provides /boot,
19404 don't bother using UUIDs since our root already has the value we
19405 want.
19406
347396d8 194072008-06-16 Robert Millan <rmh@aybabtu.com>
19408
19409 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
19410 I2O devices.
19411 Patch from Sven Mueller <sven@debian.org>.
19412
991477f8 194132008-06-16 Robert Millan <rmh@aybabtu.com>
19414
19415 * util/update-grub.in: Check for $EUID instead of $UID.
19416 Reported by Vincent Zweije.
19417
d31a32a1 194182008-06-16 Bean <bean123ch@gmail.com>
19419
fe987087 19420 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 19421 (grub_ext2_read_block): Likewise.
19422 (grub_ext2_read_inode): Likewise.
19423 (grub_ext2_mount): Likewise.
19424 (grub_ext2_close): Likewise.
19425 (grub_ext3_get_journal): Removed.
19426
fe987087 19427 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 19428 (grub_reiserfs_read_symlink): Likewise.
19429 (grub_reiserfs_mount): Likewise.
19430 (grub_reiserfs_open): Likewise.
19431 (grub_reiserfs_read): Likewise.
19432 (grub_reiserfs_close): Likewise.
19433 (grub_reiserfs_get_journal): Removed.
19434
19435 * fs/fshelp.c (grub_fshelp_read): Removed.
19436 (grub_fshelp_map_block): Likewise.
19437
19438 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
19439 (grub_fshelp_journal): Likewise.
19440 (grub_fshelp_read): Likewise.
19441 (grub_fshelp_map_block): Likewise.
19442
3540a760 194432008-06-16 Pavel Roskin <proski@gnu.org>
19444
19445 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
19446 floating point anymore.
19447 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
19448
95614c84 194492008-06-15 Pavel Roskin <proski@gnu.org>
19450
19451 * commands/ls.c (grub_ls_list_files): Use integer calculations
19452 for human readable format, avoid floating point use.
19453 * kern/misc.c (grub_ftoa): Remove.
19454 (grub_vsprintf): Remove floating point support.
19455
50465dd6 194562008-06-15 Robert Millan <rmh@aybabtu.com>
19457
fe6b695a 19458 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 19459 devices.
19460 Reported by Max Vozeler.
19461
a9207284 194622008-06-15 Robert Millan <rmh@aybabtu.com>
19463
19464 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
19465 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
19466 skipped later.
19467 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
19468 the beginning of the prefix.
19469
19470 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
19471 It is assumed that if we have a memdisk, grub-mkimage has set
19472 grub_prefix to include the "(memdisk)" drive in it.
19473
a7cbd45a 194742008-06-15 Robert Millan <rmh@aybabtu.com>
19475
19476 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
19477 Initialize keyboard controller after registering the terminal, so that
19478 grub_printf() can be called from grub_keyboard_controller_init().
19479
21cf716a 194802008-06-15 Robert Millan <rmh@aybabtu.com>
19481
19482 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
19483 extent-btree which is written as big endian on disk.
19484 Reported by Alain Greppin <al@chilibi.org>.
19485
23a64d8e 194862008-06-14 Robert Millan <rmh@aybabtu.com>
19487
19488 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
19489 * util/i386/pc/grub-install.in (modules): Likewise.
19490
d687651c 194912008-06-13 Pavel Roskin <proski@gnu.org>
19492
19493 * commands/ls.c (grub_ls_list_files): Fix format warnings.
19494
dfe9ddd4 194952008-06-13 Bean <bean123ch@gmail.com>
19496
19497 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
19498
19499 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
19500
19501 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
19502 to indicate sparse block.
19503
16ae7781 195042008-06-12 Pavel Roskin <proski@gnu.org>
19505
e6d1a308 19506 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
19507 number, grub_fshelp_read() does it for us.
19508
16ae7781 19509 * fs/fshelp.c (grub_fshelp_read): New function. Implement
19510 linear disk read with journal translation.
19511 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
19512 * include/grub/fshelp.h: Declare grub_fshelp_read().
19513
40fd3a2b 195142008-06-09 Pavel Roskin <proski@gnu.org>
19515
19516 * fs/minix.c (grub_minix_mount): Handle error reading
19517 superblock.
19518
f5679726 195192008-06-08 Robert Millan <rmh@aybabtu.com>
19520
19521 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
19522 don't append the RAID prefix afterwards.
19523 Reported by Clint Adams.
19524
ce525529 195252008-06-08 Robert Millan <rmh@aybabtu.com>
19526
19527 Based on description from Pavel:
19528 * kern/disk.c (grub_disk_check_range): Rename to ...
19529 (grub_disk_adjust_range): ... this. Add a comment explaining the
19530 tasks performed by this function.
19531
ad4936a0 195322008-06-08 Robert Millan <rmh@aybabtu.com>
19533
19534 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
19535 `num_serial' (for consistency with other variables).
19536 (struct grub_ntfs_data): Add `uuid' member.
19537 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
19538 (grub_ntfs_uuid): New function.
19539 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
19540
dc20b0f9 195412008-06-07 Pavel Roskin <proski@gnu.org>
19542
19543 * util/biosdisk.c (open_device): Revert last change to the
19544 function, it broke installation. The sector needs to be
19545 different dependent on which device is opened.
19546
c5e3cfba 195472008-06-06 Robert Millan <rmh@aybabtu.com>
19548
19549 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
19550 rest of GRUB, and breakage doesn't happen if its value were modified.
19551
19552 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19553 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
19554 a constant (same value).
19555 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
19556 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
19557
26a1f8c4 195582008-06-06 Robert Millan <rmh@aybabtu.com>
19559
19560 * util/biosdisk.c (open_device): Do not modify sector offset when
19561 accessing a partition. kern/disk.c already handles this for us.
19562
25d6b327 195632008-06-06 Robert Millan <rmh@aybabtu.com>
19564
19565 * util/grub-emu.c (grub_machine_init): Move code in this function from
19566 here ...
19567 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
19568 segfault in case grub_printf() is called).
19569
19570 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
19571 grub_probe. Update all users not to explicitly add it again.
19572 (grub_device): New variable; contains corresponding device for grubdir.
19573 (fs_module, partmap_module, devabstraction_module): Pass
19574 `--device ${grub_device}' to grub_probe to avoid traversing /dev
19575 every time.
19576
9ece62fb 195772008-06-05 Robert Millan <rmh@aybabtu.com>
19578
19579 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
19580 is found, print it (same layout as with labels).
19581
1ad36d37 195822008-06-04 Robert Millan <rmh@aybabtu.com>
19583
19584 * util/biosdisk.c (get_drive): Rename to ...
19585 (find_grub_drive): ... this. Update all users.
19586
19587 (get_os_disk): Rename to ...
19588 (convert_system_partition_to_system_disk): ... this. Update all users.
19589
19590 (find_drive): Rename to ...
19591 (find_system_device): ... this. Update all users.
19592
e6a30859 195932008-06-04 Robert Millan <rmh@aybabtu.com>
19594
19595 * util/biosdisk.c (get_os_disk): Handle IDA devices.
19596 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19597 (make_device_map): Likewise.
19598
00c108a4 195992008-06-01 Robert Millan <rmh@aybabtu.com>
19600
19601 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
19602 before dereferencing it.
19603
19604 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
19605 union with fat12/fat16-specific ones. Add some new fields, including
19606 `num_serial' for both versions.
19607 (struct grub_fat_data): Add `uuid' member.
19608 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
19609 names. Initialize `data->uuid' using `num_serial'.
19610 (grub_fat_uuid): New function.
19611 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
19612
19613 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
19614 (grub_reiserfs_uuid): New function.
19615 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
19616 member.
19617
19618 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
19619 (grub_xfs_uuid): New function.
19620 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
19621
1385c5bb 196222008-06-01 Robert Millan <rmh@aybabtu.com>
19623
19624 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
19625 code that is backward compatible with pre-uuid search command.
19626
c682dfd7 196272008-05-31 Robert Millan <rmh@aybabtu.com>
19628
19629 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
19630 floppies after everything else, to ensure floppy drive isn't accessed
19631 unnecessarily (patch from Bean).
19632
b7db5d47 196332008-05-31 Robert Millan <rmh@aybabtu.com>
19634
19635 * commands/search.c (search_label, search_fs_uuid, search_file): Do
19636 not print device names when we were asked to set a variable.
19637
6e037aa9 196382008-05-31 Robert Millan <rmh@aybabtu.com>
19639
19640 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
19641 using "cursor-on" and "cursor-off" commands (understood at least by
19642 the Open Firmware flavour on OLPC).
19643
41305bc8 196442008-05-31 Michael Gorven <michael@gorven.za.net>
19645
19646 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
19647 on and off sequences.
19648
69ba137e 196492008-05-31 Robert Millan <rmh@aybabtu.com>
19650
19651 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
19652 * util/update-grub.in: Likewise.
19653
520ae21b 196542008-05-30 Pavel Roskin <proski@gnu.org>
19655
19656 * util/biosdisk.c (linux_find_partition): Simplify logic and
19657 make the code more universal. Keep special processing for
19658 devfs, but use a simple rule for all other devices. If the
19659 device ends with a number, append 'p' and the partition number.
19660 Otherwise, append only the partition number.
19661
5786569b 196622008-05-30 Robert Millan <rmh@aybabtu.com>
19663
19664 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
19665 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
19666 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
19667 the `root' parameter to Linux.
19668
51500452 196692008-05-30 Robert Millan <rmh@aybabtu.com>
19670
19671 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
19672 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
19673 --fs_uuid with --fs-uuid.
19674 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
19675 all filesystems support them).
19676
811d3878 196772008-05-30 Robert Millan <rmh@aybabtu.com>
19678
19679 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 19680 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 19681
cab63c95 196822008-05-30 Robert Millan <rmh@aybabtu.com>
19683
19684 * util/grub.d/00_header.in: Remove obsolete comment referencing
19685 convert_system_path_to_grub_path().
19686 * util/update-grub.in: Likewise.
19687 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
19688 (convert_system_path_to_grub_path): Add a warning message explaining
19689 that this function is deprecated. Rely on is_path_readable_by_grub()
19690 for the readability checks.
19691 (font_path): Use is_path_readable_by_grub() for the readability
19692 check rather than convert_system_path_to_grub_path().
19693
972e2f7a 196942008-05-30 Robert Millan <rmh@aybabtu.com>
19695
19696 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
19697 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
19698 converting it first.
19699 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
19700 grub.cfg for access to font file, and afterwards call it again to set
19701 the root device.
19702
62191274 197032008-05-30 Robert Millan <rmh@aybabtu.com>
19704
19705 * commands/search.c (options): Add --fs_uuid option.
19706 (search_fs_uuid): New function.
19707 (grub_cmd_search): Fix --set argument passing.
19708 Use search_fs_uuid() when requested via --fs_uuid.
19709 (grub_search_init): Update help message.
19710 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
19711 and redeclare it as an array of 16-bit words.
19712 (grub_ext2_uuid): New function.
19713 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
19714 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
19715 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
19716 (GRUB_DEVICE_BOOT_UUID): New variables.
19717 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
19718 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
19719 whenever possible.
19720 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
19721 just assume `root' variable has the right value.
19722 * util/grub.d/10_linux.in: Likewise.
19723 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
19724 via PRINT_FS_UUID.
19725 (main): Recognise `-t fs_uuid' argument.
19726
01b73ec8 197272008-05-30 Robert Millan <rmh@aybabtu.com>
19728
19729 * util/biosdisk.c (map): Redefine structure to hold information
19730 about GRUB drive name.
fe6b695a 19731 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 19732 drive names.
19733 (call_hook): Remove.
19734 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
19735 member. Assume drive has partitions.
19736 (grub_util_biosdisk_open): Access device names via `.device' struct
19737 member.
19738 (open_device): Likewise.
19739 (find_drive): Likewise.
19740 (read_device_map): Adjust map[] usage to match the new struct
19741 definition. Don't check for duplicates (still possible, but not cheap
19742 anymore).
19743 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
19744 (make_device_name): Remove assumption of BIOS-like drive names.
19745
22f16596 197462008-05-30 Pavel Roskin <proski@gnu.org>
19747
19748 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
19749 compiling execute.c doesn't need grub_script.tab.h anymore.
19750 (normal/command.c_DEPENDENCIES): Likewise.
19751 (normal/function.c_DEPENDENCIES): Likewise.
19752 * conf/i386-ieee1275.rmk: Likewise.
19753 * conf/i386-linuxbios.rmk: Likewise.
19754 * conf/i386-pc.rmk: Likewise.
19755 * conf/powerpc-ieee1275.rmk: Likewise.
19756 * conf/sparc64-ieee1275.rmk: Likewise.
19757
528ad8f2 197582008-05-29 Pavel Roskin <proski@gnu.org>
19759
d1dff95d 19760 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
19761 when scanning metadata for volume group name.
19762
528ad8f2 19763 * include/grub/script.h: Don't include grub_script.tab.h. It's
19764 a generated file, which may only be included from the files with
19765 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
19766 use union YYSTYPE, as the later allows forward declaration.
19767 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
19768
47248e08 197692008-05-29 Robert Millan <rmh@aybabtu.com>
19770
19771 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
19772 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
19773 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
19774 (grub_console_checkkey): Add grub_dprintf() call to report unknown
19775 scan codes.
19776
ee632529 197772008-05-29 Robert Millan <rmh@aybabtu.com>
19778
19779 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
19780 control key combinations.
19781
eee96e08 197822008-05-29 Robert Millan <rmh@aybabtu.com>
19783
19784 * util/powerpc/ieee1275/grub-install.in: Move from here ...
19785 * util/ieee1275/grub-install.in: ... to here.
19786 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
19787 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
19788 (grub_install_SOURCES): Likewise.
19789
da9a6a94 197902008-05-29 Robert Millan <rmh@aybabtu.com>
19791
19792 * fs/affs.c: Update copyright year.
19793 * fs/ext2.c: Likewise.
19794 * fs/fshelp.c: Likewise.
19795 * fs/hfsplus.c: Likewise.
19796 * fs/ntfs.c: Likewise.
19797 * fs/xfs.c: Likewise.
19798 * include/grub/fshelp.h: Likewise.
19799 * util/grub-mkdevicemap.c: Likewise.
19800
12e65f3a 198012008-05-28 Robert Millan <rmh@aybabtu.com>
19802
19803 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
19804 might need to be fatfs to support some firmware implementations
19805 (e.g. OFW or EFI).
19806
23023641 198072008-05-28 Robert Millan <rmh@aybabtu.com>
19808
19809 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
19810 devices.
19811 * util/grub-mkdevicemap.c (get_mmc_disk_name)
19812 (make_device_map): Likewise.
19813
887d2619 198142008-05-20 Bean <bean123ch@gmail.com>
19815
19816 * fs/fshelp.c (grub_fshelp_map_block): New function.
19817 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
19818 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
19819
19820 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
19821 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
19822 (grub_fshelp_journal): New structure.
19823 (grub_fshelp_map_block): New function prototype.
19824 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
19825 (grub_fshelp_map_block): Likewise.
19826
19827 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
19828 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
19829 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
19830 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
19831 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
19832 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
19833 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
19834 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
19835 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
19836 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
19837 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
19838 (grub_ext2_sblock): New members for journal support.
19839 (grub_ext3_journal_header): New structure.
19840 (grub_ext3_journal_revoke_header): Likewise.
19841 (grub_ext3_journal_block_tag): Likewise.
19842 (grub_ext3_journal_sblock): Likewise.
19843 (grub_fshelp_node): New members logfile and journal.
19844 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
19845 grub_fshelp_map_block to get real block number.
19846 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
19847 number.
19848 (grub_ext2_read_inode): Likewise.
19849 (grub_ext3_get_journal): New function.
19850 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
19851 (grub_ext2_close): Release memory used by journal.
19852
19853 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
19854 (REISERFS_MAGIC_DESC_BLOCK): New macro.
19855 (grub_reiserfs_transaction_header): Renamed to
19856 grub_reiserfs_description_block, replace field data with real_blocks.
19857 (grub_reiserfs_commit_block): New structure.
19858 (grub_reiserfs_data): New member journal.
19859 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
19860 number.
19861 (grub_reiserfs_read_symlink): Likewise.
19862 (grub_reiserfs_iterate_dir): Likewise.
19863 (grub_reiserfs_open): Likewise.
19864 (grub_reiserfs_read): Likewise.
19865 (grub_reiserfs_get_journal): New function.
19866 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
19867 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
19868 using grub_reiserfs_get_journal.
19869 (grub_reiserfs_close): Release memory used by journal.
19870
19871 * fs/affs.c (grub_affs_read_block): Change block type to
19872 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
19873
19874 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
19875
19876 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
19877
19878 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
19879
19880 * fs/udf.c (grub_udf_read_block): Change block type to
19881 grub_disk_addr_t. Use type cast to avoid warning.
19882
19883 * fs/xfs.c (grub_xfs_read_block): Likewise.
19884
b7c6bed5 198852008-05-16 Christian Franke <franke@computer.org>
19886
19887 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
19888 to ensure that break with ESC will always work.
19889 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
19890 Remove ESC from keyboard queue.
19891
eedf167f 198922008-05-16 Christian Franke <franke@computer.org>
19893
19894 * util/biosdisk.c: [__CYGWIN__] Add includes.
19895 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
19896 (get_os_disk): Move variable declarations to OS specific
19897 parts to avoid warning.
19898 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
19899 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
19900 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
19901 Cygwin.
19902 * util/getroot.c: [__CYGWIN__] Add includes.
19903 (strip_extra_slashes): Fix "/" case.
19904 [__CYGWIN__] (get_win32_path): New function.
19905 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
19906 [__CYGWIN__] (find_root_device): Disable.
19907 [__CYGWIN__] (get_bootsec_serial): New function.
19908 [__CYGWIN__] (find_cygwin_root_device): Likewise.
19909 [__linux__] (grub_guess_root_device): Add early returns to simplify
19910 structure.
19911 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
19912 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
19913 check for Linux only.
19914
a079699e 199152008-05-15 Bean <bean123ch@gmail.com>
19916
19917 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
19918 keyboard hang problem in apple's intel mac.
19919
1cf4059a 199202008-05-09 Robert Millan <rmh@aybabtu.com>
19921
19922 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
19923 devices.
19924 * util/grub-mkdevicemap.c (get_virtio_disk_name)
19925 (make_device_map): Likewise.
19926 Reported by Aurelien Jarno <aurel32@debian.org>
19927
ed759390 199282008-05-07 Ian Campbell <ijc@hellion.org.uk>
19929
19930 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
19931 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
19932 (make_device_map): Output entries for xvd type disks.
19933
b56c4eaa 199342008-05-07 Robert Millan <rmh@aybabtu.com>
19935
19936 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
19937 devices.
19938 * util/grub-mkdevicemap.c (get_cciss_disk_name)
19939 (make_device_map): Likewise.
19940 Reported by Roland Dreier <rdreier@cisco.com>
19941
7f8866ed 199422008-05-07 Robert Millan <rmh@aybabtu.com>
19943
19944 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
19945 grub_strstr() call. Correct a few mistakes in failure path handling.
19946
b0346e0f 199472008-05-06 Robert Millan <rmh@aybabtu.com>
19948
19949 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19950 Do not print a trailing slash (therefore, the root directory is an
19951 empty string).
19952 (convert_system_path_to_grub_path): Do not remove trailing slash
19953 from make_system_path_relative_to_its_root() output.
19954
19955 * util/i386/pc/grub-install.in: Add trailing slash to output from
19956 make_system_path_relative_to_its_root().
19957
6cf12cbd 199582008-05-06 Robert Millan <rmh@aybabtu.com>
19959
19960 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
19961 ensures that output lines aren't intermangled with those sent to
19962 stderr (via grub_util_info()).
19963 * util/grub-probe.c (grub_refresh): Likewise.
19964 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
19965
0fbb3117 199662008-05-05 Christian Franke <franke@computer.org>
19967
19968 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
19969 Add Cygwin device names.
19970 (get_ide_disk_name) [__CYGWIN__]: Likewise.
19971 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
19972 (check_device): Return error instead of success on empty name.
19973 (make_device_map): Move label inside linux specific code to
19974 prevent compiler warning.
19975
8124cdb7 199762008-04-30 Robert Millan <rmh@aybabtu.com>
19977
19978 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
19979 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
19980 first boot option.
19981 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
19982
094c01d0 199832008-04-29 Robert Millan <rmh@aybabtu.com>
19984
19985 * docs/grub.cfg: New file (example GRUB configuration).
19986
f4b1fc02 199872008-04-26 Robert Millan <rmh@aybabtu.com>
19988
329ce2a5 19989 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
19990 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
19991 and `disk/ieee1275/nand.c'.
f4b1fc02 19992
25f16ec1 199932008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 19994
25f16ec1 19995 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
19996 i386-linuxbios.
19997
19998 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
19999 change the buffer size to 4096 for cdrom device.
20000
20001 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
20002 and nand.mod.
20003 (_linux_mod_SOURCES): New variable.
20004 (_linux_mod_CFLAGS): Likewise.
20005 (_linux_mod_LDFLAGS): Likewise.
20006 (linux_mod_SOURCES): Likewise.
20007 (linux_mod_CFLAGS): Likewise.
20008 (linux_mod_LDFLAGS): Likewise.
20009 (nand_mod_SOURCES): Likewise.
20010 (nand_mod_CFLAGS): Likewise.
20011 (nand_mod_LDFLAGS): Likewise.
20012
20013 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
20014 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
20015 type property. (nand device in olpc don't have this property)
20016
20017 * include/grub/disk.h (grub_disk_dev_id): New macro
20018 GRUB_DISK_DEVICE_NAND_ID.
20019
20020 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
20021 function prototype.
20022 (grub_rescue_cmd_initrd): Likewise.
20023
20024 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
20025 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
20026 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 20027
25f16ec1 20028 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
20029 GRUB_MACHINE_IEEE1275 is defined.
20030
20031 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
20032 Use NESTED_FUNC_ATTR attribute on the hook parameter.
20033
20034 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
20035 on nested function heap_init.
20036 (grub_upper_mem): New variable for i386-ieee1275.
20037 (grub_get_extended_memory): New function for i386-ieee1275.
20038 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
20039
20040 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
20041 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
20042 property.
f19dbdb7 20043
25f16ec1 20044 * loader/i386/ieee1275/linux.c: New file.
20045
20046 * loader/i386/ieee1275/linux_normal.c: New file.
20047
20048 * disk/ieee1275/nand.c: New file.
20049
e89d61e9 200502008-04-18 Thomas Schwinge <tschwinge@gnu.org>
20051
20052 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
20053 value.
20054 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
20055
602566f6 200562008-04-18 Robert Millan <rmh@aybabtu.com>
20057
20058 Restructures early code path on ieee1275 to unify grub_main() as
20059 the first C function that is executed in every platform.
20060
20061 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
20062 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
20063 cmain().
20064 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
20065 * kern/ieee1275/cmain.c (cmain): Rename to ...
20066 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
20067 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
20068 at the beginning.
20069
57490c2b 200702008-04-18 Robert Millan <rmh@aybabtu.com>
20071
20072 * util/update-grub.in: Fix syntax error when setting
20073 `GRUB_PRELOAD_MODULES'.
20074 Reported by Stephane Chazelas <stephane@artesyncp.com>
20075
1977517d 200762008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
20077
20078 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
20079 section into account, newer toolchains generate unique build ids
20080 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 20081 we want build ids to be preserved
1977517d 20082 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
20083 far from other sections don't cause the raw binary images grow
20084 size
20085
bfb1f1a2 200862008-04-15 Robert Millan <rmh@aybabtu.com>
20087
20088 * disk/lvm.c: Update copyright year.
20089 * kern/misc.c: Likewise.
20090
01979850 200912008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20092
20093 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 20094 there is no memory left for physical volume name.
01979850 20095
0a1150e2 200962008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20097
20098 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
20099 volume name mapping to support bigger than 9 character names properly.
20100
82ead3fe 201012008-04-13 Robert Millan <rmh@aybabtu.com>
20102
20103 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
20104 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
20105
e54a72f5 201062008-04-13 Christian Franke <franke@computer.org>
20107
20108 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
20109 to create a floppy emulation boot CD when non emulation mode
20110 does not work.
20111 Enable Joliet CD filesystem extension.
20112
9fe86034 201132008-04-13 Robert Millan <rmh@aybabtu.com>
20114
20115 * kern/misc.c (grub_strncat): Fix off-by-one error.
20116 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
20117
20118 * kern/env.c (grub_env_context_close): Clear current context, not
20119 previous one.
20120 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
20121
20122 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
20123
7ceeee39 201242008-04-13 Robert Millan <rmh@aybabtu.com>
20125
20126 Improve robustness when handling LVM.
20127
20128 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 20129 (and leave `*p' unmodified).
7ceeee39 20130 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
20131 through it.
20132 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
20133 iterating through it.
20134 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
20135 through it.
fe6b695a 20136 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 20137 when due) on each grub_lvm_getvalue() or grub_strstr() call.
20138 Don't assume `vg->pvs != NULL' when iterating through it.
20139
58cd3d85 201402008-04-13 Robert Millan <rmh@aybabtu.com>
20141
20142 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
20143 * genmk.rb (partmap): New variable.
20144 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
20145 (#{partmap}): New target rule.
20146 * genpartmaplist.sh: New file.
20147 * Makefile.in (pkglib_DATA): Add partmap.lst.
20148 (partmap.lst): New target rule.
20149 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
20150 modules (including all partition maps), instead of preloading them.
20151
78b51059 201522007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
20153
20154 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
20155 `linux-boot-prober' (if installed) to detect other operating
20156 systems which are installed on the computer and add them to
20157 the boot menu.
20158 * conf/common.rmk: Build and install 30_os-prober.
20159
a91627b4 201602008-04-12 Robert Millan <rmh@aybabtu.com>
20161
20162 * kern/powerpc/ieee1275/init.c: Move from here ...
20163 * kern/ieee1275/init.c: ... to here. Update all users.
20164
20165 * kern/powerpc/ieee1275/cmain.c: Move from here ...
20166 * kern/ieee1275/cmain.c: ... to here. Update all users.
20167
20168 * kern/powerpc/ieee1275/openfw.c: Move from here ...
20169 * kern/ieee1275/openfw.c: ... to here. Update all users.
20170
20171 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
20172 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
20173
322562ea 201742008-04-10 Pavel Roskin <proski@gnu.org>
20175
20176 * configure.ac: Always use "_cv_" in cache variables for
20177 compatibility with Autoconf 2.62.
20178
a02a73c5 201792008-04-07 Robert Millan <rmh@aybabtu.com>
20180
20181 Revert grub/machine/init.h addition by Pavel (since it breaks on
20182 i386-ieee1275 and others):
20183 * util/i386/pc/misc.c: Remove grub/machine/init.h.
20184 * util/powerpc/ieee1275/misc.c: Likewise.
20185
25c024b1 201862008-04-07 Robert Millan <rmh@aybabtu.com>
20187
20188 * util/grub-probe.c (probe): Improve error message.
20189
3cbd2f98 201902008-04-07 Robert Millan <rmh@aybabtu.com>
20191
20192 * util/biosdisk.c (read_device_map): Skip devices that don't exist
20193 (this prevents the presence of a bogus entry from ruining the whole
20194 thing).
20195
87a297bf 201962008-04-06 Pavel Roskin <proski@gnu.org>
20197
36747a62 20198 * util/biosdisk.c: Include grub/util/biosdisk.h.
20199 * util/grub-fstest.c (execute_command): Make static.
20200 * util/grub-mkdevicemap.c (check_device): Likewise.
20201 * util/i386/pc/misc.c: Include grub/machine/init.h.
20202 * util/powerpc/ieee1275/misc.c: Likewise.
20203 * util/lvm.c: Include grub/util/lvm.h.
20204 * util/misc.c: Include grub/kernel.h, grub/misc.h and
20205 grub/cache.h.
20206 * util/raid.c: Include grub/util/raid.h.
20207 (grub_util_getdiskname): Make static.
20208
87a297bf 20209 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
20210 grub_hostfs_fini(), as they are called from grub_init_all() and
20211 grub_fini_all() respectively. This fixes an infinite loop in
20212 grub-fstest due to double registration of hostfs.
20213 Reported by Christian Franke <Christian.Franke@t-online.de>
20214
f6ce7629 202152008-04-05 Pavel Roskin <proski@gnu.org>
20216
20217 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
20218 all 8 functions. Otherwise, probe function 0 only.
20219
070e49e4 202202008-04-04 Pavel Roskin <proski@gnu.org>
20221
8b088a4c 20222 * commands/lspci.c (grub_lspci_iter): Print the bus number
20223 correctly.
20224
4f657021 20225 * commands/lspci.c (grub_pci_classes): Fix typos.
20226 (grub_lspci_iter): Don't print func twice. Print vendor ID
20227 before device ID, as it's normally done.
20228
070e49e4 20229 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20230 Fix signedness warnings.
20231 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
20232 Likewise.
20233 * util/ieee1275/get_disk_name.c: Include config.h so that
20234 _GNU_SOURCE is defined and getline() is declared. Mark an
20235 unused argument as such. Fix a signedness warning.
20236
ba7328dc 202372008-04-02 Pavel Roskin <proski@gnu.org>
20238
26887f22 20239 * genkernsyms.sh.in: Use more robust assignments for CC and
20240 srcdir. Quote srcdir.
20241 * gensymlist.sh.in: Likewise. Assert at the compile time that
20242 the symbol table is not empty.
20243
ba7328dc 20244 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
20245 * fs/cpio.c (grub_cpio_read): Likewise.
20246
0f582c6b 202472008-04-01 Pavel Roskin <proski@gnu.org>
20248
4b6e1995 20249 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
20250 * disk/host.c (grub_host_open): Likewise.
20251 * disk/loopback.c (grub_loopback_open): Likewise.
20252 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
20253 disk->id as in disk/host.c, not a multi-character constant.
20254
828a2768 20255 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
20256 later is obsolete, potentially dangerous and sets a bad example.
20257 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
20258 * util/misc.c (grub_util_get_image_size): Likewise.
20259
2bb4fb47 20260 * disk/loopback.c (options): Improve help for "--partitions".
20261
0f582c6b 20262 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
20263 options to align them with the short options, e.g. "echo -e".
20264
a33224e0 202652008-03-31 Bean <bean123ch@gmail.com>
20266
20267 * video/reader/png.c (grub_png_data): New member is_16bit and
20268 image_data.
20269 (grub_png_decode_image_header): Detect 16 bit png image.
20270 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
20271 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
20272 (grub_video_reader_png): Release memory occupied by image_data.
20273
20274 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
20275 4096 bytes.
20276 (grub_nfs_mount): Skip the test for sector per cluster.
20277
20278 * include/grub/ntfs.h (MAX_SPC): Removed.
20279
86cb4f54 202802008-03-31 Bean <bean123ch@gmail.com>
20281
20282 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
20283 (grub_probe_SOURCES): Add fs/afs.c.
20284 (grub_fstest_SOURCES): Likewise.
20285 (afs_mod_SOURCES): New variable.
20286 (afs_mod_CFLAGS): Likewise.
20287 (afs_mod_LDFLAGS): Likewise.
20288
20289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
20290 (grub_emu_SOURCES): Likewise.
20291
20292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20293
20294 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20295
20296 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20297
20298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20299
20300 * fs/afs.c: New file.
20301
17c74c21 203022008-03-30 Pavel Roskin <proski@gnu.org>
20303
4cb68e89 20304 * disk/host.c: Include grub/misc.h to fix a warning.
20305 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
20306 warnings about implicit declarations.
20307
8790bb04 20308 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
20309 variable.
20310 * include/grub/i386/loader.h: Change declaration of
20311 grub_linux_boot() to match what grub_loader_set() expects.
20312 * util/getroot.c (grub_guess_root_device): Return const char* to
20313 fix a warning.
20314 * util/grub-probe.c (probe): Fix a warning about uninitialized
20315 abstraction_name variable.
20316 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
20317 second argument as unused to fix a warning.
20318
9a3f3296 20319 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
20320 missing grub_error() call.
20321
0ecef90d 20322 * util/update-grub_lib.in: Define datarootdir, since Autoconf
20323 2.60 and newer uses it to define datadir.
20324
0bf6d401 20325 * commands/sleep.c: Fix warning about implicit declaration.
20326 * disk/memdisk.c: Likewise.
20327 * loader/aout.c: Likewise.
20328 * loader/i386/bsd_normal.c: Likewise.
20329 * util/grub-probe.c: Likewise.
20330
7cdacf97 20331 * commands/i386/cpuid.c (has_longmode): Make static.
20332 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
20333 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
20334
17c74c21 20335 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
20336 GDT. This is more robust, as %ds can change.
20337 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
20338 calling real_to_prot().
20339 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
20340
80a3e68b 203412008-03-28 Pavel Roskin <proski@gnu.org>
20342
20343 * kern/i386/pc/startup.S: Assert that uncompressed functions
20344 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
20345 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
20346 code, as they push parts of the code (error handlers) beyond
20347 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
20348 code as correctness and size.
20349
77bcd272 203502008-03-28 Pavel Roskin <proski@gnu.org>
20351
20352 * kern/i386/pc/startup.S
20353 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
20354 data block address to the real mode, keep offset minimal. This
20355 works around a bug in AWARD BIOS on old Athlon systems, which
20356 makes CD detection hang.
20357
c5dfd43b 203582008-03-26 Pavel Roskin <proski@gnu.org>
20359
20360 * normal/color.c (grub_parse_color_name_pair): Make `name' a
20361 const.
20362 * include/grub/normal.h: Add grub_parse_color_name_pair()
20363 declaration.
20364
bf962df2 203652008-03-24 Bean <bean123ch@gmail.com>
20366
20367 * disk/i386/pc/biosdisk.c (cd_start): Removed.
20368 (cd_count): Removed.
20369 (cd_drive): New variable.
20370 (grub_biosdisk_get_drive): Don't check for (cdN) device.
20371 (grub_biosdisk_call_hook): Likewise.
20372 (grub_biosdisk_iterate): Change cdrom detection method.
20373 (grub_biosdisk_open): Replace cd_start with cd_drive.
20374 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
20375 detect cdrom device.
20376
20377 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
20378 Removed.
20379 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
20380 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
20381 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
20382 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
20383 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
20384 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
20385 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
20386 (grub_biosdisk_cdrp): New structure.
20387 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
20388
20389 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
20390
20391 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
20392 device.
20393
20394 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
20395 New function.
20396
68e7fc7a 203972008-03-20 Robert Millan <rmh@aybabtu.com>
20398
20399 Remove 2 TiB limit in ata.mod.
20400 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
20401 (grub_ata_dumpinfo): Print sector count with 0x%llx.
20402 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
20403 grub_uint64_t instead of grub_uint32_t.
20404
38ad2cf5 204052008-03-05 Bean <bean123ch@gmail.com>
20406
20407 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
20408 (grub_multiboot): Set boot device.
20409
20410 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
20411
2b89344e 204122008-03-02 Bean <bean123ch@gmail.com>
20413
20414 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
20415 symlink_buffer.
20416
87a95d1f 204172008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
20418
20419 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
20420 texinfo.tex.
20421
20422 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
20423 modified.
20424
20425 * docs/fdl.texi: New file.
f19dbdb7 20426
87a95d1f 20427 * docs/mdate-sh: New file. Copied from gnulib.
20428 * docs/texinfo.tex: Likewise.
20429
20430 * config.guess: Updated from gnulib.
20431 * install-sh: Likewise.
20432
7dc15d8e 204332008-02-28 Robert Millan <rmh@aybabtu.com>
20434
20435 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
20436 (aout_mod_SOURCES): New variable.
20437 (aout_mod_CFLAGS): Likewise.
20438 (aout_mod_LDFLAGS): Likewise.
20439
20440 * conf/i386-ieee1275.rmk: Likewise.
20441
b00ab696 204422008-02-28 Robert Millan <rmh@aybabtu.com>
20443
20444 * util/update-grub.in: Reorganise terminal validity check. Accept
20445 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
20446 Based on suggestion by Franklin PIAT.
20447
79ca2d78 204482008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
20449
20450 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
20451 function.
20452 * util/getroot.c (grub_util_check_block_device): New function that
20453 returns the given argument if it is a block device and returns NULL else.
20454 * util/grub-probe.c (argument_is_device): New variable.
20455 (probe): Promote device_name from a variable to an argument. Receive
20456 device_name from grub_util_check_block_device() if path is NULL and from
20457 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 20458 (options): Introduce new parameter '-d, --device'.
79ca2d78 20459 (main): Add description of the new parameter to the help screen.
20460 Rename path variable to argument. Set argument_is_device if the '-d'
20461 option is given. Pass argument to probe() depending on
20462 argument_is_device.
20463
0d16e571 204642008-02-24 Bean <bean123ch@gmail.com>
20465
20466 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
20467 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
20468 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
20469 (GRUB_ISO9660_VOLDESC_PART): Likewise.
20470 (GRUB_ISO9660_VOLDESC_END): Likewise.
20471 (grub_iso9660_primary_voldesc): New member escape.
20472 (grub_iso9660_data): New member joliet.
20473 (grub_iso9660_convert_string): New function.
20474 (grub_iso9660_mount): Detect joliet extension.
20475 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
20476 (grub_iso9660_iso9660_label): Likewise.
20477
20478 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
20479 (grub_setup_SOURCES): Add fs/udf.c.
20480 (grub_fstest_SOURCES): Likewise.
20481 (udf_mod_SOURCES): New variable.
20482 (udf_mod_CFLAGS): Likewise.
20483 (udf_mod_LDFLAGS): Likewise.
20484
20485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
20486 (grub_emu_SOURCES): Likewise.
20487
20488 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20489
20490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20491
20492 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20493
20494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20495
20496 * fs/udf.c: New file.
20497
8a594a17 204982008-02-24 Robert Millan <rmh@aybabtu.com>
20499
20500 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
20501 (normal/lexer.c_DEPENDENCIES): New variables.
20502 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20503 (normal/lexer.c_DEPENDENCIES): Likewise.
20504 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
20505 (normal/lexer.c_DEPENDENCIES): Likewise.
20506 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
20507 (normal/lexer.c_DEPENDENCIES): Likewise.
20508 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20509 (normal/lexer.c_DEPENDENCIES): Likewise.
20510 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
20511 (normal/lexer.c_DEPENDENCIES): Likewise.
20512
2dc33c03 205132008-02-23 Robert Millan <rmh@aybabtu.com>
20514
20515 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
20516 since they were intended to be in hex. This didn't break previously
20517 because of a bug in gpt_partition_map_iterate() (see below).
20518
20519 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
20520 when checking the validity of GPT header.
20521 Remove `partno', since it always provides the same information as `i'.
20522
f6f4cfb0 205232008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
20524
20525 * include/grub/efi/time.h: Fix a wrong comment.
20526
79ff665f 205272008-02-19 Pavel Roskin <proski@gnu.org>
20528
20529 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
20530 message.
20531
d38e24c2 205322008-02-19 Bean <bean123ch@gmail.com>
20533
20534 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
20535 (aout_mod_SOURCES): New variable.
20536 (aout_mod_CFLAGS): Likewise.
20537 (aout_mod_LDFLAGS): Likewise.
20538 (_bsd_mod_SOURCES): New variable.
20539 (_bsd_mod_CFLAGS): Likewise.
20540 (_bsd_mod_LDFLAGS): Likewise.
20541 (bsd_mod_SOURCES): New variable.
20542 (bsd_mod_CFLAGS): Likewise.
20543 (bsd_mod_LDFLAGS): Likewise.
20544
20545 * include/grub/aout.h: New file.
20546
20547 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
20548
20549 * include/grub/i386/bsd.h: New file.
20550
20551 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
20552 to make it public.
20553
20554 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
20555 function is called, so that it's possible to change it inside the hook.
20556 (grub_elf64_load): Likewise.
20557 (grub_elf_file): Don't close the file if elf header is not found.
20558 (grub_elf_close): Close the file if grub_elf_file fails (The new
20559 grub_elf_file won't close it).
20560 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
20561 (grub_elf64_size): Likewise.
20562
20563 * kern/i386/loader.S (grub_unix_real_boot): New function.
20564
20565 * loader/aout.c: New file.
20566
20567 * loader/i386/bsd.c: New file.
20568
20569 * loader/i386/bsd_normal.c: New file.
20570
20571 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
20572
20573 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 20574 can test other formats.
d38e24c2 20575
b93bdb0f 205762008-02-19 Robert Millan <rmh@aybabtu.com>
20577
20578 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
20579 (grub_gpt_partition_type_empty): Redefine with macro from
20580 `<grub/gpt_partition.h>'.
20581 (gpt_partition_map_iterate): Adjust partition type comparison.
20582
20583 Export `entry' as partmap-specific `part.data' struct.
20584 (grub_gpt_header, grub_gpt_partentry): Move from here ...
20585
20586 * include/grub/gpt_partition.h (grub_gpt_header)
20587 (grub_gpt_partentry): ... to here (new file).
20588
20589 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
20590
20591 (grub_gpt_partition_type_bios_boot): New const variable, defined
20592 with macro from `<grub/gpt_partition.h>'.
20593
20594 (setup): Replace `first_start' with `embed_region', which keeps
20595 track of the embed region (and is partmap-agnostic).
20596
20597 Replace find_first_partition_start() with find_usable_region(),
20598 which finds a usable region for embedding using partmap-specific
20599 knowledge (supports PC/MSDOS and GPT).
20600
20601 Fix all assumptions that the embed region start at sector 1, using
20602 `embed_region.start' from now on. Similarly, use `embed_region.end'
20603 rather than `first_start' to calculate available size.
20604
20605 In grub_util_info() message, replace "into after the MBR" with an
20606 indication of the specific sector our embed region starts at.
20607
66cb40f6 206082008-02-19 Robert Millan <rmh@aybabtu.com>
20609
20610 * DISTLIST: Replace `commands/ieee1275/halt.c' and
20611 `commands/ieee1275/reboot.c' with `commands/halt.c' and
20612 `commands/reboot.c'.
20613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
20614 (halt_mod_SOURCES): Likewise.
20615 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
20616 (halt_mod_SOURCES): Likewise.
20617
b7202015 206182008-02-17 Christian Franke <franke@computer.org>
20619
20620 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
20621
32b0fc49 206222008-02-17 Robert Millan <rmh@aybabtu.com>
20623
20624 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
20625 set `first_start' to 0 for non-PC/MSDOS partition maps.
20626
aca63502 206272008-02-16 Robert Millan <rmh@aybabtu.com>
20628
20629 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
20630 do not assume partition map is PC/MSDOS before performing checks that
20631 are specific to that layout.
20632
0de8be86 206332008-02-13 Robert Millan <rmh@aybabtu.com>
20634
20635 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
20636 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
20637 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
20638
c3db8364 206392008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
20640
20641 * configure.ac: Only a cosmetic change on the handling of
20642 -fno-stack-protector.
20643
f714229e 206442008-02-12 Alexandre Boeglin <alex@boeglin.org>
20645
c3db8364 20646 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
20647 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
20648 reboot.c.
f714229e 20649 (grub_install_SOURCES): Add halt.mod and reboot.mod.
20650 (halt_mod_SOURCES): New variable.
20651 (halt_mod_CFLAGS): Likewise.
20652 (halt_mod_LDFLAGS): Likewise.
20653 (reboot_mod_SOURCES): Likewise.
20654 (reboot_mod_CFLAGS): Likewise.
20655 (reboot_mod_LDFLAGS): Likewise.
20656
c3db8364 20657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
20658 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
20659 reboot.c.
f714229e 20660 (halt_mod_SOURCES): Likewise.
20661 (reboot_mod_SOURCES): Likewise.
20662
c3db8364 20663 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
20664 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 20665 (reboot_mod_SOURCES): Likewise.
20666
20667 * commands/i386/pc/reboot.c: merge this file ...
20668
20669 * commands/ieee1275/reboot.c: ... and this file ...
20670
20671 * commands/reboot.c: ... to this file.
c3db8364 20672 Add some precompiler directive to include the correct header for
20673 each machine.
f714229e 20674
20675 * commands/ieee1275/halt.c: move this file ...
20676
20677 * commands/halt.c: ... to here.
c3db8364 20678 Add some precompiler directive to include the correct header for
20679 each machine.
f714229e 20680
20681 * include/grub/efi/efi.h (grub_reboot): New function declaration.
20682 (grub_halt): Likewise.
20683
20684 * kern/efi/efi.c (grub_reboot): New function.
20685 (grub_halt): Likewise.
20686
c74493e0 206872008-02-12 Robert Millan <rmh@aybabtu.com>
20688
20689 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
20690 /dev (like it is done for /dev/mapper). This doesn't provide support
20691 for EVMS, but at least it is now easy to identify the problem when it
20692 arises.
20693
d0db4b04 206942008-02-11 Robert Millan <rmh@aybabtu.com>
20695
20696 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
20697 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
20698 comparing it with -1, not 0.
20699
bf748642 207002008-02-10 Robert Millan <rmh@aybabtu.com>
20701
20702 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
20703 `disk/lvm.c'.
20704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20705 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20706
20707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
20708 `disk/lvm.c' to the end of the list.
20709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
20710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20711
b5db202a 207122008-02-10 Robert Millan <rmh@aybabtu.com>
20713
20714 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
20715 grub_print_error() instead. This will let user know why we're entering
20716 rescue mode.
20717 Based on suggestions from Sam Morris.
20718
83abee31 207192008-02-10 Alexandre Boeglin <alex@boeglin.org>
20720
20721 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
20722 on remaining N args, instead of "--" arg N times.
20723
78d5a08b 207242008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
20725
20726 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
20727 (fill_with_default_glyph): Changed to use unknown_glyph for fill
20728 pattern for unknown glyphs.
20729
68807e5f 207302008-02-09 Robert Millan <rmh@aybabtu.com>
20731
20732 * configure.ac: Probe for `help2man'.
20733 * Makefile.in (builddir): New variable.
20734 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
20735 or otherwise add a few flags/options to it.
20736 (install-local): For every executable utility or script that is
20737 installed, invoke $(HELP2MAN) to install a manpage based on --help
20738 output.
20739
20740 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
20741 that it doesn't prevent --help from working in build tree.
20742
20743 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
20744 with `bug-grub@gnu.org'.
20745 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
20746 * util/update-grub.in (usage): New function.
20747 Implement proper argument check, with support for --help and --version
20748 (as well as existing -y).
20749
207502008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 20751
20752 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
20753 avoid overwriting previous output.
20754 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
20755
c1962162 207562008-02-09 Robert Millan <rmh@aybabtu.com>
20757
20758 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
20759 drawing the menu.
20760
3dac2e3f 207612008-02-09 Robert Millan <rmh@aybabtu.com>
20762
20763 * commands/sleep.c: New file.
20764 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
20765 (sleep_mod_SOURCES): New variable.
20766 (sleep_mod_CFLAGS): Likewise.
20767 (sleep_mod_LDFLAGS): Likewise.
20768
7a634e08 207692008-02-09 Robert Millan <rmh@aybabtu.com>
20770
20771 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
20772 situations in which we can deduce the RAID size and the superblock
20773 doesn't match it.
20774
b92f0c18 207752008-02-09 Robert Millan <rmh@aybabtu.com>
20776
20777 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
20778 and return a grub_diskmemberlist_t composed of LVM physical volumes.
20779 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
20780
20781 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
20782 and return a grub_diskmemberlist_t composed of physical array members.
20783 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
20784
20785 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
20786 prototype.
20787 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
20788 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
20789 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
20790
20791 * util/grub-probe.c (probe): Move partmap probing code from here ...
20792 (probe_partmap): ... to here.
20793 (probe): Use probe_partmap() once for the disk we're probing, and
20794 additionally, when such disk contains a memberlist() struct member,
20795 once for each disk that is contained in the structure returned by
20796 memberlist().
20797
91a4bf68 207982008-02-09 Robert Millan <rmh@aybabtu.com>
20799
20800 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
20801 environment variable to 'all' in order to obtain debug output from
20802 non-util/ code.
20803 * util/i386/pc/grub-setup.c (main): Likewise.
20804
a96f9caa 208052008-02-08 Robert Millan <rmh@aybabtu.com>
20806
20807 * disk/raid.c (grub_raid_scan_device): Check for
20808 `array->device[sb.this_disk.number]' rather than for
20809 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 20810 guaranteed to be accessible.
a96f9caa 20811
b37a9222 208122008-02-08 Robert Millan <rmh@aybabtu.com>
20813
20814 * disk/raid.c: Update copyright.
20815 * fs/cpio.c: Likewise.
20816 * include/grub/raid.h: Likewise.
20817 * loader/i386/pc/multiboot.c: Likewise.
20818 * util/hostfs.c: Likewise.
20819
5626aee1 208202008-02-08 Robert Millan <rmh@aybabtu.com>
20821
20822 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
20823 to a grub_disk_t array.
20824 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
20825 `device[x]'.
20826 (grub_raid_scan_device): Replace `device[x].name' accesses with
20827 `device[x]->name'. Simplify initialization of `array->device[x]'.
20828
554f0187 208292008-02-08 Robert Millan <rmh@aybabtu.com>
20830
20831 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
20832 grub_dprintf() calls.
20833 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
20834 error message.
20835
1ec8425d 208362008-02-07 Christian Franke <franke@computer.org>
20837
20838 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
20839 instead of fseek and ftell to support large files.
20840 (grub_hostfs_read): Likewise.
20841
f2156fda 208422008-02-07 Robert Millan <rmh@aybabtu.com>
20843
20844 Patch from Jeroen Dekkers.
20845 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 20846 failure, since successfully reading all array members might not be
f2156fda 20847 required.
20848
9216e0e7 208492008-02-06 Robert Millan <rmh@aybabtu.com>
20850
20851 * util/grub-probe.c (probe): Simplify partmap probing (with the
20852 assumption that the first word up to the underscore equals to
20853 the module name).
20854
b0dfd29a 208552008-02-06 Christian Franke <franke@computer.org>
20856
20857 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
20858 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
20859 last block of a cpio or tar stream.
20860 Check for "TRAILER!!!" instead of any empty data
20861 block to detect last block of a cpio stream.
20862 (grub_cpio_dir): Fix constness of variable np.
20863 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
20864 cpio or tar trailer is detected. This fixes a crash
20865 on open of a non existing file.
20866
c32865bf 208672008-02-05 Bean <bean123ch@gmail.com>
20868
20869 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
20870 address of entry.
20871 (grub_multiboot_load_elf64): Likewise.
20872 (grub_multiboot): Initialize mbi structure.
20873
20874 * util/grub-fstest.c: Don't include unused header file script.h.
20875
fe6b695a 20876 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 20877 of file.
20878 (grub_fstest_SOURCES): Likewise.
20879
409480b7 208802008-02-05 Robert Millan <rmh@aybabtu.com>
20881
20882 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
20883 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
20884 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
20885 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
20886
20887 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
20888 (translation_table): Replace hardcoded values with macros
20889 provided by `<grub/term.h>'.
20890
20891 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
20892 (keyboard_map): Correct/add a few values, with macros provided
20893 by `<grub/term.h>'.
20894 (keyboard_map_shift): Zero values that don't differ from their
20895 `keyboard_map' equivalents.
20896 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
20897 Discard the second scan code that is always sent by Caps lock.
20898 Only use `keyboard_map_shift' when it provides a non-zero value,
20899 otherwise fallback to `keyboard_map'.
20900
99fadbaa 209012008-02-04 Bean <bean123ch@gmail.com>
20902
20903 * Makefile.in (enable_grub_fstest): New variable.
20904
20905 * conf/common.rmk (grub_fstest_init.lst): New rule.
20906 (grub_fstest_init.h): Likewise.
20907 (grub_fstest_init.c): Likewise.
20908 (util/grub-fstest.c_DEPENDENCIES): New variable.
20909 (grub_fstest_SOURCES): Likewise.
20910
20911 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
20912
20913 * util/grub-fstest.c: New file.
20914
bf567c50 209152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20916
20917 Make grub-setup handle a separate root device.
f19dbdb7 20918
bf567c50 20919 * util/i386/pc/grub-setup.c (setup): Always open the root device,
20920 so that the root device can be compared with the destination
20921 device.
20922 When embedding the core image, if the root and destination devices
20923 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
20924 0xFF.
20925 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 20926
9be6b98b 209272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20928
20929 Add support for having a grub directory in a different drive. This
20930 is still only the data handling part.
f19dbdb7 20931
9be6b98b 20932 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
20933 (codestart): Save %dh in GRUB_ROOT_DRIVE.
20934 (grub_root_drive): New variable.
20935
20936 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
20937 instead of GRUB_BOOT_DRIVE to construct a device name. Set
20938 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
20939 as it was.
20940
20941 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
20942
20943 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
20944 macro.
20945 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
20946
20947 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
20948 is bogus, because PXE booting does not specify any drive
20949 correctly.
20950
20951 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
20952 am not sure if this is really correct.
20953
20954 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
20955 is always identical to the boot drive when booting from a CD.
20956
20957 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
20958 longer.
20959 (root_drive): New variable.
20960 (real_start): Unconditionally set %dh to ROOT_DRIVE.
20961 (setup_sectors): Push %dx right after popping it, because %dh will
20962 be modified later.
20963 (copy_buffer): Restore %dx.
20964
e0ca0677 209652008-02-03 Robert Millan <rmh@aybabtu.com>
20966
20967 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
20968 use `cdboot.img' for cdrom images.
20969
3b3f6629 209702008-02-03 Robert Millan <rmh@aybabtu.com>
20971
20972 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
20973 only setup gfxterm when `font' command has succeeded.
20974
d42b3672 209752008-02-03 Robert Millan <rmh@aybabtu.com>
20976
20977 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
20978 (grub_rescue_cmd_multiboot_loader)
20979 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
20980
fa370ea6 209812008-02-03 Pavel Roskin <proski@gnu.org>
20982
e0c5dacb 20983 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 20984 %edx and %esi from stack only after grub_gate_a20() is called.
20985 grub_gate_a20() clobbers %edx.
20986
f2a76e1d 209872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
20988
20989 * configure.ac (AC_INIT): Bumped to 1.96.
20990
20991 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
20992 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
20993 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
20994 video/readers/png.c.
20995
90fd32d1 209962008-02-03 Bean <bean123ch@gmail.com>
9be665dd 20997
20998 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
20999 (cdboot_img_SOURCES): New variable.
21000 (cdboot_img_ASFLAGS): New variable.
21001 (cdboot_img_LDFLAGS): New variable.
21002
21003 * boot/i386/pc/cdboot.S: New file.
21004
21005 * disk/i386/pc/biosdisk.c (cd_start): New variable.
21006 (cd_count): Likewise.
21007 (grub_biosdisk_get_drive): Add support for cd device.
21008 (grub_biosdisk_call_hook): Likewise.
21009 (grub_biosdisk_iterate): Likewise.
21010 (grub_biosdisk_open): Likewise.
21011 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
21012 (grub_biosdisk_rw): Support reading from cd device.
21013 (GRUB_MOD_INIT): Iterate cd devices.
21014
21015 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
21016 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
21017 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
21018
21019 * kern/i386/pc/init.c (make_install_device): Check for cd device.
21020
4020aa53 210212008-02-02 Robert Millan <rmh@aybabtu.com>
21022
21023 * commands/read.c: New file.
21024 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
21025 (read_mod_SOURCES): New variable.
21026 (read_mod_CFLAGS): Likewise.
21027 (read_mod_LDFLAGS): Likewise.
21028
e03a1132 210292008-02-02 Robert Millan <rmh@aybabtu.com>
21030
21031 * normal/main.c (grub_normal_execute): Check for `menu->size' when
21032 determining whether menu has to be displayed.
21033
58c69220 210342008-02-02 Marco Gerards <marco@gnu.org>
21035
21036 * bus/pci.c: New file.
21037
21038 * include/grub/pci.h: Likewise.
21039
21040 * include/grub/i386/pc/pci.h: Likewise.
21041
21042 * commands/lspci.c: Likewise.
21043
21044 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
21045 `lspci.mod'.
21046 (pci_mod_SOURCES): New variable.
21047 (pci_mod_CFLAGS): Likewise.
21048 (pci_mod_LDFLAGS): Likewise.
21049 (lspci_mod_SOURCES): Likewise.
21050 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 21051 (lspci_mod_LDFLAGS): Likewise.
58c69220 21052
c004e1b4 210532008-02-02 Bean <bean123ch@gmail.com>
21054
21055 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
21056 (grub_ufs_get_file_block): Fix indirect block calculation problem.
21057
21058 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
21059 (grub_xfs_btree_node): New structure.
21060 (grub_xfs_btree_root): New structure.
21061 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
21062 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
21063 (GRUB_XFS_EXTENT_BLOCK): Likewise.
21064 (GRUB_XFS_EXTENT_SIZE): Likewise.
21065 (grub_xfs_read_block): Support btree format type.
21066 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
21067 Use directory block as basic unit.
21068
21069 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
21070
21071 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
21072 __attribute__ ((__regparm__ (1))).
21073
f95562bf 210742008-02-01 Robert Millan <rmh@aybabtu.com>
21075
21076 Correct a mistake in previous commit.
21077
21078 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
21079 top.
21080 (normal/command.c_DEPENDENCIES): New variable.
21081
7d31f41f 210822008-02-01 Robert Millan <rmh@aybabtu.com>
21083
21084 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
21085 top.
21086 (normal/command.c_DEPENDENCIES): New variable.
21087 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
21088 * conf/i386-ieee1275.rmk: Likewise.
21089 * conf/i386-linuxbios.rmk: Likewise.
21090 * conf/i386-pc.rmk: Likewise.
21091 * conf/sparc64-ieee1275.rmk: Likewise.
21092 * conf/powerpc-ieee1275.rmk: Likewise.
21093 (grub_emu_SOURCES): Add `fs/fshelp.c'.
21094
21095 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
21096
60b6be74 210972008-02-01 Robert Millan <rmh@aybabtu.com>
21098
21099 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
21100 call at beginning of function.
21101
078522ab 211022008-01-31 Pavel Roskin <proski@gnu.org>
21103
21104 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 21105 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
21106 (grub_mkrescue_SOURCES): Likewise.
078522ab 21107 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
21108
ccaa8a5f 211092008-01-30 Robert Millan <rmh@aybabtu.com>
21110
21111 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
21112 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
21113 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
21114 (grub_probe_SOURCES): ... to here.
21115
21116 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
21117 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
21118 * conf/i386-ieee1275.rmk: Likewise.
21119 * conf/i386-linuxbios.rmk: Likewise.
21120 * conf/powerpc-ieee1275.rmk: Likewise.
21121
ae5a9cd7 211222008-01-30 Tristan Gingold <gingold@free.fr>
21123
21124 * kern/rescue.c: Silently accept empty lines.
21125
70bc2ef2 211262008-01-29 Bean <bean123ch@gmail.com>
21127
21128 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
21129 (real_code_2): Code cleanup and change comment style.
21130 (move_memory): Avoid using 32-bit address mode.
21131
6a4d50ea 211322008-01-29 Bean <bean123ch@gmail.com>
21133
21134 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
21135 (png_mod_SOURCES): New variable.
21136 (png_mod_CFLAGS): Likewise.
21137 (png_mod_LDFLAGS): Likewise.
21138
21139 * video/readers/png.c: New file.
21140
11cc30ac 211412008-01-28 Robert Millan <rmh@aybabtu.com>
21142
21143 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
21144 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
21145 `ifndef GRUB_MOD_GAP' hack.
21146 * util/elf/grub-mkimage.c (add_segments): Likewise.
21147
3abc589f 211482008-01-27 Robert Millan <rmh@aybabtu.com>
21149
21150 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
21151 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 21152 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 21153
e1907778 211542008-01-27 Robert Millan <rmh@aybabtu.com>
21155
21156 Get grub-emu to build again (including parallel builds).
21157
21158 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
21159 Split into ...
21160 (util/grub-emu.c_DEPENDENCIES): ... this, ...
21161 (normal/execute.c_DEPENDENCIES): ... this, ...
21162 (grub-emu_DEPENDENCIES): ... and this.
21163
21164 * conf/i386-efi.rmk: Likewise.
21165 * conf/i386-linuxbios.rmk: Likewise.
21166 * conf/i386-ieee1275.rmk: Likewise.
21167 * conf/powerpc-ieee1275.rmk: Likewise.
21168 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
21169
2216b101 211702008-01-27 Robert Millan <rmh@aybabtu.com>
21171
21172 * NEWS: Add a few items.
21173
f75172d9 211742008-01-27 Robert Millan <rmh@aybabtu.com>
21175
21176 Fix parallel builds with grub-emu. Based on earlier commit for
21177 grub-probe and grub-setup.
21178
21179 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21180 (util/grub-emu.c_DEPENDENCIES): ... this.
21181 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21182 (util/grub-emu.c_DEPENDENCIES): ... this.
21183 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21184 (util/grub-emu.c_DEPENDENCIES): ... this.
21185 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21186 (util/grub-emu.c_DEPENDENCIES): ... this.
21187 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21188 (util/grub-emu.c_DEPENDENCIES): ... this.
21189
3f51de77 211902008-01-27 Pavel Roskin <proski@gnu.org>
21191
21192 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
21193 to create a gap between _end and the modules added to the image
21194 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
21195 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
21196 * util/elf/grub-mkimage.c (add_segments): Likewise.
21197
2033f53e 211982008-01-26 Pavel Roskin <proski@gnu.org>
21199
21200 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
21201 just return an error.
21202
22da1f6f 212032008-01-26 Bean <bean123ch@gmail.com>
21204
21205 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
21206 (grub_reiserfs_get_item): Save offset of the next item.
21207 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
21208
2a9525e6 212092008-01-25 Robert Millan <rmh@aybabtu.com>
21210
21211 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
21212 make all filesystem sources appear together (possibly fixing omissions
21213 while at it).
21214 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21216 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21218
21219 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
21220 add `kern/file.c'.
21221 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
21222 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21223 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
21224 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21225
21226 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
21227 (probe): Add a sanity check to make sure of our ability to read
21228 requested files when probing for filesystem type.
21229
21230 * genmk.rb: Update copyright year (2007).
21231
21232 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
21233 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
21234 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
21235 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
21236 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
21237 : Remove function prototypes.
21238
b95f71b5 212392008-01-25 Robert Millan <rmh@aybabtu.com>
21240
21241 Revert my previous commits (based on wrong assumption of how grub_errno
21242 works).
21243
fe6b695a 21244 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 21245 * kern/file.c (grub_file_open): Likewise.
21246
d08bbb49 212472008-01-24 Pavel Roskin <proski@gnu.org>
21248
21249 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
21250 that hang if GRUB tries to setup colors.
21251 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
21252 colors for firmwares that don't support it.
21253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
21254 Recognize Open Hack'Ware, set flags to work around its
21255 limitations.
21256
605e36ed 212572008-01-24 Robert Millan <rmh@aybabtu.com>
21258
21259 * kern/file.c (grub_file_open): Do not account previous failures of
21260 unrelated functions when grub_errno is checked for.
21261 Reported by Oleg Strikov.
21262
bac332a1 212632008-01-24 Bean <bean123ch@gmail.com>
21264
21265 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
21266 (grub_ufs_sblock): New member volume name.
21267 (grub_ufs_find_file): Fix string copy bug.
21268 (grub_ufs_label): Implement this function properly.
21269
21270 * fs/hfs.c (grub_hfs_cnid_type): New enum.
21271 (grub_hfs_iterate_records): Use the correct file number for extents
21272 and catalog file. Fix problem in next index calculation.
21273 (grub_hfs_find_node): Replace recursive function call with loop.
21274 (grub_hfs_iterate_dir): Replace recursive function call with loop.
21275
15c80c09 212762008-01-23 Robert Millan <rmh@aybabtu.com>
21277
21278 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
21279 `<grub/symbol.h>' and `<grub/multiboot.h>'.
21280 (grub_multiboot2_real_boot): New function prototype.
21281
21282 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
21283 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
21284
21285 * kern/i386/ieee1275/init.c (grub_os_area_addr)
21286 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
21287
305338fd 212882008-01-23 Robert Millan <rmh@aybabtu.com>
21289
21290 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
21291 #ifdef'ed out grub_printf().
21292
3ea52685 212932008-01-23 Robert Millan <rmh@aybabtu.com>
21294
21295 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
21296 grub_dprintf calls, since they make "debug=all" mode unusable.
21297 (grub_console_checkkey): Likewise.
21298
5882ae4b 212992008-01-23 Robert Millan <rmh@aybabtu.com>
21300
21301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21302 `term/i386/pc/at_keyboard.c'.
21303 (pkglib_MODULES): Add `serial.mod'.
21304 (serial_mod_SOURCES): New variable.
21305 (serial_mod_CFLAGS): Likewise.
21306 (serial_mod_LDFLAGS): Likewise.
21307
21308 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
21309 `<grub/powerpc/ieee1275/console.h>'.
21310 (grub_keyboard_controller_init): New function prototype.
21311 (grub_console_checkkey): Likewise.
21312 (grub_console_getkey): Likewise.
21313
21314 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
21315 keyboard on i386.
21316
21317 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
21318 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
21319
06ab5303 213202008-01-23 Robert Millan <rmh@aybabtu.com>
21321
21322 * kern/i386/pc/init.c (make_install_device): When memdisk image is
21323 present, "(memdisk)/boot/grub" becomes the default prefix.
21324
21325 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
21326 a memdisk tarball with all the modules. Add --overlay=DIR option that
21327 allows users to overlay additional files into the image.
21328
dbb475a4 213292008-01-23 Robert Millan <rmh@aybabtu.com>
21330
21331 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
21332 and `machine/memory.h'.
21333 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
21334 (_multiboot_mod_SOURCES): New variable.
21335 (_multiboot_mod_CFLAGS): Likewise.
21336 (_multiboot_mod_LDFLAGS): Likewise.
21337 (multiboot_mod_SOURCES): Likewise.
21338 (multiboot_mod_CFLAGS): Likewise.
21339 (multiboot_mod_LDFLAGS): Likewise.
21340
21341 * include/grub/i386/ieee1275/loader.h: New file.
21342
21343 * include/grub/i386/ieee1275/machine.h: Likewise.
21344
21345 * include/grub/i386/ieee1275/memory.h: Likewise.
21346
21347 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
21348 variable declaration.
21349 (grub_os_area_size): Likewise.
21350
21351 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
21352 (grub_lower_mem, grub_upper_mem): New variables.
21353 (grub_stop_floppy): New function (just to make
21354 grub_multiboot2_real_boot() happy).
21355
21356 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
21357 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
21358 (grub_stop): New function.
21359 Include `"../realmode.S"' and `"../loader.S"'.
21360
21361 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
21362 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
21363
21364 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
21365 rely on grub_multiboot2_real_boot() for final boot.
21366
25638629 213672008-01-22 Robert Millan <rmh@aybabtu.com>
21368
21369 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
21370 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
21371 device that doesn't look like an SD card.
21372 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
21373 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
21374 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
21375 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
21376 found.
21377
9dad816d 213782008-01-22 Robert Millan <rmh@aybabtu.com>
21379
21380 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
21381 avoid claiming over our own code.
21382
34842f2d 213832008-01-22 Bean <bean123ch@gmail.com>
21384
21385 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
21386 (jpeg_mod_SOURCES): New variable.
21387 (jpeg_mod_CFLAGS): Likewise.
21388 (jpeg_mod_LDFLAGS): Likewise.
21389
21390 * video/readers/jpeg.c : New file.
21391
44023a28 213922008-01-22 Bean <bean123ch@gmail.com>
21393
21394 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
21395 there are no more items.
21396
bc2d8ac6 213972008-01-21 Robert Millan <rmh@aybabtu.com>
21398
21399 * kern/mm.c (grub_mm_init_region): Improve debug message.
21400
261bd4bc 214012008-01-21 Robert Millan <rmh@aybabtu.com>
21402
21403 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
21404 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
21405 address.
21406 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
21407 a C macro.
21408 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
21409 Indicates start of upper memory.
21410 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
21411 (generate_image): Abort when image size is big enough to corrupt
21412 upper memory.
21413
21414 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
21415 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
21416 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
21417 instead of hardcoding 0xA0000.
21418 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
21419 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
21420 instead of hardcoding 0xA0000.
21421
f970b55e 214222008-01-21 Robert Millan <rmh@aybabtu.com>
21423
21424 * disk/memdisk.c (memdisk_size): New variable.
21425 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
21426 `memdisk_size'.
21427 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
21428 image to dynamic memory.
21429 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
21430 `memdisk_size'. Free memdisk block.
21431
1a8b0526 214322008-01-21 Robert Millan <rmh@aybabtu.com>
21433
21434 Fix detection of very small filesystems (like tar).
21435
21436 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
21437 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
21438 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
21439 a problem with this disk).
21440
6e9b4aab 214412008-01-21 Robert Millan <rmh@aybabtu.com>
21442
21443 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
21444 on grub_biosdisk_rw_standard() error.
21445
0d8837b2 214462008-01-21 Robert Millan <rmh@aybabtu.com>
21447
21448 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
21449 recent changes.
21450 * kern/elf.c: Likewise.
21451 * kern/ieee1275/ieee1275.c: Likewise.
21452 * kern/powerpc/ieee1275/openfw.c: Likewise.
21453 * term/ieee1275/ofconsole.c: Likewise.
21454
ffd36e34 214552008-01-21 Robert Millan <rmh@aybabtu.com>
21456
21457 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
21458
3f0093d0 21459 * include/grub/kernel.h (grub_arch_memdisk_addr)
21460 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 21461
3f0093d0 21462 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
21463 (grub_arch_memdisk_size): ... to here.
ffd36e34 21464
6c391b21 214652008-01-21 Robert Millan <rmh@aybabtu.com>
21466
21467 Mostly based on bugfix from Bean.
21468
21469 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
21470 attribute with hook() parameter.
21471 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
21472 declaration.
21473 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
21474 attribute with hook() parameter.
21475 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
21476 declaration.
21477
55a581dc 214782008-01-21 Robert Millan <rmh@aybabtu.com>
21479
21480 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
21481 (pkglib_MODULES): Add `memdisk.mod'.
21482 (memdisk_mod_SOURCES): New variable.
21483 (memdisk_mod_CFLAGS): Likewise.
21484 (memdisk_mod_LDFLAGS): Likewise.
21485
21486 * disk/memdisk.c: New file.
21487
21488 * include/grub/disk.h (grub_disk_dev_id): Add
21489 `GRUB_DISK_DEVICE_MEMDISK_ID'.
21490
21491 * include/grub/i386/pc/kernel.h
21492 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
21493 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
21494 (grub_kernel_image_size): New variable declaration.
21495 (grub_total_module_size): Likewise.
21496 (grub_memdisk_image_size): Likewise.
21497
21498 * include/grub/i386/pc/memory.h
21499 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
21500
21501 * include/grub/kernel.h: Include `<grub/symbol.h>'.
21502 (grub_arch_memdisk_addr): New variable declaration.
21503 (grub_arch_memdisk_size): Likewise.
21504
21505 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
21506 (grub_arch_memdisk_size): Likewise.
21507
21508 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
21509 (codestart): Replace hardcoded `0x100000' with
21510 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
21511
21512 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
21513 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
21514 not NULL, append the contents of the file it refers to, at the end of
21515 the compressed kernel image. Initialize `grub_memdisk_image_size'
21516 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
21517 (options): Add "memdisk"|'m' option.
21518 (main): Parse --memdisk|-m option, and pass user-provided path as
21519 parameter to generate_image().
21520
3d7f54c9 215212008-01-20 Robert Millan <rmh@aybabtu.com>
21522
21523 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
21524 grub_dprintf() calls from here ...
21525 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
21526
0bf74728 215272008-01-20 Robert Millan <rmh@aybabtu.com>
21528
21529 Fix detection of "real mode" when /options/real-mode? doesn't exist.
21530
21531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
21532 declaration.
21533 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
21534 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
21535 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 21536 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 21537 property).
21538 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
21539 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
21540
33bf70a7 215412008-01-19 Robert Millan <rmh@aybabtu.com>
21542
fe6b695a 21543 Get rid of confusing function (superseded by
33bf70a7 21544 `grub_ieee1275_get_integer_property')
21545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
21546 prototype.
21547 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
21548 function.
21549 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
21550 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 21551 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 21552
e2da7d26 215532008-01-19 Robert Millan <rmh@aybabtu.com>
21554
21555 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
21556 command after "shut-down", since implementations differ on which
21557 the command for halt is.
21558
59f1fd8d 215592008-01-19 Robert Millan <rmh@aybabtu.com>
21560
21561 * include/grub/i386/linuxbios/console.h: Add header protection.
21562 (grub_keyboard_controller_init): New function prototype.
21563 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
21564 (KEYBOARD_COMMAND_READ): Likewise.
21565 (KEYBOARD_COMMAND_WRITE): Likewise.
21566 (KEYBOARD_SCANCODE_SET1): Likewise.
21567 (grub_keyboard_controller_write): New function.
21568 (grub_keyboard_controller_read): Likewise.
21569 (grub_keyboard_controller_init): Likewise.
21570
21571 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
21572 (grub_console_init): On coreboot/LinuxBIOS, call
21573 grub_keyboard_controller_init().
21574
5f5a7c15 215752008-01-19 Robert Millan <rmh@aybabtu.com>
21576
21577 PowerPC changes provided by Pavel Roskin.
21578
21579 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
21580 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
21581 don't rely on cmain() doing it.
21582 * kern/i386/ieee1275/startup.S (_start): Store %eax in
21583 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
21584
1210e168 215852008-01-16 Robert Millan <rmh@aybabtu.com>
21586
21587 * include/grub/i386/linuxbios/memory.h
21588 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
21589 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
21590 receive `table_header' as argument. Instead, probe for it in the
21591 known memory ranges where it can be present.
21592 (grub_available_iterate): Do not pass a fixed `table_header' address
21593 to grub_linuxbios_table_iterate().
21594
3d04eab8 215952008-01-15 Robert Millan <rmh@aybabtu.com>
21596
21597 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
21598 * conf/i386-ieee1275.rmk: New file.
21599 * include/grub/i386/ieee1275/console.h: Likewise.
21600 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
21601 * include/grub/i386/ieee1275/kernel.h: Likewise.
21602 * include/grub/i386/ieee1275/time.h: Likewise.
21603 * kern/i386/ieee1275/init.c: Likewise.
21604 * kern/i386/ieee1275/startup.S: Likewise.
21605
d1bc1b73 216062008-01-15 Robert Millan <rmh@aybabtu.com>
21607
21608 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
21609 when pointers are 32-bit (but still do set it to one when they are
21610 64-bit).
21611
66a65807 216122008-01-15 Robert Millan <rmh@aybabtu.com>
21613
21614 * include/grub/ieee1275/ieee1275.h
21615 (grub_ieee1275_get_integer_property): New function prototype.
21616
21617 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
21618 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 21619 grub_ieee1275_get_property() to handle endianness.
66a65807 21620
21621 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
21622 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 21623 where appropriate.
66a65807 21624 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
21625 (grub_map): Likewise.
21626 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
21627
a83ccafd 216282008-01-15 Bean <bean123ch@gmail.com>
21629
21630 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
21631 (grub_script_execute_cmdline): Reset grub_errno.
21632
21633 * normal/main.c (read_config_file): Reset grub_errno.
21634
21635 * normal/parse.y (script_init): New.
21636 (script): Move function and menuentry here.
21637 (delimiter): New.
21638 (command): Add delimiter at the end of command.
21639 (commands): Adjust to match the new command.
21640 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 21641 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 21642 (if): Use the new commands.
21643
21644 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
21645
df6ecfc6 216462008-01-15 Robert Millan <rmh@aybabtu.com>
21647
21648 * normal/menu.c (run_menu): Move timeout message from here ...
21649 (print_timeout): ... to here.
21650 (run_menu): Use print_timeout() once during initial draw to print
21651 the whole message, and again in every clock tick to update only
21652 the number of seconds.
21653
87ae25eb 216542008-01-15 Robert Millan <rmh@aybabtu.com>
21655
21656 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
21657 actual size of `available' from grub_ieee1275_get_property(), and
21658 restrict parsing to that bound.
21659
47bf09a4 216602008-01-15 Christian Franke <franke@computer.org>
21661
21662 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
21663 (argp_program_version): Remove variable.
21664 (argp_program_bug_address): Likewise.
21665 (options): Convert from struct argp_option to struct option.
21666 (struct arguments): Remove.
21667 (parse_opt): Remove.
21668 (usage): New function.
21669 (main): Replace struct args members by simple variables.
21670 Replace argp_parse() by getopt_long().
21671 Add switch to evaluate options.
21672 Add missing "(...)" around root_dev in prefix string.
21673
c86f1469 216742008-01-14 Robert Millan <rmh@aybabtu.com>
21675
21676 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
21677 for grub_ieee1275_exit(), in order to improve portability.
21678
e622c559 216792008-01-14 Robert Millan <rmh@aybabtu.com>
21680
21681 * util/grub.d/10_linux.in (prefix): Define.
21682 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
21683
44cb1ec8 216842008-01-13 Pavel Roskin <proski@gnu.org>
21685
21686 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
21687 grub_errno if no errors have been detected.
21688
1eb8c802 216892008-01-12 Robert Millan <rmh@aybabtu.com>
21690
21691 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
21692 (grub_util_get_dev_abstraction): New function prototype.
21693
21694 * util/getroot.c: Include `<grub/util/getroot.h>'
21695 (grub_util_get_grub_dev): Move detection of abstraction type to ...
21696 (grub_util_get_dev_abstraction): ... here (new function).
21697
21698 * util/grub-probe.c: Convert PRINT_* to an enum. Add
21699 `PRINT_ABSTRACTION'.
21700 (probe): Probe for abstraction type when requested.
21701 (main): Understand `--target=abstraction'.
21702
21703 * util/i386/efi/grub-install.in: Add abstraction module to core
21704 image when it is found to be necessary.
21705 * util/i386/pc/grub-install.in: Likewise.
21706 * util/powerpc/ieee1275/grub-install.in: Likewise.
21707
21708 * util/update-grub_lib.in (font_path): Return system path without
21709 converting to GRUB path.
21710 * util/update-grub.in: Convert system path returned by font_path()
21711 to a GRUB path. Use `grub-probe -t abstraction' to determine what
21712 abstraction module is needed for loading fonts (if any). Export
21713 that as `GRUB_PRELOAD_MODULES'.
21714 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
21715 insmod commands).
21716
52bd3de9 217172008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
21718
21719 Remove some unused code from reiserfs.
f19dbdb7 21720
52bd3de9 21721 * fs/reiserfs.c (struct grub_reiserfs_key)
21722 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
21723 (struct grub_reiserfs_node_body): Removed.
21724 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
21725 Likewise.
21726 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21727 Likewise.
21728 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21729 Likewise.
21730 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
21731 Likewise.
21732 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
21733 Likewise.
21734 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
21735 Likewise.
21736 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21737 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21738 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
21739
2f80039d 217402008-01-10 Robert Millan <rmh@aybabtu.com>
21741
21742 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
21743 Determines if a file is garbage left by packaging systems, etc.
21744 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
21745 for processing /etc/grub.d scripts.
21746 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
21747 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
21748 as a condition for processing Linux images.
21749
87888032 217502008-01-10 Pavel Roskin <proski@gnu.org>
21751
21752 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
21753 to compile reiserfs.c on PowerPC.
21754
7e54fced 217552008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 21756
21757 * kern/device.c (grub_device_iterate): Do not abort device iteration
21758 when one of the devices cannot be opened.
21759 * kern/disk.c (grub_disk_open): Do not account previous failures of
21760 unrelated functions when grub_errno is checked for.
21761
5aa541e6 217622008-01-08 Robert Millan <rmh@aybabtu.com>
21763
21764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
21765 `! grub_linux_is_bzimage', change order of address comparison to make
21766 it more intuitive, and improve "too big zImage" error message.
21767
7076340d 217682008-01-08 Robert Millan <rmh@aybabtu.com>
21769
21770 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
21771 `$(update-grub_DATA)'.
21772 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
21773 targets.
21774
9ca70333 217752008-01-07 Robert Millan <rmh@aybabtu.com>
21776
21777 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
21778 which instruction is modified by grub-setup during installation
21779 (since it wasn't obvious by only looking at this file).
21780
38ccf575 217812008-01-07 Robert Millan <rmh@aybabtu.com>
21782
21783 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
21784 listing actual TODO items.
21785
f5db4291 217862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21787
868967cf 21788 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
21789 correctly.
21790 (grub_reiserfs_get_key_offset): Likewise.
21791 (grub_reiserfs_set_key_offset): Likewise.
21792 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 21793 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 21794
21795 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
21796 better to remove the bitfield version completely.
f19dbdb7 21797
868967cf 217982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21799
f5db4291 21800 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
21801 allocated from the heap, due to the fshelp implementation.
21802 (grub_reiserfs_dir): Free NODE, due to the same reason.
21803
492e6d9d 218042008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21805
21806 Mostly from Vincent Pelletier:
f19dbdb7 21807
492e6d9d 21808 * fs/reiserfs.c: New file.
f19dbdb7 21809
492e6d9d 21810 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
21811 (reiserfs_mod_SOURCES): New variable.
21812 (reiserfs_mod_CFLAGS): Likewise.
21813 (reiserfs_mod_LDFLAGS): Likewise.
21814
21815 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
21816 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
21817 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
21818 normal/color.c.
21819
9ce3e7c1 218202008-01-06 Robert Millan <rmh@aybabtu.com>
21821
21822 * normal/color.c: Remove `<grub/env.h>'.
21823
f3b58148 218242008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
21825
21826 * include/grub/normal.h: Include <grub/env.h>.
21827
7ac3bcfa 218282008-01-05 Robert Millan <rmh@aybabtu.com>
21829
21830 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
21831 usage example with `(hd0,1)'.
fb358190 21832 Reported by Samuel Thibault.
7ac3bcfa 21833
c8ee99d7 218342008-01-05 Robert Millan <rmh@aybabtu.com>
21835
21836 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
21837 (grub_linux_boot_zimage): Rename to ...
21838 (grub_linux_boot): ... this.
21839 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
21840 (grub_linux_boot_zimage): Conditionalize zImage copy.
21841
21842 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
21843 (grub_linux_boot_bzimage): Remove prototype.
21844 (grub_linux_boot_zimage): Rename to ...
21845 (grub_linux_boot): ... this.
21846
21847 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
21848 (grub_linux_boot): Remove function.
21849
0ece25b1 218502008-01-05 Robert Millan <rmh@aybabtu.com>
21851
21852 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
21853 (grub_env_write_color_highlight): Likewise.
21854 (grub_wait_after_message): Likewise.
21855
21856 * normal/color.c: New file.
21857
21858 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21859 (normal_mod_DEPENDENCIES): Likewise.
21860
21861 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21862 (normal_mod_DEPENDENCIES): Likewise.
21863
21864 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21865 (normal_mod_DEPENDENCIES): Likewise.
21866
21867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
21868 (normal_mod_DEPENDENCIES): Likewise.
21869
21870 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
21871 for waiting after a message is printed.
21872 * normal/main.c (read_config_file): Likewise.
21873 (grub_normal_init): Register grub_env_write_color_normal() and
21874 grub_env_write_color_highlight() hooks. Mark `color_normal' and
21875 `color_highlight' variables as global.
21876
21877 * normal/menu.c (grub_wait_after_message): New function.
21878 (grub_color_menu_normal): New variable. Replaces ...
21879 (GRUB_COLOR_MENU_NORMAL): ... this macro.
21880 (grub_color_menu_highlight): New variable. Replaces ...
21881 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
21882 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
21883 `GRUB_TERM_COLOR_STANDARD'.
21884 (print_message): Use `grub_setcolorstate' to reload colors. Rename
21885 `normal_code' and `highlight_code' to `old_color_normal' and
21886 `old_color_highlight', respectively.
21887 (grub_menu_init_page): Update colors when drawing the menu, based on
21888 `menu_color_normal' and `menu_color_highlight' variables.
21889 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
21890 a message is printed.
21891
182dd4e5 218922008-01-05 Robert Millan <rmh@aybabtu.com>
21893
21894 * kern/env.c (grub_env_context_open): Propagate hooks for global
21895 variables to new context.
21896
21897 * kern/main.c (grub_set_root_dev): Export `root' variable.
21898
ddf8f6ad 218992008-01-05 Robert Millan <rmh@aybabtu.com>
21900
21901 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 21902 discs unconditionally, since udev and others have options to provide
ddf8f6ad 21903 them.
21904
d8b43d9b 219052008-01-05 Robert Millan <rmh@aybabtu.com>
21906
21907 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
21908
2bff2de3 219092008-01-04 Christian Franke <franke@computer.org>
21910
21911 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
21912 of eisa_mmap.
21913
97eab917 219142008-01-03 Pavel Roskin <proski@gnu.org>
21915
21916 * kern/i386/linuxbios/init.c: Put "void" to all function
21917 declarations with no arguments.
21918 * kern/powerpc/ieee1275/init.c: Likewise.
21919 * term/i386/pc/at_keyboard.c: Likewise.
21920 * term/i386/pc/vga_text.c: Likewise.
21921 * util/grub-mkdevicemap.c: Likewise.
21922
b9416d00 219232008-01-02 Robert Millan <rmh@aybabtu.com>
21924
21925 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
21926 message when loaded image is out of bounds.
21927 (grub_multiboot_load_elf64): Likewise.
21928
92695df9 219292008-01-02 Pavel Roskin <proski@gnu.org>
21930
21931 * util/grub.d/10_linux.in: Try version without ".old" when
21932 looking for initrd. It's better to use initrd from the newer
21933 kernel of the same version than no initrd at all.
21934
d98d9cad 219352008-01-01 Robert Millan <rmh@aybabtu.com>
21936
21937 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
21938
dbfdce36 219392008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
21940
f19dbdb7 21941 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 21942 grub_video_get_active_render_target.
21943 (grub_video_adapter): Added unmap_color and get_active_render_target.
21944
f19dbdb7 21945 * video/video.c: Added grub_video_unmap_color and
dbfdce36 21946 grub_video_get_active_render_target.
21947 (grub_video_get_info): Changed method to accept NULL pointer as an
21948 argument to allow detection of active video adapter.
21949
21950 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
21951 grub_video_vbe_unmap_color_int.
21952 Added grub_video_vbe_unmap_color and
21953 grub_video_vbe_get_active_render_target.
21954 (grub_video_vbe_adapter): Added unmap_color and
21955 get_active_render_target.
21956
f19dbdb7 21957 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 21958 with grub_video_vbe_unmap_color_int.
21959
21960 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
21961 (DEFAULT_NORMAL_COLOR): Likewise.
21962 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
21963 (DEFAULT_FG_COLOR): Removed.
21964 (DEFAULT_BG_COLOR): Likewise.
21965 (DEFAULT_CURSOR_COLOR): Changed value.
21966 (grub_virtual_screen): Added standard_color_setting,
21967 normal_color_setting, highlight_color_setting and term_color.
21968 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
21969 (bitmap_width): Added.
21970 (bitmap_height): Likewise.
21971 (bitmap): Likewise.
21972 (set_term_color): Likewise.
21973 (grub_virtual_screen_setup): Changed to use new terminal coloring
21974 settings.
21975 (grub_gfxterm_init): Added init for bitmap.
21976 (grub_gfxterm_fini): Added destroy for bitmap.
21977 (redraw_screen_rect): Updated to use background bitmap and new
21978 terminal coloring.
21979 (scroll_up): Added optimization for case when there is no bitmap.
21980 (grub_gfxterm_cls): Fixed to use correct background color.
21981 (grub_virtual_screen_setcolorstate): Changed to use new terminal
21982 coloring.
21983 (grub_virtual_screen_setcolor): Likewise.
21984 (grub_virtual_screen_getcolor): Added.
21985 (grub_gfxterm_background_image_cmd): Likewise.
21986 (grub_video_term): Added setcolor and getcolor.
21987 (MOD_INIT): Added registration of background_image command.
21988 (MOD_TERM): Added unregistration for background_image command.
21989
c3c20931 219902007-12-30 Pavel Roskin <proski@gnu.org>
21991
21992 * loader/multiboot_loader.c: Fix multiboot command
21993 unregistration. Fix all typos in the word "multiboot".
21994
df266716 219952007-12-29 Pavel Roskin <proski@gnu.org>
94239199 21996
21997 * util/grub.d/10_linux.in: Refactor search for initrd. Add
21998 support for initrd names used in Fedora.
21999
fc6e896c 220002007-12-26 Bean <bean123ch@gmail.com>
22001
22002 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
22003 (cpio_mod_SOURCES): New variable.
22004 (cpio_mod_CFLAGS): Likewise.
22005 (cpio_mod_LDFLAGS): Likewise.
22006
22007 * fs/cpio.c: New file.
22008
22009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
22010
22011 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22012
22013 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22014
22015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22016
533110ad 220172007-12-25 Robert Millan <rmh@aybabtu.com>
22018
22019 * include/grub/term.h (struct grub_term): Add `getcolor' function.
22020 (grub_getcolor): New function.
22021
22022 * kern/term.c (grub_getcolor): New function.
22023 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
22024 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
22025 (print_entry): Set normal and highlight colors to
22026 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
22027 respectively, before printing and restore them to old
22028 values afterwards.
22029 (grub_menu_init_page): Likewise. Fill an additional colored space
22030 that would otherwise be left blank.
22031
22032 * term/efi/console.c (grub_console_getcolor): New function.
22033 (struct grub_console_term.getcolor): New variable.
22034 * term/i386/pc/console.c (grub_console_getcolor): New function.
22035 (struct grub_console_term.getcolor): New variable.
22036 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
22037 (struct grub_console_term.getcolor): New variable.
22038
22039 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
22040 (struct grub_console_term.setcolor): Remove variable.
22041 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
22042 (struct grub_console_term.setcolor): Remove variable.
22043 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
22044 (struct grub_console_term.setcolor): Remove variable.
22045 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
22046 (struct grub_console_term.setcolor): Remove variable.
22047
4931827f 220482007-12-25 Robert Millan <rmh@aybabtu.com>
22049
22050 * configure.ac: Search for possible unifont.hex locations, and
22051 define UNIFONT_HEX if found.
22052
22053 * Makefile.in (UNIFONT_HEX): Define variable.
22054 (DATA): Rename to ...
22055 (PKGLIB): ... this. Update all users.
22056 (PKGDATA): New variable.
22057 (pkgdata_IMAGES): Rename to ...
22058 (pkglib_IMAGES): ... this. Update all users.
22059 (pkgdata_MODULES): Rename to ...
22060 (pkglib_MODULES): ... this. Update all users.
22061 (pkgdata_PROGRAMS): Rename to ...
22062 (pkglib_PROGRAMS): ... this. Update all users.
22063 (pkgdata_DATA): Rename to ...
22064 (pkglib_DATA): ... this. Update all users.
22065 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
22066 (unicode.pff, ascii.pff): New rules.
22067 (all-local): Add `$(PKGDATA)' dependency.
22068 (install-local): Process `$(PKGDATA)'.
22069
22070 * util/update-grub_lib.in (font_path): Search for *.pff files in
22071 a few more locations, including `${pkgdata}'.
22072
57e57e31 220732007-12-23 Robert Millan <rmh@aybabtu.com>
22074
22075 Patch from Bean <bean123ch@gmail.com>:
22076 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
22077 `size'.
22078
4bc72aa9 220792007-12-21 Bean <bean123ch@gmail.com>
22080
22081 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
22082 (ntfscomp_mod_SOURCES): New variable.
22083 (ntfscomp_mod_CFLAGS): Likewise.
22084 (ntfscomp_mod_LDFLAGS): Likewise.
22085
22086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
22087 (grub_probe_SOURCES): Likewise.
22088 (grub_emu_SOURCES): Likewise.
22089
22090 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22091 (grub_emu_SOURCES): Likewise.
22092
22093 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22094 (grub_emu_SOURCES): Likewise.
22095
22096 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22097 (grub_emu_SOURCES): Likewise.
22098
22099 * fs/ntfs.c (grub_ntfscomp_func): New variable.
22100 (read_run_list): Renamed to grub_ntfs_read_run_list.
22101 (decomp_nextvcn): Moved to ntfscomp.c.
22102 (decomp_getch): Likewise.
22103 (decomp_get16): Likewise.
22104 (decomp_block): Likewise.
22105 (read_block): Likewise.
22106 (read_data): Partially moved to ntfscomp.c.
22107 (fixup): Change unsigned to grub_uint16_t.
22108 (read_mft): Change unsigned long to grub_uint32_t.
22109 (read_attr): Likewise.
22110 (read_data): Likewise.
22111 (read_run_data): Likewise.
22112 (read_run_list): Likewise.
22113 (read_mft): Likewise.
22114
22115 * fs/ntfscomp.c: New file.
22116
22117 * include/grub/ntfs.h: New file.
22118
af680a87 221192007-12-16 Robert Millan <rmh@aybabtu.com>
22120
22121 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
22122 IDE disk check, since Linux is known to support 20 IDE disks.
22123 Reported by Colin Watson.
22124
84be7599 221252007-12-15 Bean <bean123ch@gmail.com>
22126
22127 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
22128 (lnxboot_img_SOURCES): New variable.
22129 (lnxboot_img_ASFLAGS): Likewise.
22130 (lnxboot_img_LDFLAGS): Likewise.
22131
22132 * boot/i386/pc/lnxboot.S: New file.
22133
6af9db01 221342007-11-24 Pavel Roskin <proski@gnu.org>
22135
22136 * configure.ac: Test if '--build-id=none' is supported by the
22137 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
22138 objcopy to generate incorrect binary files (binutils
22139 2.17.50.0.18-1 as shipped by Fedora 8).
22140 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
22141 linking, so that build ID doesn't break the test.
22142
7361cfe6 221432007-11-24 Pavel Roskin <proski@gnu.org>
22144
22145 * include/grub/i386/time.h: use "void" in the argument list
22146 of grub_cpu_idle().
22147 * include/grub/powerpc/time.h: Likewise.
22148 * include/grub/sparc64/time.h: Likewise.
22149
1593e10c 221502007-11-18 Christian Franke <franke@computer.org>
22151
22152 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
22153 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
22154 This fixes the problem that function keys did not work in grub-emu.
22155
3b8db1a8 221562007-11-18 Christian Franke <franke@computer.org>
22157
22158 * disk/host.c (grub_host_open): Remove attribute unused from
22159 name parameter. Add check for "host". This fixes the problem
22160 that grub-emu does not find partitions.
22161
2e29408d 221622007-11-18 Christian Franke <franke@computer.org>
22163
22164 * util/hostfs.c (is_dir): New function.
22165 (grub_hostfs_dir): Handle missing dirent.d_type case.
22166 (grub_hostfs_read): Add missing fseek().
22167 (grub_hostfs_label): Clear label pointer. This fixes a crash
22168 of grub-emu on "ls (host)".
22169
398cd047 221702007-11-18 Christian Franke <franke@computer.org>
22171
22172 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
22173 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
22174 to 64 bit boundary by default.
22175
c405c391 221762007-11-18 Bean <bean123ch@gmail.com>
22177
22178 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
22179 (hexdump_mod_SOURCES): New variable.
22180 (hexdump_mod_CFLAGS): Likewise.
22181 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 22182
c405c391 22183 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22184
22185 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22186
22187 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22188
22189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22190
22191 * include/grub/hexdump.h: New file.
22192
22193 * commands/hexdump.c: New file.
22194
5cced7fd 221952007-11-10 Robert Millan <rmh@aybabtu.com>
22196
22197 * commands/i386/pc/play.c (beep_off): Switch order of arguments
22198 in grub_outb() calls.
22199 (beep_on): Likewise.
22200
8b714eb0 222012007-11-10 Christian Franke <franke@computer.org>
22202
22203 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
22204 (grub_menu_run): Likewise.
22205
ce0f1839 222062007-11-10 Robert Millan <rmh@aybabtu.com>
22207
22208 * include/grub/i386/efi/machine.h: New file.
22209 * include/grub/i386/linuxbios/machine.h: Likewise.
22210 * include/grub/i386/pc/machine.h: Likewise.
22211 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22212 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22213
22214 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
22215 (serial_hw_io_addr): New variable.
22216 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
22217 instead of `(unsigned short *) 0x400'.
22218
270c237d 222192007-11-10 Bean <bean123ch@gmail.com>
22220
22221 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
22222
a87783bf 222232007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22224
22225 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
22226 (vga_mod_SOURCES): Added.
22227 (vga_mod_CFLAGS): Likewise.
22228 (vga_mod_LDFLAGS): Likewise.
22229
22230 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
22231 grub_outb() calls.
22232 (set_map_mask): Likewise.
22233 (set_read_map): Likewise.
22234 (set_read_address): Likewise.
22235 (vga_font): Removed variable.
22236 (get_vga_glyph): Removed function.
22237 (invalidate_char): Likewise.
22238 (write_char): Changed to use grub_font_get_glyph() for font
22239 information.
22240 (grub_vga_putchar): Likewise.
22241 (grub_vga_getcharwidth): Likewise.
22242
6433b448 222432007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22244
22245 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
22246 flags.
22247 (pxeboot_img_LDFLAGS): Likewise.
22248 (diskboot_img_LDFLAGS): Likewise.
22249 (kernel_img_LDFLAGS): Likewise.
22250
49178511 222512007-11-06 Robert Millan <rmh@aybabtu.com>
22252
22253 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
22254 in grub_outb() calls.
22255 (serial_hw_init): Likewise.
22256
53b052de 222572007-11-05 Robert Millan <rmh@aybabtu.com>
22258
22259 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
22260 spaces. Skip non-regular files.
22261
5ab33bba 222622007-11-05 Robert Millan <rmh@aybabtu.com>
22263
22264 * kern/disk.c (grub_disk_firmware_fini)
22265 (grub_disk_firmware_is_tainted): New variables.
22266
22267 * include/grub/disk.h (grub_disk_firmware_fini)
22268 (grub_disk_firmware_is_tainted): Likewise.
22269
22270 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
22271 (grub_disk_biosdisk_fini): ... to here.
22272 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
22273 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
22274 is set. Register grub_disk_biosdisk_fini() in
22275 `grub_disk_firmware_fini'.
22276
22277 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
22278 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
22279 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
22280 to finish existing firmware disk interface.
22281
22282 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
22283 (ata_mod_SOURCES): New variable.
22284 (ata_mod_CFLAGS): Likewise.
22285 (ata_mod_LDFLAGS): Likewise.
22286
0149ab7c 222872007-11-05 Robert Millan <rmh@aybabtu.com>
22288
22289 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
22290 (grub_ata_wait): Reimplement using grub_millisleep().
22291
22292 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
22293 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
22294
be7ac41e 222952007-11-03 Marco Gerards <marco@gnu.org>
22296
22297 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
22298 (CRTC_ADDR_PORT): New macro.
22299 (CRTC_DATA_PORT): Likewise.
22300 (CRTC_CURSOR): Likewise.
22301 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22302 (CRTC_CURSOR_ADDR_LOW): Likewise.
22303 (update_cursor): New function.
22304 (grub_console_real_putchar): Call `update_cursor'.
22305 (grub_console_gotoxy): Likewise.
22306 (grub_console_cls): Set the default color when clearing the
22307 screen.
22308 (grub_console_setcursor): Implemented.
22309
bb06ab2e 223102007-11-03 Marco Gerards <marco@gnu.org>
22311
22312 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
22313 become activate.
22314 (grub_ata_pio_write): Likewise.
22315
22316 (grub_atapi_identify): Wait after issuing an ATA command.
22317 (grub_atapi_packet): Likewise.
22318 (grub_ata_identify): Likewise.
22319 (grub_ata_readwrite): Likewise.
22320
cf8f780b 223212007-11-03 Marco Gerards <marco@gnu.org>
22322
22323 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
22324 (grub_ata_pio_write): Likewise.
22325 (grub_ata_readwrite): Use `grub_error', instead of
22326 returning `grub_errno'.
22327
ed649e54 223282007-11-03 Marco Gerards <marco@gnu.org>
22329
22330 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
22331 grub_ata_pio_write once for every single sector, instead of for
22332 multiple sectors.
22333
ca25d8f0 223342007-10-31 Robert Millan <rmh@aybabtu.com>
22335
22336 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
22337
22338 * conf/i386-linuxbios.rmk: New file.
22339
22340 * kern/i386/pc/hardware.c: Likewise.
22341 * term/i386/pc/at_keyboard.c: Likewise.
22342 * term/i386/pc/vga_text.c: Likewise.
22343
22344 * include/grub/i386/linuxbios/boot.h: Likewise.
22345 * include/grub/i386/linuxbios/console.h: Likewise.
22346 * include/grub/i386/linuxbios/init.h: Likewise.
22347 * include/grub/i386/linuxbios/kernel.h: Likewise.
22348 * include/grub/i386/linuxbios/loader.h: Likewise.
22349 * include/grub/i386/linuxbios/memory.h: Likewise.
22350 * include/grub/i386/linuxbios/serial.h: Likewise.
22351 * include/grub/i386/linuxbios/time.h: Likewise.
22352
22353 * kern/i386/linuxbios/init.c: Likewise.
22354 * kern/i386/linuxbios/startup.S: Likewise.
22355 * kern/i386/linuxbios/table.c: Likewise.
22356
e911ecc1 223572007-10-31 Marco Gerards <marco@gnu.org>
22358
22359 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
22360 (ata_mod_SOURCES): New variable.
22361 (ata_mod_CFLAGS): Likewise.
22362 (ata_mod_LDFLAGS): Likewise.
22363
22364 * disk/ata.c: New file.
22365
22366 * include/grub/disk.h (grub_disk_dev_id): Add
22367 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 22368
7f66d0e0 223692007-10-31 Robert Millan <rmh@aybabtu.com>
22370
22371 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
22372 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
22373
22374 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
22375 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
22376
22377 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
22378 `<grub/types.h>'.
22379
22380 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
22381
5cd7dd46 223822007-10-27 Robert Millan <rmh@aybabtu.com>
22383
3236ca65 22384 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 22385
2ebfc90f 223862007-10-22 Robert Millan <rmh@aybabtu.com>
22387
22388 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
22389 `"../realmode.S"'.
22390 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
22391
73fcb0f3 223922007-10-22 Robert Millan <rmh@aybabtu.com>
22393
22394 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
22395 (pkgdata_MODULES): Add `biosdisk.mod'.
22396 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
22397 variables.
22398
22399 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
22400 (grub_biosdisk_init): Replace with ...
22401 (GRUB_MOD_INIT(biosdisk)): ... this.
22402 (grub_biosdisk_fini): Replace with ...
22403 (GRUB_MOD_FINI(biosdisk)): ... this.
22404
22405 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
22406 (grub_machine_init): Remove call to grub_biosdisk_init().
22407 (grub_machine_fini): Remove call to grub_machine_fini().
22408
22409 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
22410
3381d274 224112007-10-22 Robert Millan <rmh@aybabtu.com>
22412
22413 * include/grub/time.h: New file.
22414 * include/grub/i386/time.h: Likewise.
22415 * include/grub/powerpc/time.h: Likewise.
22416 * include/grub/sparc64/time.h: Likewise.
22417
22418 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
22419 instances to ...
22420 (KERNEL_MACHINE_TIME_HEADER): ... this.
22421 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
22422 instances to ...
22423 (KERNEL_MACHINE_TIME_HEADER): ... this.
22424 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
22425 instances to ...
22426 (KERNEL_MACHINE_TIME_HEADER): ... this.
22427
22428 * kern/i386/efi/init.c: Include `<grub/time.h>'.
22429 (grub_millisleep): New function.
22430 * kern/i386/pc/init.c: Include `<grub/time.h>'.
22431 (grub_millisleep): New function.
22432 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
22433 Remove `grub/machine/time.h' include.
22434 (grub_millisleep): New function.
22435 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
22436 Remove `grub/machine/time.h' include.
22437 (grub_millisleep): New function.
22438
22439 * include/grub/misc.h (grub_div_roundup): New function.
22440
22441 * kern/misc.c: Include `<grub/time.h>'.
22442 (grub_millisleep_generic): New function.
22443
22444 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
22445 Add `time.h'.
22446 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
22447 Add `time.h'.
22448 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
22449 `machine/time.h'. Add `time.h'.
22450 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
22451
a39a0312 224522007-10-21 Robert Millan <rmh@aybabtu.com>
22453
22454 * include/grub/misc.h (grub_max): New function.
22455
2aad70e2 224562007-10-21 Robert Millan <rmh@aybabtu.com>
22457
22458 * util/misc.c (grub_util_info): Call fflush() before returning.
22459
54b71c4b 224602007-10-20 Robert Millan <rmh@aybabtu.com>
22461
22462 * genmk.rb (Image): Copy `extra_flags' from here ...
22463 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
22464
22465 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
22466 to `argc' and `args' arguments.
22467
a979f513 224682007-10-17 Robert Millan <rmh@aybabtu.com>
22469
22470 * kern/i386/loader.S: New file.
22471
22472 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
22473 * kern/i386/loader.S (grub_linux_prot_size)... to here.
22474 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
22475 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
22476 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
22477 * kern/i386/loader.S (grub_linux_real_addr)... to here.
22478 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
22479 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
22480 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
22481 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
22482 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
22483 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
22484 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
22485 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
22486
22487 * kern/i386/realmode.S: New file.
22488
22489 * kern/i386/pc/startup.S (protstack): Moved from here ...
22490 * kern/i386/realmode.S (protstack)... to here.
22491 * kern/i386/pc/startup.S (gdt): Moved from here ...
22492 * kern/i386/realmode.S (gdt)... to here.
22493 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
22494 * kern/i386/realmode.S (prot_to_real)... to here.
22495
22496 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
22497 `kern/i386/realmode.S'.
22498
825fc8fd 224992007-10-17 Robert Millan <rmh@aybabtu.com>
22500
22501 * include/grub/i386/loader.h: New file.
22502
22503 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
22504 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
22505 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
22506 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
22507 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
22508 * include/grub/i386/loader.h (grub_linux_prot_size)
22509 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
22510 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
22511 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
22512 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
22513
22514 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
22515
e179b2f4 225162007-10-15 Robert Millan <rmh@aybabtu.com>
22517
22518 * normal/misc.c (grub_normal_print_device_info): Do not probe for
22519 filesystem when dev->disk is unset.
22520 Do probe for filesystem even when dev->disk->has_partitions is set.
22521 In case a filesystem is found, always report it.
22522 In case it isn't, if dev->disk->has_partitions is set, report that
22523 a partition table was found instead of reporting that no filesystem
22524 could be identified.
22525
5db82af6 225262007-10-12 Robert Millan <rmh@aybabtu.com>
22527
22528 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
22529 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
22530
68f6ac74 22531 * include/grub/types.h (grub_host_to_target16): New macro.
22532 (grub_host_to_target32): Likewise.
22533 (grub_host_to_target64): Likewise.
22534 (grub_target_to_host16): Likewise.
22535 (grub_target_to_host32): Likewise.
22536 (grub_target_to_host64): Likewise.
5db82af6 22537
22538 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
22539 Renamed from to ...
22540 (GRUB_MOD_ALIGN): ...this. Update all users.
22541
68f6ac74 22542 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
22543 grub_host_to_target32.
22544 Replace grub_be_to_cpu32 with grub_target_to_host32.
22545 (load_modules): Likewise.
22546 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
22547 Replace grub_be_to_cpu32 with grub_target_to_host32.
22548 Replace grub_cpu_to_be16 with grub_host_to_target16.
22549 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 22550
3cf497cc 225512007-10-12 Robert Millan <rmh@aybabtu.com>
22552
22553 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
22554 * util/elf/grub-mkimage.c: ... here.
22555
22556 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
22557 `util/powerpc/ieee1275/grub-mkimage.c'.
22558
c8cc3692 225592007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 22560
c8cc3692 22561 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
22562 and make it easier to figure out.
22563 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
22564 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
22565 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
22566 leave us with less than HEAP_MIN_SIZE total heap.
22567 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 22568
5c58b791 225692007-10-03 Robert Millan <rmh@aybabtu.com>
22570
22571 * include/grub/i386/io.h: New file.
22572 * commands/i386/pc/play.c (inb): Removed.
22573 (outb): Removed.
22574 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22575 with grub_outb().
afcd2ef8 22576 * term/i386/pc/serial.c (inb): Removed.
22577 (outb): Removed.
22578 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22579 with grub_outb().
22580 * term/i386/pc/vga.c (inb): Removed.
22581 (outb): Removed.
22582 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
22583 with grub_outb().
5c58b791 22584
1a477ed6 225852007-10-02 Robert Millan <rmh@aybabtu.com>
22586
22587 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
22588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22589 Reported by Marcin Kurek.
22590
6b5d80fa 225912007-09-07 Robert Millan <rmh@aybabtu.com>
22592
22593 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
22594 SmartFirmware version updates (as released by Sven Luther), and avoid
22595 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
22596 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
22597 known broken.
22598
5618afbf 225992007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22600
22601 From Hitoshi Ozeki:
22602 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
22603 when merging two regions.
22604
6139dcd9 226052007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22606
508e39ee 22607 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
22608 * normal/completion.c (grub_normal_do_completion): Likewise.
22609 Reported by Hitoshi Ozeki.
22610
226112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 22612
6139dcd9 22613 Do not use devices at boot in chainloading.
f19dbdb7 22614
6139dcd9 22615 * loader/i386/pc/chainloader.c (boot_drive): New variable.
22616 (boot_part_addr): Likewise.
22617 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
22618 with BOOT_DRIVE and BOOT_PART_ADDR.
22619 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
22620 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
22621
38da6516 226222007-08-29 Robert Millan <rmh@aybabtu.com>
22623
22624 Patch from Simon Peter <dn.tlp@gmx.net>:
22625 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
22626 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
22627 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
22628 util/i386/pc/grub-setup.c_DEPENDENCIES.
22629 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
22630 util/grub-probe.c_DEPENDENCIES.
22631 * conf/powerpc-ieee1275.rmk: Likewise.
22632
29d0928c 226332007-08-28 Robert Millan <rmh@aybabtu.com>
22634
22635 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
22636 to tell grub-mkdevicemap how to name devices.
22637 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
22638 feature).
22639
22640 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
22641 util/i386/get_disk_name.c.
22642 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
22643 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
22644 util/ieee1275/get_disk_name.c.
22645
22646 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
22647
22648 * DISTLIST: Add util/i386/get_disk_name.c and
22649 util/ieee1275/get_disk_name.c.
22650
22651 * util/grub-mkdevicemap.c: Replace device naming logic with
22652 grub_util_get_disk_name() calls.
22653
5a0d3cca 226542007-08-20 Robert Millan <rmh@aybabtu.com>
22655
22656 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
22657 (so that it works for both plural and singular quantities).
22658
8b72db2f 226592007-08-05 Robert Millan <rmh@aybabtu.com>
22660
22661 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
22662 so that [xz] isn't taken into account when determining order.
22663
352466bf 226642007-08-02 Marco Gerards <marco@gnu.org>
22665
22666 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
22667 `include/multiboot2.h', `include/grub/elfload.h',
22668 `include/multiboot.h', `include/grub/multiboot.h',
22669 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
22670 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
22671 `kern/elf.c', `loader/multiboot_loader.c',
22672 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
22673 `loader/i386/pc/multiboot2.c',
22674 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
22675 `util/i386/pc/grub-mkrescue.in'. Remove
22676 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
22677 `include/grub/i386/pc/util/biosdisk.h' and
22678 `include/grub/powerpc/ieee1275/multiboot.h'.
22679
8f096014 226802007-08-02 Bean <bean123ch@gmail.com>
22681
22682 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
22683 (ntfs_mod_SOURCES): New variable.
22684 (ntfs_mod_CFLAGS): Likewise.
22685 (ntfs_mod_LDFLAGS): Likewise.
22686
22687 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
22688 (grub_probe_SOURCES): Likewise.
22689 (grub_emu_SOURCES): Likewise.
22690
22691 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
22692 (grub_emu_SOURCES): Likewise.
22693
22694 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
22695 (grub_emu_SOURCES): Likewise.
f19dbdb7 22696
8f096014 22697 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
22698
22699 * fs/ntfs.c: New file.
22700
9959f7db 227012007-08-02 Bean <bean123ch@gmail.com>
22702
22703 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
22704
22705 * file.h (grub_file): Likewise.
22706
22707 * fshelp.h (grub_fshelp_read_file): Likewise.
22708
22709 * util/i386/pc/grub-setup.c (setup): Likewise.
22710 (save_first_sector): Likewise.
22711 (save_blocklists): Likewise.
f19dbdb7 22712
9959f7db 22713 * fs/affs.c (grub_affs_read_file): Likewise.
22714
22715 * fs/ext2.c (grub_ext2_read_file): Likewise.
22716
22717 * fs/fat.c (grub_fat_read_data): Likewise.
22718
22719 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
22720
22721 * fs/hfs.c (grub_hfs_read_file): Likewise.
22722
22723 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22724
22725 * fs/jfs.c (grub_jfs_read_file): Likewise.
22726
22727 * fs/minix.c (grub_minix_read_file): Likewise.
22728
22729 * fs/sfs.c (grub_sfs_read_file): Likewise.
22730
22731 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 22732
9959f7db 22733 * fs/xfs.c (grub_xfs_read_file): Likewise.
22734
22735 * command/blocklist.c (read_blocklist): Likewise.
22736 (print_blocklist): Likewise.
22737
0a203f83 227382007-08-02 Marco Gerards <marco@gnu.org>
22739
22740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
22741 `util/hostfs.c'.
22742
22743 * disk/host.c: New file.
22744
22745 * util/hostfs.c: Likewise.
22746
22747 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
22748 return `GRUB_ERR_BAD_FS'.
22749 * fs/sfs.c (grub_sfs_mount): Likewise.
22750 * fs/xfs.c (grub_xfs_mount): Likewise.
22751
22752 * include/grub/disk.h (enum grub_disk_dev_id): Add
22753 `GRUB_DISK_DEVICE_HOST_ID'.
22754
22755 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
22756
e5dfe777 227572007-07-24 Jerone Young <jerone@gmail.com>
22758
f19dbdb7 22759 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 22760 modules for compilation.
22761 * conf/powerpc-ieee1275.rmk: Likewise.
22762
22763 * include/multiboot.h: Move multiboot definitions to one file. Rename
22764 many definitions to not get grub specific.
22765 * include/multiboot2.h: Create header with multiboot 2 definitions.
22766 * include/grub/multiboot.h: Header for grub specific function
22767 prototypes and definitions.
22768 * include/grub/multiboot2.h: Likewise.
22769 * include/grub/multiboot_loader.h: Likewise.
22770 * include/grub/i386/pc/multiboot.h: Removed.
22771 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
22772
22773 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
22774 and 2 to allow for one multiboot and module commands.
22775 * loader/multiboot2.c: Add multiboot2 functionality.
22776 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
22777 and definition names.
22778 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
22779 2 functions.
22780 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
22781 ieee1275 specific multiboot2 code.
22782
22783 * kern/i386/pc/startup.S: Change headers and definition names for
22784 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
22785
daf0f0ba 227862007-07-22 Robert Millan <rmh@aybabtu.com>
22787
22788 * geninitheader.sh: Process file specified in first parameter rather
22789 than hardcoding grub_modules_init.lst.
fe6b695a 22790 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 22791 than hardcoding grub_modules_init.h.
22792
22793 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
22794 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
22795 grub_probe_init.[ch] and grub_setup_init.[ch].
22796
22797 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
22798 grub_modules_init.h with grub_emu_init.h.
22799 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
22800 grub_probe_init.[ch] files.
22801 * conf/i386-efi.rmk: Likewise.
22802 * conf/i386-pc.rmk: Likewise.
22803 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
22804 grub_setup_init.[ch] files.
22805
22806 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
22807 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
22808 to initialize modules rather than a list of hardcoded functions.
22809 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
22810 grub_init_all() to initialize modules rather than a list of hardcoded
22811 functions.
22812
54cdc1cc 228132007-07-22 Robert Millan <rmh@aybabtu.com>
22814
22815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22816 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
22817
ad0686cc 228182007-07-22 Robert Millan <rmh@aybabtu.com>
22819
22820 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22821 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
22822 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
22823 flag when running on SmartFirmware.
22824 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
22825 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
22826 was set.
22827
22828 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
22829 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
22830 rather than decreasing it.
22831
22832 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
22833 there's not enough space to do it, fail in the same way as when it
22834 can't be done because there are no partitions.
22835
22836 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
22837 when nvsetenv failed.
22838
969c02ec 228392007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22840
22841 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
22842 because this rule is automatically generated.
22843 (grub-mkrescue): Removed for the same reason as above.
22844
5a79f472 228452007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
22846
22847 Migrate to GNU General Public License Version 3.
f19dbdb7 22848
5a79f472 22849 * COPYING: Replaced with the plain text version of GPLv3.
22850
22851 * config.guess: Updated from gnulib.
22852 * config.sub: Likewise.
22853
22854 * geninit.sh: Output a GPLv3 copyright notice.
22855 * geninitheader.sh: Likewise.
22856 * genmodsrc.sh: Likewise.
22857 * gensymlist.sh.in: Likewise.
22858
22859 * boot/i386/pc/boot.S: Upgraded to GPLv3.
22860 * boot/i386/pc/diskboot.S: Likewise.
22861 * boot/i386/pc/pxeboot.S: Likewise.
22862 * commands/blocklist.c: Likewise.
22863 * commands/boot.c: Likewise.
22864 * commands/cat.c: Likewise.
22865 * commands/cmp.c: Likewise.
22866 * commands/configfile.c: Likewise.
22867 * commands/echo.c: Likewise.
22868 * commands/help.c: Likewise.
22869 * commands/ls.c: Likewise.
22870 * commands/search.c: Likewise.
22871 * commands/terminal.c: Likewise.
22872 * commands/test.c: Likewise.
22873 * commands/videotest.c: Likewise.
22874 * commands/i386/cpuid.c: Likewise.
22875 * commands/i386/pc/halt.c: Likewise.
22876 * commands/i386/pc/play.c: Likewise.
22877 * commands/i386/pc/reboot.c: Likewise.
22878 * commands/i386/pc/vbeinfo.c: Likewise.
22879 * commands/i386/pc/vbetest.c: Likewise.
22880 * commands/ieee1275/halt.c: Likewise.
22881 * commands/ieee1275/reboot.c: Likewise.
22882 * commands/ieee1275/suspend.c: Likewise.
22883 * disk/loopback.c: Likewise.
22884 * disk/lvm.c: Likewise.
22885 * disk/raid.c: Likewise.
22886 * disk/efi/efidisk.c: Likewise.
22887 * disk/i386/pc/biosdisk.c: Likewise.
22888 * disk/ieee1275/ofdisk.c: Likewise.
22889 * font/manager.c: Likewise.
22890 * fs/affs.c: Likewise.
22891 * fs/ext2.c: Likewise.
22892 * fs/fat.c: Likewise.
22893 * fs/fshelp.c: Likewise.
22894 * fs/hfs.c: Likewise.
22895 * fs/hfsplus.c: Likewise.
22896 * fs/iso9660.c: Likewise.
22897 * fs/jfs.c: Likewise.
22898 * fs/minix.c: Likewise.
22899 * fs/sfs.c: Likewise.
22900 * fs/ufs.c: Likewise.
22901 * fs/xfs.c: Likewise.
22902 * hello/hello.c: Likewise.
22903 * include/grub/acorn_filecore.h: Likewise.
22904 * include/grub/arg.h: Likewise.
22905 * include/grub/bitmap.h: Likewise.
22906 * include/grub/boot.h: Likewise.
22907 * include/grub/cache.h: Likewise.
22908 * include/grub/device.h: Likewise.
22909 * include/grub/disk.h: Likewise.
22910 * include/grub/dl.h: Likewise.
22911 * include/grub/elfload.h: Likewise.
22912 * include/grub/env.h: Likewise.
22913 * include/grub/err.h: Likewise.
22914 * include/grub/file.h: Likewise.
22915 * include/grub/font.h: Likewise.
22916 * include/grub/fs.h: Likewise.
22917 * include/grub/fshelp.h: Likewise.
22918 * include/grub/gzio.h: Likewise.
22919 * include/grub/hfs.h: Likewise.
22920 * include/grub/kernel.h: Likewise.
22921 * include/grub/loader.h: Likewise.
22922 * include/grub/lvm.h: Likewise.
22923 * include/grub/misc.h: Likewise.
22924 * include/grub/mm.h: Likewise.
22925 * include/grub/net.h: Likewise.
22926 * include/grub/normal.h: Likewise.
22927 * include/grub/parser.h: Likewise.
22928 * include/grub/partition.h: Likewise.
22929 * include/grub/pc_partition.h: Likewise.
22930 * include/grub/raid.h: Likewise.
22931 * include/grub/rescue.h: Likewise.
22932 * include/grub/script.h: Likewise.
22933 * include/grub/setjmp.h: Likewise.
22934 * include/grub/symbol.h: Likewise.
22935 * include/grub/term.h: Likewise.
22936 * include/grub/terminfo.h: Likewise.
22937 * include/grub/tparm.h: Likewise.
22938 * include/grub/types.h: Likewise.
22939 * include/grub/video.h: Likewise.
22940 * include/grub/efi/api.h: Likewise.
22941 * include/grub/efi/chainloader.h: Likewise.
22942 * include/grub/efi/console.h: Likewise.
22943 * include/grub/efi/console_control.h: Likewise.
22944 * include/grub/efi/disk.h: Likewise.
22945 * include/grub/efi/efi.h: Likewise.
22946 * include/grub/efi/pe32.h: Likewise.
22947 * include/grub/efi/time.h: Likewise.
22948 * include/grub/i386/linux.h: Likewise.
22949 * include/grub/i386/setjmp.h: Likewise.
22950 * include/grub/i386/types.h: Likewise.
22951 * include/grub/i386/efi/kernel.h: Likewise.
22952 * include/grub/i386/efi/loader.h: Likewise.
22953 * include/grub/i386/efi/time.h: Likewise.
22954 * include/grub/i386/pc/biosdisk.h: Likewise.
22955 * include/grub/i386/pc/boot.h: Likewise.
22956 * include/grub/i386/pc/chainloader.h: Likewise.
22957 * include/grub/i386/pc/console.h: Likewise.
22958 * include/grub/i386/pc/init.h: Likewise.
22959 * include/grub/i386/pc/kernel.h: Likewise.
22960 * include/grub/i386/pc/loader.h: Likewise.
22961 * include/grub/i386/pc/memory.h: Likewise.
22962 * include/grub/i386/pc/multiboot.h: Likewise.
22963 * include/grub/i386/pc/serial.h: Likewise.
22964 * include/grub/i386/pc/time.h: Likewise.
22965 * include/grub/i386/pc/vbe.h: Likewise.
22966 * include/grub/i386/pc/vbeblit.h: Likewise.
22967 * include/grub/i386/pc/vbefill.h: Likewise.
22968 * include/grub/i386/pc/vbeutil.h: Likewise.
22969 * include/grub/i386/pc/vga.h: Likewise.
22970 * include/grub/ieee1275/ieee1275.h: Likewise.
22971 * include/grub/ieee1275/ofdisk.h: Likewise.
22972 * include/grub/powerpc/libgcc.h: Likewise.
22973 * include/grub/powerpc/setjmp.h: Likewise.
22974 * include/grub/powerpc/types.h: Likewise.
22975 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
22976 * include/grub/powerpc/ieee1275/console.h: Likewise.
22977 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
22978 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22979 * include/grub/powerpc/ieee1275/loader.h: Likewise.
22980 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
22981 * include/grub/powerpc/ieee1275/time.h: Likewise.
22982 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
22983 * include/grub/sparc64/libgcc.h: Likewise.
22984 * include/grub/sparc64/setjmp.h: Likewise.
22985 * include/grub/sparc64/types.h: Likewise.
22986 * include/grub/sparc64/ieee1275/console.h: Likewise.
22987 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22988 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22989 * include/grub/sparc64/ieee1275/time.h: Likewise.
22990 * include/grub/util/biosdisk.h: Likewise.
22991 * include/grub/util/getroot.h: Likewise.
22992 * include/grub/util/lvm.h: Likewise.
22993 * include/grub/util/misc.h: Likewise.
22994 * include/grub/util/raid.h: Likewise.
22995 * include/grub/util/resolve.h: Likewise.
22996 * io/gzio.c: Likewise.
22997 * kern/device.c: Likewise.
22998 * kern/disk.c: Likewise.
22999 * kern/dl.c: Likewise.
23000 * kern/elf.c: Likewise.
23001 * kern/env.c: Likewise.
23002 * kern/err.c: Likewise.
23003 * kern/file.c: Likewise.
23004 * kern/fs.c: Likewise.
23005 * kern/loader.c: Likewise.
23006 * kern/main.c: Likewise.
23007 * kern/misc.c: Likewise.
23008 * kern/mm.c: Likewise.
23009 * kern/parser.c: Likewise.
23010 * kern/partition.c: Likewise.
23011 * kern/rescue.c: Likewise.
23012 * kern/term.c: Likewise.
23013 * kern/efi/efi.c: Likewise.
23014 * kern/efi/init.c: Likewise.
23015 * kern/efi/mm.c: Likewise.
23016 * kern/i386/dl.c: Likewise.
23017 * kern/i386/efi/init.c: Likewise.
23018 * kern/i386/efi/startup.S: Likewise.
23019 * kern/i386/pc/init.c: Likewise.
23020 * kern/i386/pc/lzo1x.S: Likewise.
23021 * kern/i386/pc/startup.S: Likewise.
23022 * kern/ieee1275/ieee1275.c: Likewise.
23023 * kern/powerpc/cache.S: Likewise.
23024 * kern/powerpc/dl.c: Likewise.
23025 * kern/powerpc/ieee1275/cmain.c: Likewise.
23026 * kern/powerpc/ieee1275/crt0.S: Likewise.
23027 * kern/powerpc/ieee1275/init.c: Likewise.
23028 * kern/powerpc/ieee1275/openfw.c: Likewise.
23029 * kern/sparc64/cache.S: Likewise.
23030 * kern/sparc64/dl.c: Likewise.
23031 * kern/sparc64/ieee1275/init.c: Likewise.
23032 * kern/sparc64/ieee1275/openfw.c: Likewise.
23033 * loader/efi/chainloader.c: Likewise.
23034 * loader/efi/chainloader_normal.c: Likewise.
23035 * loader/i386/efi/linux.c: Likewise.
23036 * loader/i386/efi/linux_normal.c: Likewise.
23037 * loader/i386/pc/chainloader.c: Likewise.
23038 * loader/i386/pc/chainloader_normal.c: Likewise.
23039 * loader/i386/pc/linux.c: Likewise.
23040 * loader/i386/pc/linux_normal.c: Likewise.
23041 * loader/i386/pc/multiboot.c: Likewise.
23042 * loader/i386/pc/multiboot_normal.c: Likewise.
23043 * loader/powerpc/ieee1275/linux.c: Likewise.
23044 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23045 * normal/arg.c: Likewise.
23046 * normal/cmdline.c: Likewise.
23047 * normal/command.c: Likewise.
23048 * normal/completion.c: Likewise.
23049 * normal/execute.c: Likewise.
23050 * normal/function.c: Likewise.
23051 * normal/lexer.c: Likewise.
23052 * normal/main.c: Likewise.
23053 * normal/menu.c: Likewise.
23054 * normal/menu_entry.c: Likewise.
23055 * normal/misc.c: Likewise.
23056 * normal/parser.y: Likewise.
23057 * normal/script.c: Likewise.
23058 * normal/i386/setjmp.S: Likewise.
23059 * normal/powerpc/setjmp.S: Likewise.
23060 * normal/sparc64/setjmp.S: Likewise.
23061 * partmap/acorn.c: Likewise.
23062 * partmap/amiga.c: Likewise.
23063 * partmap/apple.c: Likewise.
23064 * partmap/gpt.c: Likewise.
23065 * partmap/pc.c: Likewise.
23066 * partmap/sun.c: Likewise.
23067 * term/gfxterm.c: Likewise.
23068 * term/terminfo.c: Likewise.
23069 * term/efi/console.c: Likewise.
23070 * term/i386/pc/console.c: Likewise.
23071 * term/i386/pc/serial.c: Likewise.
23072 * term/i386/pc/vesafb.c: Likewise.
23073 * term/i386/pc/vga.c: Likewise.
23074 * term/ieee1275/ofconsole.c: Likewise.
23075 * util/biosdisk.c: Likewise.
23076 * util/console.c: Likewise.
23077 * util/genmoddep.c: Likewise.
23078 * util/getroot.c: Likewise.
23079 * util/grub-emu.c: Likewise.
23080 * util/grub-mkdevicemap.c: Likewise.
23081 * util/grub-probe.c: Likewise.
23082 * util/lvm.c: Likewise.
23083 * util/misc.c: Likewise.
23084 * util/raid.c: Likewise.
23085 * util/resolve.c: Likewise.
23086 * util/update-grub.in: Likewise.
23087 * util/update-grub_lib.in: Likewise.
23088 * util/grub.d/00_header.in: Likewise.
23089 * util/grub.d/10_hurd.in: Likewise.
23090 * util/grub.d/10_linux.in: Likewise.
23091 * util/i386/efi/grub-install.in: Likewise.
23092 * util/i386/efi/grub-mkimage.c: Likewise.
23093 * util/i386/pc/grub-install.in: Likewise.
23094 * util/i386/pc/grub-mkimage.c: Likewise.
23095 * util/i386/pc/grub-mkrescue.in: Likewise.
23096 * util/i386/pc/grub-setup.c: Likewise.
23097 * util/i386/pc/misc.c: Likewise.
23098 * util/powerpc/ieee1275/grub-install.in: Likewise.
23099 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
23100 * util/powerpc/ieee1275/misc.c: Likewise.
23101 * video/bitmap.c: Likewise.
23102 * video/video.c: Likewise.
23103 * video/i386/pc/vbe.c: Likewise.
23104 * video/i386/pc/vbeblit.c: Likewise.
23105 * video/i386/pc/vbefill.c: Likewise.
23106 * video/i386/pc/vbeutil.c: Likewise.
23107 * video/readers/tga.c: Likewise.
23108
3572d015 231092007-07-02 Robert Millan <rmh@aybabtu.com>
23110
23111 * conf/i386-efi.rmk: Replace obsolete reference to
23112 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
23113 with util/getroot.c.
23114 * conf/powerpc-ieee1275.rmk: Likewise.
23115 * conf/sparc64-ieee1275.rmk: Likewise.
23116
23117 * util/grub-emu.c (main): Fix unchecked pointer handling.
23118
2c2a681b 231192007-07-02 Robert Millan <rmh@aybabtu.com>
23120
23121 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
23122 invocation to fail, in order to support partition-less media.
23123
23124 * util/i386/pc/grub-install.in: Likewise.
23125
23126 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
23127 which fs or partmap modules are needed (akin to its sister scripts).
23128
23129 Also use grub-probe to get rid of unportable /proc/mounts check.
23130
23131 Print the same informational message that the other scripts do, before
fe6b695a 23132 exiting.
2c2a681b 23133
6193defe 231342007-06-23 Robert Millan <rmh@aybabtu.com>
23135
fe6b695a 23136 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 23137 a font file can be found and, if so, echo the GRUB path to it.
23138
23139 * util/update-grub.in: Handle multiple terminals depending on user
23140 input, platform availability and font file presence. Propagate
23141 variables of our findings to /etc/grub.d/ children.
23142
23143 * util/grub.d/00_header.in: Handle multiple terminals, based on
23144 environment setup by update-grub.
23145
eface1dc 231462007-06-23 Robert Millan <rmh@aybabtu.com>
23147
ba50d28f 23148 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 23149
bf697e28 231502007-06-21 Robert Millan <rmh@aybabtu.com>
23151
23152 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
23153 indicate end of data section in kernel image.
23154 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
23155 GRUB_KERNEL_MACHINE_DATA_END.
23156
23157 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
23158 space for it.
23159 * kern/i386/efi/startup.S: Likewise.
23160
23161 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
23162 during image generation. Implement --prefix option to override this
23163 patch.
23164 * util/i386/efi/grub-mkimage.c: Likewise.
23165
23166 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
23167 code to make path relative to its root into a separate function.
23168
23169 * util/i386/pc/grub-install.in: Use newly provided
23170 make_system_path_relative_to_its_root() to convert ${grubdir}, then
23171 pass the result to grub-install --prefix.
23172
baa574b4 231732007-06-13 Robert Millan <rmh@aybabtu.com>
23174
23175 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
23176 DEFAULT_DEVICE_MAP.
23177 * util/grub-emu.c: Use above definitions from misc.h instead of
23178 defining them.
23179 * util/grub-mkdevicemap.c: Likewise.
23180 * util/i386/pc/grub-setup.c: Likewise.
23181 * util/grub-probe.c: Likewise.
23182 (probe): Abort with grub_util_error() when either
23183 grub_guess_root_device or grub_util_get_grub_dev fails.
23184
0215dcbf 231852007-06-12 Robert Millan <rmh@aybabtu.com>
23186
23187 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
23188 "pager" assignment.
23189 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
23190 "pcdata".
23191 * util/grub-probe.c (probe): Likewise for "drive_name".
23192
8af2ab7b 231932007-06-11 Robert Millan <rmh@aybabtu.com>
23194
23195 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
23196 not just the cdrom one.
23197
59d31694 231982007-06-11 Robert Millan <rmh@aybabtu.com>
23199
23200 * util/i386/pc/grub-mkrescue.in: Add "set -e".
23201 Add --pkglibdir=DIR option to override pkglibdir.
23202 Mention --image-type=TYPE in help output.
23203 Fix --grub-mkimage (it was a no-op).
fe6b695a 23204 Abort gracefully when no parameter is given.
59d31694 23205
7ee367e4 232062007-06-11 Robert Millan <rmh@aybabtu.com>
23207
23208 * util/i386/pc/grub-mkrescue.in: New file.
23209 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
23210 * Makefile.in: Handle bin_SCRIPTS.
23211
29b0ed46 232122007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
23213
23214 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
23215 list of video modes.
23216
c0f90770 232172007-06-06 Robert Millan <rmh@aybabtu.com>
23218
23219 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
23220 file doesn't exist, or if it is in a filesystem grub can't read.
23221
23222 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
23223 not abort if GRUB_DRIVE could not be defined. Rearrange generated
23224 header comment to fit in 80 columns when the variables are resolved.
23225
23226 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
23227 could be identified by update-grub. Remove redundant check for
fe6b695a 23228 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 23229 handles that).
23230
fb36dc26 232312007-06-04 Robert Millan <rmh@aybabtu.com>
23232
23233 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
23234
23235 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
23236
23237 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
23238
0c68c93e 232392007-06-04 Robert Millan <rmh@aybabtu.com>
23240
23241 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
23242
23243 * include/grub/partition.h: Declare grub_apple_partition_map_init and
23244 grub_apple_partition_map_fini.
23245
23246 * util/biosdisk.c
23247 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
23248 to access >2 TiB disks).
23249
23250 Print disk->total_sectors with %llu instead of %lu, since this
23251 variable is always 64-bit (prevents wrong disk size from being displayed
23252 on either >2 TiB disk or big-endian CPU).
23253
23254 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
23255 into a generic case that supports all (sane) partition maps.
23256
23257 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
23258 breaks big-endian.
23259
23260 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
23261 and grub_apple_partition_map_fini() after that.
23262
0f23eb74 232632007-06-01 Robert Millan <rmh@aybabtu.com>
23264
23265 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
23266
23267 * util/grub.d/00_header.in: Only enable gfxterm when
23268 convert_system_path_to_grub_path() succeeds.
23269
42c71976 232702007-05-20 Robert Millan <rmh@aybabtu.com>
23271
23272 * util/update-grub_lib.in: New file.
23273 * DISTLIST: Add update-grub_lib.in.
23274 * conf/common.rmk: Generate update-grub_lib and install it in
23275 $(lib_DATA).
23276 * Makefile.in: Add install routine for $(lib_DATA).
23277
23278 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
23279 function provided by update-grub_lib to support arbitrary paths of
23280 unifont.pff.
23281 * util/update-grub.in: Use convert_system_path_to_grub_path() to
23282 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
23283
5beb2291 232842007-05-19 Robert Millan <rmh@aybabtu.com>
23285
23286 * commands/i386/cpuid.c: New module.
23287 * DISTLIST: Add it.
23288 * conf/i386-efi.rmk: Enable cpuid.mod.
23289 * conf/i386-pc.rmk: Likewise.
23290
7262eca1 232912007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
23292
23293 * kern/disk.c (grub_disk_read): Check return value of
23294 grub_realloc().
23295
260ba823 232962007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
23297
23298 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
23299 arrays.
23300 * disk/raid.c (grub_raid_open): Likewise.
23301
1ecb6cf2 233022007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
23303
23304 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
23305 stack instead of on the heap.
23306
23307 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
23308 before doing a read on it.
23309
23310 * configure.ac: Only use -fno-stack-protector for the target
23311 environment.
f19dbdb7 23312
21c8cbb1 233132007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
23314
23315 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
23316 __attribute_ ((unused)) to mode_type argument.
23317
23318 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 23319
21c8cbb1 23320 * kern/misc.c (memcmp): Fix prototype.
23321
23322 * include/grub/partition.h [GRUB_UTIL]
23323 (grub_gpt_partition_map_init): Add prototype.
23324 (grub_gpt_partition_map_fini): Likewise.
23325
23326 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
23327 at the right place.
23328
23329 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
23330 (grub_fat_read_data): Likewise.
23331 (grub_fat_find_dir): Likewise.
23332
23333 * font/manager.c (find_glyph): Make table a const.
23334 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 23335
849d55d3 233362007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
23337
23338 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
23339 code, first search for device in /dev/mapper, then in /dev.
23340 (grub_util_get_grub_dev): New function.
23341 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
23342 prototype.
23343 * util/grub-probe.c (probe): Remove check for RAID, call
23344 grub_util_get_grub_dev() instead of
23345 grub_util_biosdisk_get_grub_dev().
23346 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
23347 grub_util_biosdisk_get_grub_dev().
23348 * util/i386/pc/grub-setup.c (main): Likewise.
23349
8fff7c2f 233502007-05-16 Robert Millan <rmh@aybabtu.com>
23351
23352 * DISTLIST: Update for the latest changes.
23353 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
23354 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
23355 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
23356 grub/util/biosdisk.h.
23357 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
23358 grub/util/biosdisk.h.
23359
48e12b52 233602007-05-16 Robert Millan <rmh@aybabtu.com>
23361
23362 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
23363
46b9d128 233642007-05-16 Robert Millan <rmh@aybabtu.com>
23365
23366 * util/i386/efi/grub-install.in: New.
23367 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
23368 newly added grub-install.
23369 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
23370 include.
23371 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
23372 grub/util/biosdisk.h.
23373 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
23374 grub/util/biosdisk.h.
23375
2d1a40a9 233762007-05-16 Robert Millan <rmh@aybabtu.com>
23377
23378 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
23379 * include/grub/util/biosdisk.h: ... here.
23380 * util/i386/pc/biosdisk.c: Moved to ...
23381 * util/biosdisk.c: ... here.
23382 * util/i386/pc/getroot.c: Moved to ...
23383 * util/getroot.c: ... here.
23384 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
23385 * util/grub-mkdevicemap.c: ... here.
23386 * util/i386/pc/grub-probe.c: Moved to ...
23387 * util/grub-probe.c: ... here.
23388
9e26e3bc 233892007-05-15 Robert Millan <rmh@aybabtu.com>
23390
23391 * util/update-grub.in: Remove duplicated line in grub.cfg header
23392 message.
23393
57f96397 233942007-05-13 Robert Millan <rmh@aybabtu.com>
23395
23396 * util/update-grub.in: Fix a few assumptions about the devices holding
23397 /, /boot and /boot/grub being the same.
23398 * util/grub.d/00_header.in: Likewise.
23399 * util/grub.d/10_hurd.in: Likewise.
23400 * util/grub.d/10_linux.in: Likewise.
23401
23402 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
23403 patterns. Use that to define the `.old' suffix as older than `'.
23404
23405 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
23406
23407 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
23408 the grub.cfg header message.
23409
2e610d62 234102007-05-11 Robert Millan <rmh@aybabtu.com>
23411
23412 * util/update-grub.in: Create device.map if it doesn't already exist,
23413 before attempting to run grub-probe.
23414 Check for grub-probe and grub-mkdevicemap with the same code
23415 grub-install is using.
23416 Remove test mode.
23417
3f6a10ef 234182007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
23419
23420 * Makefile.in: Add the datarootdir autoconf variable.
23421
02e7b75e 234222007-05-09 Robert Millan <rmh@aybabtu.com>
23423
23424 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 23425 fail gracefully if dev->disk->partition == NULL.
02e7b75e 23426
75f396cc 234272007-05-07 Robert Millan <rmh@aybabtu.com>
23428
23429 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
23430 determine partition map module.
23431 * util/i386/pc/grub-install.in: Use this feature to decide which
23432 partition module to load, instead of hardcoding pc and gpt.
23433
da65cb36 234342007-05-07 Robert Millan <rmh@aybabtu.com>
23435
23436 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
23437 source directory differs from build directory.
23438
b57d6a91 234392007-05-05 Robert Millan <rmh@aybabtu.com>
23440
23441 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
23442 initialisation.
23443
509d00f1 234442007-05-05 Robert Millan <rmh@aybabtu.com>
23445
23446 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
23447
c48f23ef 234482007-05-05 Robert Millan <rmh@aybabtu.com>
23449
23450 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
23451 command-line arguments via ${GRUB_CMDLINE_LINUX}.
23452
20b97658 234532007-05-05 Robert Millan <rmh@aybabtu.com>
23454
23455 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
23456 (grub_probe_SOURCES): Likewise.
23457 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
23458 GPT and initialize dos_part and bsd_part accordingly.
23459 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
23460 install_bsd_part.
23461 (main): Activate gpt module for use during partition identification,
23462 and deactivate it afterwards.
23463 * util/i386/pc/grub-install.in: Add gpt module to core.img.
23464 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
23465 partition identification, and deactivate it afterwards.
23466
99123174 234672007-05-05 Robert Millan <rmh@aybabtu.com>
23468
23469 * term/i386/pc/console.c (grub_console_fini): Call
23470 grub_term_set_current() before grub_term_unregister().
23471
ebd97f6e 234722007-05-04 Robert Millan <rmh@aybabtu.com>
23473
23474 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
23475 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
23476 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
23477 and update-grub_DATA.
23478 * conf/common.rmk: Build and install update-grub components.
23479 * conf/common.mk: Regenerate.
23480 * util/update-grub.in: New. Core of update-grub.
23481 * util/grub.d/00_header.in: New. Generates grub.cfg header.
23482 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
23483 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
23484 * util/grub.d/README: New. Document grub.d directory layout.
23485
b06a264d 234862007-05-01 Robert Millan <rmh@aybabtu.com>
23487
23488 * util/grub-emu.c: Move initialization functions
23489 grub_util_biosdisk_init() and grub_init_all() before
23490 grub_util_biosdisk_get_grub_dev(), which relies on them.
23491
41f0050e 234922007-04-19 Robert Millan <rmh@aybabtu.com>
23493
23494 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
23495 it is used later.
23496
04582bb3 234972007-04-18 Jerone Young <jerone@gmail.com>
23498
f19dbdb7 23499 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 23500 stanza.
23501
08db4632 235022007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 23503
08db4632 23504 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
23505 continue on and look for device node with real device name.
23506
801b76be 235072007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 23508
fe6b695a 23509 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 23510 ability.
23511 * Makefile.in: Add autoconf package transformation code.
23512 * util/i386/pc/grub-install.in: Likewise.
23513 * util/powerpc/ieee1275/grub-install.in: Likewise.
23514
6795c4e1 235152007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23516
23517 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
23518 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
23519 (EXT2_REVISION): Likewise.
23520 (EXT2_INODE_SIZE): Likewise.
23521 (struct grub_ext2_block_group): Added a missing member
23522 "used_dirs".
23523 (grub_ext2_read_inode): Divide by the inode size in a superblock
23524 instead of 128 to obtain INODES_PER_BLOCK.
23525 Use the macro EXT2_INODE_SIZE instead of directly using
23526 SBLOCK->INODE_SIZE.
23527
d70af616 235282007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23529
23530 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
23531 superblock instead of the structure size to compute an
23532 offset. This fixes the problem that GRUB could not read a
23533 filesystem when inode size is different from 128-byte.
23534
3b801603 235352007-03-05 Marco Gerards <marco@gnu.org>
23536
23537 * normal/main.c (read_config_file): When "menu" is not set, create
23538 an initial context.
23539
4785bfe4 235402007-02-21 Hollis Blanchard <hollis@penguinppc.org>
23541
23542 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
23543 (HEAP_LIMIT): New macro.
23544 (grub_claim_heap): Claim memory up to `heaplimit'.
23545
a0cbb023 235462007-02-21 Hollis Blanchard <hollis@penguinppc.org>
23547
23548 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
23549 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
23550 (_start): Likewise.
23551 (grub_arch_modules_addr): Return address after `_end'.
23552 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
23553 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
23554 (add_segments): Calculate `_end' from phdr size and location.
23555 (ALIGN_UP): Moved to ...
23556 * include/grub/misc.h: here.
23557 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23558 New macro.
23559 (GRUB_IEEE1275_MODULE_BASE): Removed.
23560
fd7d8eba 235612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23562
23563 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
23564 loop boundary.
23565
9b09e6fc 235662007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23567
23568 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
23569 All users updated.
23570 (grub_elf64_load_hook_t): Likewise.
23571 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
23572 debug output.
23573
3ce27299 235742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
23575
23576 * kern/mm.c: Update copyright.
23577 (grub_mm_debug): Correct syntax error.
23578 (grub_mm_dump_free): New function.
23579 (grub_debug_free): Call `grub_free'.
23580 * include/grub/mm.h: Update copyright.
23581 (grub_mm_dump_free): Add declaration.
23582
077d5fee 235832007-02-12 Hollis Blanchard <hollis@penguinppc.org>
23584
23585 * include/grub/ieee1275/ieee1275.h: Update copyright.
23586 * kern/powerpc/ieee1275/init.c: Likewise.
23587 * kern/powerpc/ieee1275/openfw.c: Likewise.
23588
23589 * loader/powerpc/ieee1275/linux.c: Likewise.
23590 * include/grub/elfload.h: Likewise.
23591 * kern/elf.c: Likewise.
23592 (grub_elf32_load): Pass `base' and `size' parameters. Update all
23593 callers.
23594 (grub_elf64_load): Likewise.
23595 (grub_elf32_load_segment): Move to a nested function.
23596 (grub_elf64_load_segment): Likewise.
23597
dc946850 235982007-02-12 Hollis Blanchard <hollis@penguinppc.org>
23599
23600 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
23601 prototype.
23602 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
23603 (grub_heap_len): Likewise.
23604 (HEAP_SIZE): New macro.
23605 (grub_claim_heap): New function.
23606 (grub_machine_init): Don't claim heap directly. Call
23607 `grub_claim_heap'.
23608 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
23609 (grub_available_iterate): New function.
23610
baa2a121 236112007-02-03 Thomas Schwinge <tschwinge@gnu.org>
23612
23613 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
23614 * configure.ac: Use it for testing the HOST and TARGET compilers.
23615
4fe9862e 236162006-12-13 Thomas Schwinge <tschwinge@gnu.org>
23617
23618 * Makefile.in (enable_grub_emu): New variable.
23619 * configure.ac (--enable-grub-emu): New option.
23620 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
23621 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
23622 * conf/i386-pc.rmk: Likewise.
23623 * conf/powerpc-ieee1275.rmk: Likewise.
23624 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
23625
a8aa5762 236262006-12-12 Marco Gerards <marco@gnu.org>
23627
23628 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
23629
23630 * kern/env.c (grub_env_unset): Don't free the member `value' when
23631 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
23632 pointer.
23633
23634 * normal/main.c (current_menu): Removed.
23635 (free_menu): Unset the `menu' environment variable.
23636 (grub_normal_menu_addentry): Make use of the environment variable
23637 `menu', instead of using the global `current_menu'. Allocate
23638 memory for the sourcecode of this entry.
23639 (read_config_file): New argument `nested', changed all callers.
23640 Only in the case of a new context, initialize a new menu. Set the
23641 `menu' environment variable.
23642 (grub_normal_execute): Don't set and unset the environment
23643 variable `menu' here anymore. Only free the menu when leaving the
23644 context.
23645
23646 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
23647 leak.
23648
957b3a3e 236492006-12-11 Marco Gerards <marco@gnu.org>
23650
23651 * normal/menu_entry.c (run): Fix off by one bug so the last line
23652 is executed. Move the loader check to outside the loop.
23653
ef875714 236542006-12-08 Hollis Blanchard <hollis@penguinppc.org>
23655
23656 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
23657
4e739985 236582006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
23659
23660 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
23661 the number of sectors. Reported by Andrey Shuvikov
23662 <mr_hyro@yahoo.com>.
f19dbdb7 23663
790707f2 236642006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
23665
23666 * kern/disk.c (grub_disk_read): When there is a read error, always
23667 try to read only the necessary data.
f19dbdb7 23668
790707f2 23669 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
23670 disk/raid.c.
23671 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
23672 prototype.
23673 [GRUB_UTIL] (grub_raid_fini): Likewise.
23674 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 23675 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 23676 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
23677 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
23678 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
23679 and grub_raid_fini().
f19dbdb7 23680
03e58196 236812006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
23682
23683 * include/grub/types.h (__unused): Rename to UNUSED.
23684 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
23685 (grub_elf64_size): Likewise.
f19dbdb7 23686
ae4f23bf 236872006-11-03 Hollis Blanchard <hollis@penguinppc.org>
23688
23689 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
23690 grub_error_push and grub_error_pop in the error-handling path.
23691 (grub_elf32_load_segment): Only call grub_file_read with non-zero
23692 length.
23693
2166cc83 236942006-11-03 Hollis Blanchard <hollis@penguinppc.org>
23695
23696 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
23697 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23699 (kernel_elf_SOURCES): Likewise.
23700 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
23701 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
23702 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23703 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23704 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
23705 (elf_mod_SOURCES): New variable.
23706 (elf_mod_CFLAGS): Likewise.
23707 (elf_mod_LDFLAGS): Likewise.
23708 * include/grub/types.h (__unused): New macro.
23709 * include/grub/elfload.h: New file.
23710 * kern/elf.c: Likewise.
23711 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
23712 (ELF32_LOADMASK): New macro.
23713 (ELF64_LOADMASK): Likewise.
23714 (vmlinux): Removed.
23715 (grub_linux_load32): New function.
23716 (grub_linux_load64): Likewise.
23717 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
23718 Use grub_elf_t instead of grub_file_t.
23719
a09d5aa5 237202006-11-02 Hollis Blanchard <hollis@penguinppc.org>
23721
23722 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
23723 `catch_result' to struct set_color_args.
23724
d976fc51 237252006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23726
23727 * normal/menu.c: Include grub/script.h.
23728 * normal/menu_entry.c: Likewise.
23729 * include/grub/normal.h: Do not include grub/script.h.
23730
67507549 237312006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23732
23733 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
23734
69203a99 237352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23736
23737 * kern/disk.c (grub_disk_open): Print debug messages when opening a
23738 disk.
23739 (grub_disk_close): Print debug messages when closing a disk.
23740 (grub_disk_read): Print debug messages when disk read fails.
23741 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
23742 filesystem type.
23743 * kern/partition.c: Include misc.h.
23744 (grub_partition_iterate): Print debug messages when detecting
23745 partition type.
23746
e2b8278c 237472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
23748
23749 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
23750 is negative.
23751 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
23752
97b2f2ff 237532006-10-26 Hollis Blanchard <hollis@penguinppc.org>
23754
23755 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23756 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
23757
6555d655 237582006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
23759
23760 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
23761 instead of sizeof(lv). Patch by Michael Guntsche.
23762
4d42b77f 237632006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
23764
23765 * disk/lvm.c: Rename VGS to VG_LIST.
23766 (grub_lvm_iterate): Change VGS->LV to VG-LV.
23767 (grub_lvm_open): Likewise.
23768 Thanks to Michael Guntsche for finding this bug.
23769
5d74d927 237702006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
23771
23772 * configure.ac (AC_INIT): Bumped to 1.95.
23773
a1bb27e4 237742006-10-14 Robert Millan <rmh@aybabtu.com>
23775
23776 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
23777 with "/dev/.static/dev/md".
23778
e0994b8b 237792006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23780
23781 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
23782 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
23783 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
23784 DRIVE_NAME are always freed.
23785
23786 * util/i386/pc/biosdisk.c (make_device_name): Add one into
23787 DOS_PART, as a DOS partition is counted from one instead of zero
23788 now. Reported by Robert Millan.
23789
ddd5cee9 237902006-10-14 Robert Millan <rmh@aybabtu.com>
23791
23792 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
23793 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
23794 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
23795 string returned by grub_guess_root_device.
23796 * util/i386/pc/grub-setup.c: Likewise.
23797 * util/i386/pc/grub-probefs.c: Likewise.
23798
23799 * util/i386/pc/grub-probefs.c: Rename to ...
23800 * util/i386/pc/grub-probe.c: ... this.
23801 * DISTLIST: Remove grub-probefs, add grub-probe.
23802 * conf/i386-efi.rmk: Likewise.
23803 * conf/i386-pc.rmk: Likewise.
23804 * util/i386/pc/grub-install.in: Likewise.
23805
23806 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
23807 choose which information we want to print.
23808
2b002173 238092006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
23810
23811 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
23812 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
23813 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
23814 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
23815 video/readers/tga.c and video/i386/pc/vbeutil.c.
23816
238172006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
23818
23819 Added support for RAID and LVM.
f19dbdb7 23820
2b002173 23821 * disk/lvm.c: New file.
23822 * disk/raid.c: Likewise.
23823 * include/grub/lvm.h: Likewise.
f19dbdb7 23824 * include/grub/raid.h: Likewise.
2b002173 23825 * include/grub/util/lvm.h: Likewise.
23826 * include/grub/util/raid.h: Likewise.
23827 * util/lvm.c: Likewise.
23828 * util/raid.c: Likewise.
23829
23830 * include/grub/disk.h (grub_disk_dev_id): Add
23831 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
23832 (grub_disk_get_size): New prototype.
23833 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
23834 returns a partition.
23835 (grub_disk_get_size): New function.
f19dbdb7 23836
2b002173 23837 * kern/i386/pc/init.c (make_install_device): Copy the prefix
23838 verbatim if grub_install_dos_part is -2.
23839
23840 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
23841 and LVM devices.
23842
23843 * util/i386/pc/grub-setup.c (setup): New argument
23844 MUST_EMBED. Force embedding of GRUB when the argument is
23845 true. Close FILE before returning.
23846 (main): Add support for RAID and LVM.
f19dbdb7 23847
2b002173 23848 * conf/common.rmk: Add RAID and LVM modules.
23849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
23850 util/lvm.c.
23851 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
23852
23853 * kern/misc.c (grub_strstr): New function.
23854 * include/grub/misc.h (grub_strstr): New prototype.
23855
050548d0 238562006-10-10 Tristan Gingold <tristan.gingold@bull.net>
23857
23858 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
23859
da849d2d 238602006-10-05 Tristan Gingold <tristan.gingold@bull.net>
23861
23862 * kern/misc.c (grub_strtoull): Guess the base only if not
23863 specified.
23864
97b2f2ff 238652006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 23866
23867 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
23868 PowerMac support.
23869
97b2f2ff 238702006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 23871
23872 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
23873
23874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
23875 Remove `flags' argument. All callers changed.
23876 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
23877 (IEEE1275_IHANDLE_INVALID): New variable.
23878 (IEEE1275_CELL_INVALID): New variable.
23879 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23880 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
23881 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
23882 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
23883 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
23884 codes from Open Firmware. All callers updated.
23885 (grub_ieee1275_next_property): Directly return Open Firmware return
23886 code.
23887 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23888 Standardize error checking from `grub_ieee1275_get_property'.
23889 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
23890 `devalias' to `aliases'. Correct comments. Consolidate error paths.
23891
97b2f2ff 238922006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 23893
23894 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
23895 `instance_to_package_args' to `instance_to_path_args'.
23896
23897 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
23898 `grub_ieee1275_chosen'.
23899
23900 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
23901 `grub_ieee1275_interpret'.
23902
97b2f2ff 239032006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 23904
23905 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
23906
97b2f2ff 239072006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 23908
23909 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
23910 (__cmpdi): Likewise.
23911
23912 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
23913 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
23914 `grub_ssize_t'.
23915
02bb8acc 23916 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 23917
23918 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
23919 to type `grub_ssize_t'.
23920 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
23921
7f9a8531 239222006-09-22 Marco Gerards <marco@gnu.org>
23923
23924 * normal/script.c (grub_script_create_cmdmenu): Skip leading
23925 newlines.
23926
b5ef1102 239272006-09-22 Marco Gerards <marco@gnu.org>
23928
23929 * commands/echo.c: New file.
23930
23931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
23932
23933 * conf/common.rmk (echo_mod_SOURCES): New variable.
23934 (echo_mod_CFLAGS): Likewise.
23935 (echo_mod_LDFLAGS): Likewise.
23936
2cff3677 239372006-09-22 Marco Gerards <marco@gnu.org>
23938
23939 * normal/main.c (get_line): Malloc memory instead of using
23940 preallocated memory. Removed the arguments `cmdline' and
23941 `max_len'. Updated all callers.
23942
6ba4688b 239432006-09-22 Marco Gerards <marco@gnu.org>
23944
23945 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
23946 (normal_mod_DEPENDENCIES): Likewise.
23947
23948 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
23949 (normal_mod_DEPENDENCIES): Likewise.
23950
23951 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
23952
e02ac02c 239532006-09-22 Johan Rydberg <jrydberg@gnu.org>
23954
23955 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
23956 programs.
23957 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
23958 (normal_mod_DEPENDENCIES): Likewise.
23959 * conf/i386-pc.mk: Regenerate.
23960 * conf/i386-efi.mk: Likewise
23961 * conf/common.mk: Likewise.
23962 * conf/powerpc-ieee1275.mk: Likewise.
23963 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 23964
8d252e44 239652006-09-22 Robert Millan <rmh@aybabtu.com>
23966
23967 Sync with i386 version.
23968 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
23969 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
23970
209bf7ac 239712006-09-21 Robert Millan <rmh@aybabtu.com>
23972
23973 Import from GRUB Legacy (lib/device.c):
23974 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
23975 (init_device_map) [__linux__]: Add support for I2O devices.
23976
6b146090 239772006-09-14 Marco Gerards <marco@gnu.org>
23978
23979 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
23980 `-melf_i386'.
23981
e38600a8 239822006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 23983
23984 * util/i386/pc/grub-install.in: Skip menu.lst when removing
23985 /boot/grub/*.lst.
78fa1790 23986
2952da5d 23987 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 23988
2952da5d 23989 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
23990 before adding it to device.map.
23991
01b82a64 239922006-08-15 Johan Rydberg <jrydberg@gnu.org>
23993
fe6b695a 23994 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 23995 compiles a file; using the -MD option.
23996 * conf/common.mk: Regenerate.
23997 * conf/i386-pc.mk: Likewise.
23998 * conf/i386-efi.mk: Likewise.
23999 * conf/powerpc-ieee1275.mk: Likewise.
24000 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 24001
1064790d 240022006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
24003
24004 Move the prototypes of grub_setjmp and grub_longjmp to
24005 cpu/setjmp.h, so that each architecture may specify different
24006 attributes.
f19dbdb7 24007
1064790d 24008 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
24009 (grub_longjmp): Likewise.
24010 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
24011 (grub_longjmp): Likewise.
24012 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
24013 (grub_longjmp): Likewise.
24014
24015 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
24016 [!GRUB_UTIL] (grub_longjmp): Removed.
24017
29dda3ed 240182006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
24019
24020 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
24021 "color!" method does not return any value.
24022
ad2a06ed 240232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24024
24025 * include/grub/bitmap.h: New file.
24026
24027 * include/grub/i386/pc/vbeutil.h: Likewise.
24028
24029 * video/bitmap.c: Likewise.
24030
24031 * video/readers/tga.c: Likewise.
24032
24033 * video/i386/pc/vbeutil.c: Likewise.
24034
24035 * commands/videotest.c: Code cleanup and updated to reflect to new
24036 video API.
24037
24038 * term/gfxterm.c: Likewise.
24039
24040 * video/video.c: Likewise.
24041
24042 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
24043 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
24044 (bitmap_mod_SOURCES): New entry.
24045 (bitmap_mod_CFLAGS): Likewise.
24046 (bitmap_mod_LDFLAGS): Likewise.
24047 (tga_mod_SOURCES): Likewise.
24048 (tga_mod_CFLAGS): Likewise.
24049 (tga_mod_LDFLAGS): Likewise.
24050
24051 * include/grub/video.h (grub_video_blit_operators): New enum type.
24052 (grub_video_render_target): Changed as forward declaration and moved
24053 actual definition to be video driver specific.
24054 (grub_video_adapter.blit_bitmap): Added blitting operator.
24055 (grub_video_adapter.blit_render_target): Likewise.
24056 (grub_video_blit_bitmap): Likewise.
24057 (grub_video_blit_render_target): Likewise.
24058
24059 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
24060 driver specific render target definition.
24061 (grub_video_vbe_map_rgba): Added driver internal helper.
24062 (grub_video_vbe_unmap_color): Updated to use
24063 grub_video_i386_vbeblit_info.
24064 (grub_video_vbe_get_video_ptr): Likewise.
24065
24066 * include/grub/i386/pc/vbeblit.h
24067 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
24068 grub_video_i386_vbeblit_info.
24069 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24070 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24071 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24073 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24074 (grub_video_i386_vbeblit_index_index): Likewise.
24075 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
24076 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24077 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24078 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
24079 operator.
24080 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
24081 operator.
24082
24083 * video/i386/pc/vbeblit.c: Updated to reflect changes on
24084 include/grub/i386/pc/vbeblit.h.
24085
24086 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
24087 Updated to use grub_video_i386_vbeblit_info.
24088 (grub_video_i386_vbefill_R8G8B8): Likewise.
24089 (grub_video_i386_vbefill_index): Likewise.
24090 (grub_video_i386_vbefill): Added generic filler.
24091
24092 * video/i386/pc/vbefill.c: Updated to reflect changes on
24093 include/grub/i386/pc/vbefill.h.
24094
24095 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
24096 grub_video_i386_vbeblit_info.
24097 (grub_video_vbe_unmap_color): Likewise.
24098 (grub_video_vbe_blit_glyph): Likewise.
24099 (grub_video_vbe_scroll): Likewise.
24100 (grub_video_vbe_draw_pixel): Removed function.
24101 (grub_video_vbe_get_pixel): Likewise.
24102 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
24103 updated code to use it.
24104 (common_blitter): Added common blitter for render target and bitmap.
24105 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
24106 (grub_video_vbe_blit_render_target): Likewise.
24107
bc8c036d 241082006-07-30 Johan Rydberg <jrydberg@gnu.org>
24109
24110 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
24111 is in text mode if there is no console control protocol instance
24112 available.
24113
684a8eff 241142006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24115
24116 * include/grub/video.h: Code cleanup.
24117
24118 * include/grub/i386/pc/vbe.h: Likewise.
24119
24120 * video/i386/pc/vbe.c: Likewise.
24121
24122 * video/i386/pc/vbeblit.c: Likewise.
24123
24124 * video/i386/pc/vbefill.c: Likewise.
24125
24126 * video/video.c: Likewise. Also added more comments.
24127
5915059b 241282006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24129
24130 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
24131 (struct grub_biosdisk_dap): Likewise.
24132
24133 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
24134 linkage settings for all functions.
24135
90ce5d56 241362006-07-12 Marco Gerards <marco@gnu.org>
24137
24138 * configure.ac (--enable-mm-debug): Fix typo.
24139
24140 * genkernsyms.sh.in: Use proper quoting for `CC'.
24141
43e7f879 241422006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
24143
24144 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
24145 (normal_mod_ASFLAGS): Remove "-m32".
24146
4889bdec 241472006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
24148
24149 * util/misc.c: Include config.h.
24150 [!HAVE_MEMALIGN]: Do not include malloc.h.
24151 (grub_memalign): Use posix_memalign, if present. Then, use
24152 memalign, if present. Otherwise, emit an error.
24153
24154 * util/grub-emu.c: Do not include malloc.h.
24155
24156 * include/grub/util/misc.h: Include unistd.h. This is required for
24157 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
24158 D. Eades III <hde@foobar-qux.org>.
24159
24160 * configure.ac (AC_GNU_SOURCE): Added.
24161 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
24162 type.
24163
fd39d4da 241642006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
24165
24166 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
24167 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
24168
b786f3b5 241692006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
24170
24171 * include/grub/types.h (grub_host_addr_t): Rename to
24172 grub_target_addr_t.
24173 (grub_host_off_t): Rename to grub_target_off_t.
24174 (grub_host_size_t): Rename to grub_target_size_t.
24175 (grub_host_ssize_t): Rename to grub_target_ssize_t.
24176 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
24177
24178 * include/grub/kernel.h (struct grub_module_header): Change type
24179 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
24180 (grub_module_info): Likewise.
f19dbdb7 24181
051988bb 241822006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24183
24184 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
24185 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
24186 Velazquez <jesus.velazquez@gmail.com>.
24187
deae281b 241882006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24189
24190 Count partitions from 1 instead of 0 in the string representation
24191 of partitions. Still use 0-based internally.
f19dbdb7 24192
deae281b 24193 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
24194 (sun_partition_map_iterate): Use grub_partition_t instead of
24195 struct grub_partition *. Cast DESC->START_CYLINDER to
24196 grub_uint64_t after converting the endian.
24197 (sun_partition_map_probe): Subtract 1 for PARTNUM.
24198 (sun_partition_map_get_name): Add 1 to P->INDEX.
24199
24200 * partmap/pc.c (grub_partition_parse): Subtract 1 for
24201 PCDATA->DOS_PART.
24202 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
24203
24204 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
24205 zero instead of one.
24206 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
24207 (gpt_partition_map_get_name): Add 1 into P->INDEX.
24208
24209 * partmap/apple.c (apple_partition_map_iterate): Change the type
24210 of POS to unsigned.
24211 (apple_partition_map_probe): Subtract 1 for PARTNUM.
24212 (apple_partition_map_get_name): Add 1 into P->INDEX.
24213
24214 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
24215 of POS to unsigned.
24216 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
24217 calculate the offset of a partition.
24218 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
24219 (amiga_partition_map_get_name): Add 1 into P->INDEX.
24220
24221 * partmap/acorn.c (acorn_partition_map_find): Change the type of
24222 SECTOR to grub_disk_addr_t.
24223 (acorn_partition_map_iterate): Likewise.
24224 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
24225 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
24226 top.
24227 (acorn_partition_map_get_name): Add 1 into P->INDEX.
24228
24229 * kern/i386/pc/init.c (make_install_device): Add 1 into
24230 GRUB_INSTALL_DOS_PART.
24231
24232 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
24233 conditional.
24234
524a1e6a 242352006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
24236
24237 Clean up the code to support 64-bit addressing in disks and
24238 files. This change is not enough for filesystems yet.
f19dbdb7 24239
524a1e6a 24240 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
24241 type of "start" to grub_uint64_t.
24242 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
24243 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
24244 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
24245 convert addresses.
24246
24247 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
24248 to grub_disk_addr_t.
24249
24250 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
24251 string.
24252
24253 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24254
24255 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
24256 to char *.
24257
24258 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
24259
24260 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
24261
24262 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
24263
24264 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
24265 to grub_off_t, to detect an error from grub_file_seek.
24266 (grub_multiboot_load_elf32): Likewise.
24267
24268 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
24269 maximum unsigned long value when an overflow is detected.
24270 (grub_strtoull): New function.
24271 (grub_divmod64): Likewise.
24272 (grub_lltoa): use grub_divmod64.
24273
24274 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
24275 grub_disk_addr_t.
24276 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
24277 the pointer to next character. Use grub_strtoull instead of
24278 grub_strtoul.
24279 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
24280 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
24281 respectively.
24282
fe6b695a 24283 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 24284 return value is signed.
24285 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
24286 test if OFFSET is less than zero, as OFFSET is unsigned now.
24287
24288 * kern/disk.c (struct grub_disk_cache): Change the type of
24289 "sector" to grub_disk_addr_t.
24290 (grub_disk_cache_get_index): Change the type of SECTOR to
24291 grub_disk_addr_t. Calculate the hash with SECTOR casted to
24292 unsigned after shifting.
24293 (grub_disk_cache_invalidate): Change the type of SECTOR to
24294 grub_disk_addr_t.
24295 (grub_disk_cache_unlock): Likewise.
24296 (grub_disk_cache_store): Likewise.
24297 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
24298 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
24299 grub_disk_addr_t and grub_uint64_t, respectively.
24300 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
24301 body, as the value of OFFSET is tweaked by
24302 grub_disk_check_range. Change the types of START_SECTOR, LEN and
24303 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
24304 respectively.
24305 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
24306 body, as the value of OFFSET is tweaked by
24307 grub_disk_check_range. Change the types of LEN and N to
24308 grub_size_t.
24309
24310 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
24311 and "saved_offset" to grub_off_t.
24312 (test_header): Cast BUF to char *.
24313 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
24314 to char *.
24315 (grub_gzio_read): Change the types of OFFSET and SIZE to
24316 grub_off_t and grub_size_t, respectively.
24317
24318 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
24319 Removed.
24320 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
24321 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
24322 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
24323 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
24324 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
24325
24326 * include/grub/types.h (grub_off_t): Unconditionally set to
24327 grub_uint64_t.
24328 (grub_disk_addr_t): Changed to grub_uint64_t.
24329
24330 * include/grub/partition.h (struct grub_partition): Change the
24331 types of "start", "len" and "offset" to grub_disk_addr_t,
24332 grub_uint64_t and grub_disk_addr_t, respectively.
24333 (grub_partition_get_start): Return grub_disk_addr_t.
24334 (grub_partition_get_len): Return grub_uint64_t.
24335
24336 * include/grub/misc.h (grub_strtoull): New prototype.
24337 (grub_divmod64): Likewise.
24338
24339 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
24340 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
24341 grub_off_t, respectively.
24342 All callers and references changed.
24343
24344 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
24345 grub_size_t in "read".
24346 All callers and references changed.
24347
24348 * include/grub/file.h (struct grub_file): Change the types of
24349 "offset" and "size" to grub_off_t and grub_off_t,
24350 respectively. Change the type of SECTOR to grub_disk_addr_t in
24351 "read_hook".
24352 (grub_file_read): Change the type of LEN to grub_size_t.
24353 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
24354 grub_off_t.
24355 (grub_file_size): Return grub_off_t.
24356 (grub_file_tell): Likewise.
24357 All callers and references changed.
24358
24359 * include/grub/disk.h (struct grub_disk_dev): Change the types of
24360 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
24361 "write".
24362 (struct grub_disk): Change the type of "total_sectors" to
24363 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 24364 "read_hook".
524a1e6a 24365 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
24366 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
24367 (grub_disk_write): Likewise.
24368 All callers and references changed.
24369
24370 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
24371 char * for grub_strncmp to silence gcc.
24372 (grub_iso9660_mount): Likewise.
24373 (grub_iso9660_mount): Likewise.
24374 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
24375 return statement.
24376 (grub_iso9660_iterate_dir): Likewise.
24377 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
24378
24379 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
24380 LEN to grub_disk_addr_t and grub_size_t, respectively.
24381
24382 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
24383
24384 * fs/jfs.c (grub_jfs_read_file): Likewise.
24385
24386 * fs/minix.c (grub_jfs_read_file): Likewise.
24387
24388 * fs/sfs.c (grub_jfs_read_file): Likewise.
24389
24390 * fs/ufs.c (grub_jfs_read_file): Likewise.
24391
24392 * fs/xfs.c (grub_jfs_read_file): Likewise.
24393
24394 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
24395 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
24396 respectively.
24397
24398 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
24399 BLKNR to -1 instead of returning GRUB_ERRNO.
24400 (grub_ext2_read_file): Change the types of SECTOR and
24401 LEN to grub_disk_addr_t and grub_size_t, respectively.
24402
24403 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
24404 LEN to grub_disk_addr_t and grub_size_t, respectively.
24405
24406 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
24407 grub_file_read.
24408
24409 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
24410 string. Do not cast SECTOR explicitly.
24411
24412 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
24413 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
24414 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
24415 grub_disk_addr_t and grub_size_t, respectively. If the sector is
24416 over 2TB and LBA mode is not supported, raise an error.
24417 (get_safe_sectors): New function.
24418 (grub_biosdisk_read): Use get_safe_sectors.
24419 (grub_biosdisk_write): Likewise.
24420
24421 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
24422 (grub_efidisk_write): Likewise.
24423
24424 * disk/loopback.c (delete_loopback): Cosmetic changes.
24425 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
24426 correctly.
24427 (grub_loopback_open): Likewise.
24428 (grub_loopback_read): Likewise. Also, change the type of POS to
24429 grub_off_t, and fix the usage of grub_memset.
24430
24431 * commands/i386/pc/play.c: Include grub/machine/time.h.
24432
24433 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
24434 print FILE->SIZE.
24435
24436 * commands/configfile.c: Include grub/env.h.
24437
24438 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
24439 GRUB_ERRNO directly instead. Change the type of POS to
24440 grub_off_t. Follow the coding standard.
24441
24442 * commands/blocklist.c: Include grub/partition.h.
24443 (grub_cmd_blocklist): Return an error if the underlying device is
24444 not a disk. Take the starting sector of a partition into account,
24445 if a partition is used.
24446
24447 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
24448 a length field.
24449 (lba_mode): Support 64-bit addresses.
24450 (chs_mode): Likewise.
24451 (copy_buffer): Adapted to the new offsets of a length field and a
24452 segment field.
24453 (blocklist_default_start): Allocate 64-bit space.
24454
24455 * boot/i386/pc/boot.S (force_lba): Removed.
24456 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 24457 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 24458 space.
24459 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
24460 is useless.
24461 (lba_mode): Refactored to support a 64-bit address. More size
24462 optimization.
24463 (setup_sectors): Likewise.
24464
53af98ad 244652006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
24466
24467 * DISTLIST: Added include/grub/i386/linux.h. Removed
24468 include/grub/i386/pc/linux.h
24469
24470 * configure.ac (AC_INIT): Bumped to 1.94.
24471
24472 * config.guess: Updated from gnulib.
24473 * config.sub: Likewise.
24474 * install-sh: Likewise.
24475 * mkinstalldirs: Likewise.
24476
b4c1940a 244772006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
24478
24479 * conf/common.rmk (grub_modules_init.lst): Depended on
24480 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
24481 MODSRCFILES.
24482
24483 * genmk.rb (PModule::rule): Reverted the previous change.
24484
cfca1cfd 244852006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
24486
24487 * conf/common.rmk (grub_modules_init.lst): Depends on
24488 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
24489 that the target does not exist before producing.
24490 (grub_modules_init.h): Remove the target before generating.
24491 (grub_emu_init.c): Likewise.
24492
24493 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
24494
aa6d7826 244952006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
24496
24497 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
24498 for the target-specific tests. Make sure that we also have the
24499 up-to-date target variables for those tests.
24500
26c607b9 245012006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
24502
24503 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
24504 (PModule::rule): Likewise.
24505
0162321a 245062006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
24507
24508 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
24509 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
24510 target-specific flags should be prefixed.
24511 (PModule::rule): Likewise.
24512
6c826348 245132006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
24514
24515 * configure.ac (CMP): Check if cmp is available explicitly.
24516
b977bf01 245172006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
24518
24519 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
24520 (target_cpu): New variable.
24521 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 24522
b977bf01 24523 * util/i386/pc/grub-install.in (host_cpu): Removed.
24524 (target_cpu): New variable.
24525 (pkglibdir): Use target_cpu instead of host_cpu.
24526
24527 * util/genmoddep.c: Removed.
f19dbdb7 24528
b977bf01 24529 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
24530 instead of GRUB_HOST_SIZEOF_VOID_P.
24531 * kern/dl.c: Likewise.
24532
24533 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
24534 ...
24535 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24536 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24537 (GRUB_TARGET_SIZEOF_LONG): ... this.
24538 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24539 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24540 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
24541 to ...
24542 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24543 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24544 (GRUB_TARGET_SIZEOF_LONG): ... this.
24545 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24546 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24547 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
24548 to ...
24549 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
24550 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
24551 (GRUB_TARGET_SIZEOF_LONG): ... this.
24552 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
24553 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
24554
24555 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
24556 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
24557 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
24558 instead of GRUB_HOST_SIZEOF_LONG.
24559 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
24560 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
24561 GRUB_CPU_WORDS_BIGENDIAN.
24562 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
24563 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
24564 grub_host_ssize_t.
24565
24566 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
24567 (genmoddep_SOURCES): Likewise.
24568 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
24569 (genmoddep_SOURCES): Likewise.
24570 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
24571 (genmoddep_SOURCES): Likewise.
24572 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
24573 Likewise.
24574 (genmoddep_SOURCES): Likewise.
24575
24576 * genmoddep.awk: New file.
24577
24578 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
24579 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
24580 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
24581 (PModule::rule): Likewise.
24582 (Program::rule): Likewise.
24583 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
24584 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
24585 respectively.
24586
24587 * configure.ac: Rewritten intensively to use host and target
24588 instead of build and host, respectively.
24589
24590 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
24591 (host_cpu): Removed.
24592 (target_cpu): New variable.
24593 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
24594 (BUILD_CC): Removed.
24595 (BUILD_CFLAGS): Likewise.
24596 (BUILD_CPPFLAGS): Likewise.
24597 (TARGET_CC): New variable.
24598 (TARGET_CFLAGS): Likewise.
24599 (TARGET_CPPFLAGS): Likewise.
24600 (TARGET_LDFLAGS): Likewise.
24601 (AWK): Likewise.
24602 (include): Use target_cpu instead of host_cpu.
24603 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 24604
b977bf01 24605 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
24606
f09771a1 246072006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
24608
24609 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
24610 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
24611 field 'false' to 'exec_on_false'.
24612 (grub_script_create_cmdif): Renamed argument names to reflect above
24613 changes.
24614
24615 * normal/execute.c (grub_script_execute_cmdif): Likewise.
24616
24617 * normal/script.c (grub_script_create_cmdif): Likewise.
24618
118f4fb3 246192006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
24620
24621 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
24622 top.
24623 (grub_hfsplus_btree_recptr): Likewise.
24624 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
24625 FILEBLOCK both to pass a block number and store next block
24626 number.
24627 (grub_hfsplus_read_block): Rewritten heavily to support an extent
24628 overflow file correctly. Specify errors appropriately, because
24629 fshelp expects that GRUB_ERRNO is set when fails. Reuse
24630 grub_hfsplus_btree_recptr to get the pointer to a found key.
24631 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
24632 is found.
24633
24634 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
24635 linux.mod.
24636 (_linux_mod_SOURCES): New variable.
24637 (_linux_mod_CFLAGS): Likewise.
24638 (_linux_mod_LDFLAGS): Likewise.
24639 (linux_mod_SOURCES): Likewise.
24640 (linux_mod_CFLAGS): Likewise.
24641 (linux_mod_LDFLAGS): Likewise.
24642
24643 * DISTLIST: Added loader/i386/efi/linux.c,
24644 loader/i386/efi/linux_normal.c and
24645 include/grub/i386/efi/loader.h.
24646
24647 * loader/i386/efi/linux.c: New file.
24648 * loader/i386/efi/linux_normal.c: Likewise.
24649 * include/grub/i386/efi/loader.h: Likewise.
24650
89a7d726 246512006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
24652
24653 * commands/blocklist.c: New file.
24654
24655 * DISTLIST: Added commands/blocklist.c.
24656
24657 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 24658 color for the background, and a darker color for the foreground.
89a7d726 24659 (grub_console_checkkey): Return READ_KEY.
24660 (grub_console_cls): Set the background to
24661 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
24662
24663 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
24664
24665 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
24666 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
24667
24668 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
24669 prototype.
24670
24671 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
24672 BG. The spec is wrong again.
24673
24674 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
24675 prototype.
24676 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
24677
24678 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24679 commands/blocklist.c.
24680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 24681
89a7d726 24682 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
24683 (blocklist_mod_SOURCES): New variable.
24684 (blocklist_mod_CFLAGS): Likewise.
24685 (blocklist_mod_LDFLAGS): Likewise.
24686
75c8f258 246872006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
24688
24689 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
24690 duplication.
24691 (lba_mode): Use %eax more intensively to reduce the code size.
24692
da2eb181 246932006-05-20 Marco Gerards <marco@gnu.org>
24694
24695 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
24696
24697 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
24698 for `menuentry'.
24699 (script): Accept leading newlines.
24700 (newlines): New rule to describe 0 or more newlines.
24701 (commands): Accept `command' with trailing newline. Fixed the
24702 order in which arguments were passed to `grub_script_add_cmd'.
24703 Accept commands separated by newlines.
24704 (function): Changed to accept newlines.
24705 (menuentry) Rewritten.
24706
24707 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
24708 front of the list, instead of to the end.
24709
577b4050 247102006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
24711
24712 * util/i386/pc/grub-install.in (bindir): New variable.
24713 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
24714 Shaver <lbgwjl@gmail.com>.
24715
0d6e1189 247162006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
24717
24718 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
24719 grub/machine/linux.h
24720 * loader/i386/pc/linux.c: Likewise.
24721
24722 * include/grub/i386/pc/linux.h: Moved to ...
24723 * include/grub/i386/linux.h: ... here.
24724
24725 * include/grub/i386/linux.h (struct linux_kernel_params): New
24726 struct.
f19dbdb7 24727
31b86e9f 247282006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
24729
24730 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
24731 checking.
24732 (grub_video_vbe_blit_glyph): Likewise.
24733 (grub_video_vbe_blit_bitmap): Likewise.
24734 (grub_video_vbe_blit_render_target): Likewise.
24735
83b984de 247362006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
24737
24738 * configure.ac (--with-platform): Properly quote the square
24739 brackets.
24740
5f0413bd 247412006-05-08 Marco Gerards <marco@gnu.org>
24742
24743 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
24744 this...
24745 (kernel_elf_HEADERS): ...to this. Updated all users.
24746 (grubof_symlist.c): Renamed from this...
24747 (kernel_elf_symlist.c): ...to this. Updated all users.
24748 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
24749 (grubof_SOURCES): Renamed from this...
24750 (kernel_elf_SOURCES): ...to this.
24751 (grubof_HEADERS): Renamed from this...
24752 (kernel_elf_HEADERS): ...to this.
24753 (grubof_CFLAGS): Renamed from this...
24754 (kernel_elf_CFLAGS): ...to this.
24755 (grubof_ASFLAGS): Renamed from this...
24756 (kernel_elf_ASFLAGS): ...to this.
24757 (grubof_LDFLAGS): Renamed from this...
24758 (kernel_elf_LDFLAGS): ...to this.
24759
24760 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
24761 this...
24762 (kernel_elf_HEADERS): ...to this. Updated all users.
24763 (grubof_symlist.c): Renamed from this...
24764 (kernel_elf_symlist.c): ...to this. Updated all users.
24765 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
24766 (grubof_SOURCES): Renamed from this...
24767 (kernel_elf_SOURCES): ...to this.
24768 (grubof_HEADERS): Renamed from this...
24769 (kernel_elf_HEADERS): ...to this.
24770 (grubof_CFLAGS): Renamed from this...
24771 (kernel_elf_CFLAGS): ...to this.
24772 (grubof_ASFLAGS): Renamed from this...
24773 (kernel_elf_ASFLAGS): ...to this.
24774 (grubof_LDFLAGS): Renamed from this...
24775 (kernel_elf_LDFLAGS): ...to this.
24776
24777 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
24778 `kernel.elf' instead of `grubof'.
24779
05568c2e 247802006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
24781
24782 Add --with-platform to configure. Use pkglibdir instead of
24783 pkgdatadir. This is reported by Roger Leigh.
24784
24785 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
24786 (host_vendor): Likewise.
24787 (host_os): Likewise.
24788 (pkgdatadir): Likewise.
24789 (platform): New variable.
24790 (pkglibdir): Likewise.
24791 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 24792
05568c2e 24793 * util/i386/pc/grub-install.in (datadir): Removed.
24794 (host_vendor): Likewise.
24795 (host_os): Likewise.
24796 (pkgdatadir): Likewise.
24797 (platform): New variable.
24798 (pkglibdir): Likewise.
24799 Use PKGLIBDIR instead of PKGDATADIR.
24800
24801 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
24802 instead of GRUB_DATADIR.
24803 (main): Likewise.
24804 * util/i386/pc/grub-mkimage.c (usage): Likewise.
24805 (main): Likewise.
24806 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24807 (main): Likewise.
24808
24809 * configure.ac (--with-platform): New option.
24810 Use PLATFORM instead of HOST_VENDOR to specify a platform.
24811
24812 * Makefile.in: Include a makefile based on PLATFORM instead of
24813 HOST_VENDOR.
24814 (pkgdatadir): Not appended by the machine type.
24815 (pkglibdir): Appended by the machine type.
24816 (host_vendor): Removed.
24817 (platform): New variable.
24818 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
24819 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
24820 (uninstall): Likewise.
24821
4e93851c 248222006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
24823
24824 Use the environment context in the menu. Remove the commands
24825 "default" and "timeout", and use variables instead.
f19dbdb7 24826
4e93851c 24827 * normal/menu.c: Include grub/env.h.
24828 (print_entry): Cast TITLE to silence gcc.
24829 (get_timeout): New function.
24830 (set_timeout): Likewise.
24831 (get_entry_number): Likewise.
24832 (run_menu): Use a default entry, a fallback entry and a timeout
24833 in the environment variables "default", "fallback" and
24834 "timeout". Also, tweak the default entry if it is not within the
24835 current menu entries.
24836 (grub_menu_run): Use a fallback entry in the environment variable
24837 "fallback".
24838
24839 * normal/main.c (read_config_file): Do not initialize
24840 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
24841 NEWMENU->TIMEOUT.
24842 (grub_normal_execute): Use a data slot to store the menu.
24843
24844 * include/grub/normal.h (struct grub_menu): Removed default_entry,
24845 fallback_entry and timeout.
24846 (struct grub_menu_list): Removed.
24847 (grub_menu_list_t): Likewise.
24848 (struct grub_context): Likewise.
24849 (grub_context_t): Likewise.
24850 (grub_context_get): Likewise.
24851 (grub_context_get_current_menu): Likewise.
24852 (grub_context_push_menu): Likewise.
24853 (grub_context_pop_menu): Likewise.
24854 (grub_default_init): Likewise.
24855 (grub_default_fini): Likewise.
24856 (grub_timeout_init): Likewise.
24857 (grub_timeout_fini): Likewise.
24858
24859 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
24860 and timeout.mod.
24861 (normal_mod_SOURCES): Removed normal/context.c.
24862
24863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
24864 commands/default.c, commands/timeout.c and normal/context.c.
24865 (normal_mod_SOURCES): Removed normal/context.c.
24866
24867 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
24868 commands/timeout.c and normal/context.c.
24869 (normal_mod_SOURCES): Removed normal/context.c.
24870
24871 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
24872 commands/default.c, commands/timeout.c and normal/context.c.
24873 (normal_mod_SOURCES): Removed normal/context.c.
24874
24875 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
24876 timeout.mod.
24877 (default_mod_SOURCES): Removed.
24878 (default_mod_CFLAGS): Likewise.
24879 (default_mod_LDFLAGS): Likewise.
24880 (timeout_mod_SOURCES): Removed.
24881 (timeout_mod_CFLAGS): Likewise.
24882 (timeout_mod_LDFLAGS): Likewise.
24883
24884 * DISTLIST: Removed commands/default.c, commands/timeout.c and
24885 normal/context.c.
24886
24887 * commands/default.c: Removed.
24888 * commands/timeout.c: Likewise.
24889 * normal/context.c: Likewise.
24890
1eb9cc1d 248912006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
24892
24893 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
24894
385bd9c1 248952006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
24896
24897 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
24898 "next" to "prev" for readability.
24899 (struct grub_env_sorted_var): New struct.
24900 (grub_env_context): Renamed to ...
24901 (initial_context): ... this.
24902 (grub_env_var_context): Renamed to ...
24903 (current_context): ... this.
24904 (grub_env_find): Look only at CURRENT_CONTEXT.
24905 (grub_env_context_open): Rewritten to copy exported variables from
24906 previous context.
24907 (grub_env_context_close): Rewritten according to the new
24908 scheme. Also, add an assertion to prevent the initial context from
24909 removed.
24910 (grub_env_insert): Removed the code for the sorted list.
24911 (grub_env_remove): Likewise.
24912 (grub_env_export): Simply mark the variable with
24913 GRUB_ENV_VAR_GLOBAL.
24914 (grub_env_set): A cosmetic change for naming consistency.
24915 (grub_env_get): Likewise.
24916 (grub_env_unset): Likewise.
24917 (grub_env_iterate): Rewritten to sort variables within this
24918 function.
24919 (grub_register_variable_hook): Fixed for naming consistency. Call
24920 grub_env_find again, only if NAME is not found at the first time.
24921 (mangle_data_slot_name): New function.
24922 (grub_env_set_data_slot): Likewise.
24923 (grub_env_get_data_slot): Likewise.
24924 (grub_env_unset_data_slot): Likewise.
24925
24926 * include/grub/env.h (grub_env_var_type): New enum.
24927 (GRUB_ENV_VAR_LOCAL): New constant.
24928 (GRUB_ENV_VAR_GLOBAL): Likewise.
24929 (GRUB_ENV_VAR_DATA): Likewise.
24930 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
24931 "type".
24932 (grub_env_set): Replace VAR with NAME for consistency.
24933 (grub_register_variable_hook): Likewise.
24934 (grub_env_export): Specify the name of the argument.
24935 (grub_env_set_data_slot): New prototype.
24936 (grub_env_get_data_slot): Likewise.
24937 (grub_env_unset_data_slot): Likewise.
24938
7f362539 249392006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
24940
24941 Extend the loader so that GRUB can accept a loader which comes
24942 back to GRUB when a loaded image exits. Also, this change adds
24943 support for a chainloader on EFI.
f19dbdb7 24944
7f362539 24945 * term/efi/console.c: Include grub/misc.h.
24946 (grub_console_checkkey): Display a scan code on the top for
24947 debugging. This will be removed once the EFI port gets stable.
24948 Correct the scan code mapping.
24949
24950 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
24951 allocate memory from larger regions, in order to reduce the number
24952 of allocated regions. Otherwise, the MacOSX loader panics.
24953 (filter_memory_map): Avoid less than 1MB for compatibility with
24954 other loaders.
24955 (add_memory_regions): Allocate from the tail of a region, if
24956 possible, to avoid allocating a region near to 1MB, for the MacOSX
24957 loader.
24958
24959 * kern/efi/init.c (grub_efi_set_prefix): Specify
24960 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
24961
24962 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
24963 argument IMAGE_HANDLE and specify it to get a loaded image.
24964 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
24965 grub_efi_get_loaded_image.
fe6b695a 24966 (grub_efi_get_filename): Divide the length by the size of
7f362539 24967 grub_efi_char16_t.
24968 (grub_efi_get_device_path): New function.
24969 (grub_efi_print_device_path): Print End Device Path nodes. Divide
24970 the length by the size of grub_efi_char16_t for a file path device
24971 path node.
24972
24973 * kern/loader.c (grub_loader_noreturn): New variable.
24974 (grub_loader_set): Accept a new argument NORETURN. Set
24975 GRUB_LOADER_NORETURN to NORETURN.
24976 All callers changed.
24977 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
24978 grub_machine_fini.
24979
24980 * include/grub/efi/efi.h (grub_efi_get_device_path): New
24981 prototype.
24982 (grub_efi_get_loaded_image): Take an argument to specify an image
24983 handle.
24984
24985 * include/grub/loader.h (grub_loader_set): Added one more argument
24986 NORETURN.
24987
24988 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
24989 instead of grub_efi_open_protocol.
24990 (grub_efidisk_get_device_name): Likewise.
24991 (grub_efidisk_close): Print a newline.
24992 (grub_efidisk_get_device_handle): Fixed to use
24993 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
24994 GRUB_EFI_DEVICE_PATH_TYPE.
24995
24996 * disk/efi/efidisk.c (device_path_guid): Moved to ...
24997 * kern/efi/efi.c (device_path_guid): ... here.
24998
24999 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
25000 chain.mod.
25001 (kernel_mod_HEADERS): Added efi/disk.h.
25002 (_chain_mod_SOURCES): New variable.
25003 (_chain_mod_CFLAGS): Likewise.
25004 (_chain_mod_LDFLAGS): Likewise.
25005 (chain_mod_SOURCES): Likewise.
25006 (chain_mod_CFLAGS): Likewise.
25007 (chain_mod_LDFLAGS): Likewise.
25008
25009 * DISTLIST: Added include/grub/efi/chainloader.h,
25010 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
25011
25012 * include/grub/efi/chainloader.h: New file.
25013 * loader/efi/chainloader.c: Likewise.
25014 * loader/efi/chainloader_normal.c: Likewise.
25015
c0111d6e 250162006-04-30 Marco Gerards <marco@gnu.org>
25017
25018 * commands/configfile.c (grub_cmd_source): New function.
25019 (GRUB_MOD_INIT): Register the commands `source' and `.'.
25020 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
25021
df5341da 250222006-04-30 Marco Gerards <marco@gnu.org>
25023
25024 * normal/execute.c (grub_script_execute_cmd): Change the return
25025 type to `grub_err_t'. Correctly return the error.
25026 (grub_script_execute_cmdline): In case a command line is not a
25027 command or a function, try to interpret it as an assignment.
25028
f85934bd 250292006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25030
25031 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
25032 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
25033 skip a node whose name is obviously invalid as UTF-16,
25034 i.e. contains a NUL character. Stop the iteration when the last
25035 directory entry is found. Instead of using the return value of
25036 grub_hfsplus_btree_iterate_node, store the value in RET and use
25037 it, because the iterator can be stopped by the last directory
25038 entry.
25039
8f8a2cf8 250402006-04-30 Marco Gerards <marco@gnu.org>
25041
25042 * include/grub/env.h (grub_env_export): New prototype. Reported
25043 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
25044
a27e84ce 250452006-04-30 Marco Gerards <marco@gnu.org>
25046
25047 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
25048 size of the extents in a catalog file record.
25049
eaef0553 250502006-04-29 Marco Gerards <marco@gnu.org>
25051
25052 * commands/configfile.c (grub_cmd_configfile): Execute the
25053 configfile within its own context.
25054
25055 * include/grub/env.h (grub_env_context_open): New prototype.
25056 (grub_env_context_close): Likewise.
25057
25058 * kern/env.c (grub_env): Removed.
25059 (grub_env_sorted): Likewise.
25060 (grub_env_context): New variable.
25061 (grub_env_var_context): Likewise.
25062 (grub_env_find): Search both the active context and the global
25063 context.
25064 (grub_env_context_open): New function.
25065 (grub_env_context_close): Likewise.
25066 (grub_env_insert): Likewise.
25067 (grub_env_remove): Likewise.
25068 (grub_env_export): Likewise.
25069 (grub_env_set): Changed to use helper functions to avoid code
25070 duplication.
25071 (grub_env_iterate): Rewritten so both the current context and the
25072 global context are being used.
25073
25074 * normal/command.c (export_command): New function.
25075 (grub_command_init): Register the `export' function.
25076
7b455f4d 250772006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
25078
25079 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
25080 explicitly to suppress gcc's warnings.
25081 * fs/fat.c (grub_fat_find_dir): Likewise.
25082 (grub_fat_label): Likewise.
25083 * fs/xfs.c (grub_xfs_read_inode): Likewise.
25084 (grub_xfs_mount): Likewise.
25085 (grub_xfs_label): Likewise.
25086 * fs/affs.c (grub_affs_mount): Likewise.
25087 (grub_affs_label): Likewise.
25088 (grub_affs_iterate_dir): Likewise.
25089 * fs/sfs.c (grub_sfs_mount): Likewise.
25090 (grub_sfs_iterate_dir): Likewise.
25091 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
25092 * fs/hfs.c (grub_hfs_mount): Likewise.
25093 (grub_hfs_cmp_catkeys): Likewise.
25094 (grub_hfs_find_dir): Likewise.
25095 (grub_hfs_dir): Likewise.
25096 (grub_hfs_label): Likewise.
25097 * fs/jfs.c (grub_jfs_mount): Likewise.
25098 (grub_jfs_opendir): Likewise.
25099 (grub_jfs_getent): Likewise.
25100 (grub_jfs_lookup_symlink): Likewise.
25101 (grub_jfs_label): Likewise.
25102 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
25103 (grub_hfsplus_iterate_dir): Likewise.
25104 (grub_hfsplus_btree_iterate_node): Made static.
25105
25106 * util/grub-emu.c (prefix): New variable.
25107 (grub_machine_set_prefix): New function.
25108 (main): Do not set the environment variable "prefix" here. Only
25109 set PREFIX, which is used later by grub_machine_set_prefix.
25110
25111 * include/grub/video.h: Do not include grub/symbol.h.
25112 (grub_video_register): Not exported. This symbol is not defined in
25113 the kernel.
25114 (grub_video_unregister): Likewise.
25115 (grub_video_iterate): Likewise.
25116 (grub_video_setup): Likewise.
25117 (grub_video_restore): Likewise.
25118 (grub_video_get_info): Likewise.
25119 (grub_video_get_blit_format): Likewise.
25120 (grub_video_set_palette): Likewise.
25121 (grub_video_get_palette): Likewise.
25122 (grub_video_set_viewport): Likewise.
25123 (grub_video_get_viewport): Likewise.
25124 (grub_video_map_color): Likewise.
25125 (grub_video_map_rgb): Likewise.
25126 (grub_video_map_rgba): Likewise.
25127 (grub_video_fill_rect): Likewise.
25128 (grub_video_blit_glyph): Likewise.
25129 (grub_video_blit_bitmap): Likewise.
25130 (grub_video_blit_render_target): Likewise.
25131 (grub_video_scroll): Likewise.
25132 (grub_video_swap_buffers): Likewise.
25133 (grub_video_create_render_target): Likewise.
25134 (grub_video_delete_render_target): Likewise.
25135 (grub_video_set_active_render_target): Likewise.
25136
25137 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
25138 Undefined.
25139 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
25140
25141 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
25142 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25143 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25144 instead of $(srcdir)/genkernsyms.sh.
25145
25146 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
25147 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25148 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25149 instead of $(srcdir)/genkernsyms.sh.
25150
25151 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
25152 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25153 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25154 instead of $(srcdir)/genkernsyms.sh.
25155
25156 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
25157 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25158 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25159 instead of $(srcdir)/genkernsyms.sh.
25160
25161 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
25162 genkernsyms.sh.
25163
25164 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
25165 genkernsyms.sh.
25166 (gensymlist.sh): New target.
25167 (genkernsyms.sh): Likewise.
25168
25169 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
25170 genkernsyms.sh.in and gensymlist.sh.in.
25171
25172 * genkernsyms.sh: Removed.
25173 * gensymlist.sh: Likewise.
f19dbdb7 25174
7b455f4d 25175 * genkernsyms.sh.in: New file.
25176 * gensymlist.sh.in: Likewise.
25177
1885bb27 251782006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25179
25180 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
25181 clobber "prefix", since we may have already set it manually.
25182
71538dff 251832006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25184
25185 * kern/misc.c (abort): New alias for grub_abort.
25186
2965c7cc 251872006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
25188
25189 A new machine-specific function "grub_machine_set_prefix" is
25190 defined. This is called after loading modules, so that a prefix
25191 initialization can use modules. Also, this change adds an
25192 intensive debugging feature for the memory manager via the
25193 configure option "--enable-mm-debug".
f19dbdb7 25194
2965c7cc 25195 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
25196 PART.LEN.
25197
25198 * kern/sparc64/ieee1275/init.c (abort): Removed.
25199 (grub_stop): Likewise.
25200 (grub_exit): New function.
25201 (grub_set_prefix): Renamed to ...
25202 (grub_machine_set_prefix): ... this.
25203 (grub_machine_init): Do not call grub_set_prefix.
25204
25205 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
25206 (grub_machine_set_prefix): ... this.
25207 (grub_machine_init): Do not call grub_set_prefix.
25208
25209 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
25210 (grub_machine_init): Do not set the prefix here.
25211
25212 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
25213
25214 * kern/efi/init.c: Include grub/mm.h.
25215 (grub_efi_set_prefix): New function.
25216
25217 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
25218 (grub_efi_get_filename): New function.
25219 (grub_print_device_path): Renamed to ...
25220 (grub_efi_print_device_path): ... this.
25221
25222 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
25223 [MM_DEBUG] (grub_realloc): Likewise.
25224 [MM_DEBUG] (grub_free): Likewise.
25225 [MM_DEBUG] (grub_memalign): Likewise.
25226 [MM_DEBUG] (grub_mm_debug): New variable.
25227 [MM_DEBUG] (grub_debug_malloc): New function.
25228 [MM_DEBUG] (grub_debug_free): New function.
25229 [MM_DEBUG] (grub_debug_realloc): New function.
25230 [MM_DEBUG] (grub_debug_memalign): New function.
25231
25232 * kern/misc.c (grub_abort): Print a newline to distinguish
25233 the message.
25234
25235 * kern/main.c (grub_main): Call grub_machine_set_prefix and
25236 grub_set_root_dev after loading modules. This is necessary when
25237 setting a prefix depends on modules.
25238
25239 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
25240 (grub_efi_print_device_path): ... this.
25241 (grub_efi_get_filename): New prototype.
25242 (grub_efi_set_prefix): Likewise.
25243
25244 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
25245 and grub/disk.h.
25246 (grub_efidisk_get_device_handle): New prototype.
25247 (grub_efidisk_get_device_name): Likewise.
25248
25249 * include/grub/mm.h: Include config.h.
25250 (MM_DEBUG): Removed.
25251 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
25252 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
25253 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
25254 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
25255 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
25256 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
25257 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
25258 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
25259 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
25260
25261 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
25262
25263 * disk/efi/efidisk.c: Include grub/partition.h.
25264 (iterate_child_devices): New function.
25265 (add_device): First, compare only last device path nodes, so that
25266 devices are sorted by the types.
25267 (grub_efidisk_get_device_handle): New function.
25268 (grub_efidisk_get_device_name): Likewise.
25269
25270 * configure.ac (--enable-mm-debug): New option to enable the
25271 memory manager debugging feature. This makes the binary much
25272 bigger, so is disabled by default.
25273
9cacaa17 252742006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
25275
25276 Use grub_abort instead of grub_stop, and grub_exit must be
25277 define in each architecture now. Also, this change adds support
25278 for EFI disks.
f19dbdb7 25279
9cacaa17 25280 * util/i386/pc/grub-probefs.c: Include grub/term.h.
25281 (grub_getkey): New function.
25282 (grub_term_get_current): Likewise.
25283
25284 * util/i386/pc/grub-setup.c: Include grub/term.h.
25285 (grub_getkey): New function.
25286 (grub_term_get_current): Likewise.
25287
25288 * util/misc.c (grub_stop): Renamed to ...
25289 (grub_exit): ... this.
25290
25291 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
25292 (grub_exit): ... this.
25293 (grub_machine_init): Use grub_abort instead of abort.
25294 (grub_stop): Removed.
25295
25296 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
25297 abort.
25298
25299 * kern/i386/pc/startup.S (grub_exit): New function.
25300 (cold_reboot): New label.
25301
25302 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
25303 (grub_efi_init): Call grub_efidisk_init.
25304 (grub_efi_fini): Call grub_efidisk_fini.
25305
25306 * kern/efi/efi.c: Include grub/mm.h.
25307 (grub_efi_console_control_guid): Renamed to ...
25308 (console_control_guid): ... this.
25309 (grub_efi_loaded_image_guid): Renamed to ...
25310 (loaded_image_guid): ... this.
25311 (grub_efi_locate_handle): New function.
25312 (grub_efi_open_protocol): Likewise.
25313 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
25314 GRUB_EFI_CONSOLE_CONTROL_GUID.
25315 (grub_efi_exit): Removed.
25316 (grub_stop): Likewise.
25317 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
25318 (grub_exit): New function.
25319 (grub_print_device_path): Likewise.
25320
25321 * kern/rescue.c (grub_rescue_cmd_exit): New function.
25322 (grub_enter_rescue_mode): Register "exit".
25323
25324 * kern/misc.c (grub_real_dprintf): A cosmetic change.
25325 (grub_abort): New function.
25326
25327 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
25328
25329 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
25330
25331 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
25332
25333 * include/grub/efi/efi.h (grub_efi_exit): Removed.
25334 (grub_print_device_path): New prototype.
25335 (grub_efi_locate_handle): Likewise.
25336 (grub_efi_open_protocol): Likewise.
25337
25338 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
25339 * disk/efi/efidisk.c: Likewise.
25340
25341 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
25342
25343 * include/grub/efi/console_control.h
25344 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
25345
25346 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
25347 last 8 bytes as an array.
25348 (GRUB_EFI_DISK_IO_GUID): New macro.
25349 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
25350 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
25351 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
25352 grub_uint8_t.
25353 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
25354 (struct grub_efi_device_path): Rename the member "sub_type" to
25355 "subtype".
25356 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
25357 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
25358 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
25359 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
25360 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
25361 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
25362 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
25363 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
25364 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
25365 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
25366 (struct grub_efi_pci_device_path): New structure.
25367 (grub_efi_pci_device_path_t): New type.
25368 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
25369 (struct grub_efi_pccard_device_path): New structure.
25370 (grub_efi_pccard_device_path_t): New type.
25371 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
25372 (struct grub_efi_memory_mapped_device_path): New structure.
25373 (grub_efi_memory_mapped_device_path_t): New type.
25374 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
25375 (struct grub_efi_vendor_device_path): New structure.
25376 (grub_efi_vendor_device_path_t): New type.
25377 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
25378 (struct grub_efi_controller_device_path): New structure.
25379 (grub_efi_controller_device_path_t): New type.
25380 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
25381 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
25382 (struct grub_efi_acpi_device_path): New structure.
25383 (grub_efi_acpi_device_path_t): New type.
25384 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
25385 (struct grub_efi_expanded_acpi_device_path): New structure.
25386 (grub_efi_expanded_acpi_device_path_t): New type.
25387 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
25388 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
25389 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
25390 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
25391 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
25392 (struct grub_efi_atapi_device_path): New structure.
25393 (grub_efi_atapi_device_path_t): New type.
25394 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
25395 (struct grub_efi_fibre_channel_device_path): New structure.
25396 (grub_efi_fibre_channel_device_path_t): New type.
25397 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
25398 (struct grub_efi_1394_device_path): New structure.
25399 (grub_efi_1394_device_path_t): New type.
25400 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
25401 (struct grub_efi_usb_device_path): New structure.
25402 (grub_efi_usb_device_path_t): New type.
25403 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
25404 (struct grub_efi_usb_class_device_path): New structure.
25405 (grub_efi_usb_class_device_path_t): New type.
25406 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
25407 (struct grub_efi_i2o_device_path): New structure.
25408 (grub_efi_i2o_device_path_t): New type.
25409 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
25410 (struct grub_efi_mac_address_device_path): New structure.
25411 (grub_efi_mac_address_device_path_t): New type.
25412 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
25413 (struct grub_efi_ipv4_device_path): New structure.
25414 (grub_efi_ipv4_device_path_t): New type.
25415 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
25416 (struct grub_efi_ipv6_device_path): New structure.
25417 (grub_efi_ipv6_device_path_t): New type.
25418 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
25419 (struct grub_efi_infiniband_device_path): New structure.
25420 (grub_efi_infiniband_device_path_t): New type.
25421 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
25422 (struct grub_efi_uart_device_path): New structure.
25423 (grub_efi_uart_device_path_t): New type.
25424 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
25425 (struct grub_efi_vendor_messaging_device_path): New structure.
25426 (grub_efi_vendor_messaging_device_path_t): New type.
25427 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
25428 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
25429 (struct grub_efi_hard_drive_device_path): New structure.
25430 (grub_efi_hard_drive_device_path_t): New type.
25431 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
25432 (struct grub_efi_cdrom_device_path): New structure.
25433 (grub_efi_cdrom_device_path_t): New type.
25434 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
25435 (struct grub_efi_vendor_media_device_path): New structure.
25436 (grub_efi_vendor_media_device_path_t): New type.
25437 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
25438 (struct grub_efi_file_path_device_path): New structure.
25439 (grub_efi_file_path_device_path_t): New type.
25440 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
25441 (struct grub_efi_protocol_device_path): New structure.
25442 (grub_efi_protocol_device_path_t): New type.
25443 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
25444 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
25445 (struct grub_efi_bios_device_path): New structure.
25446 (grub_efi_bios_device_path_t): New type.
25447 (struct grub_efi_disk_io): New structure.
25448 (grub_efi_disk_io_t): New type.
25449 (struct grub_efi_block_io_media): New structure.
25450 (grub_efi_block_io_media_t): New type.
25451 (struct grub_efi_block_io): New structure.
25452 (grub_efi_block_io_t): New type.
25453
25454 * include/grub/misc.h (grub_stop): Removed.
25455 (grub_exit): New prototype.
25456 (grub_abort): Likewise.
25457
25458 * include/grub/disk.h (enum grub_disk_dev_id): Added
25459 GRUB_DISK_DEVICE_EFIDISK_ID.
25460
25461 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
25462 disk/efi/efidisk.c.
25463 (kernel_syms.lst): Remove the target if an error occurs.
25464
49986a9f 254652006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
25466
25467 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
25468 as it was simply too buggy.
25469
970d3b8a 254702006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
25471
25472 * kern/misc.c (grub_lltoa): New function.
25473 (grub_vsprintf): Added support for the long long suffix,
25474 i.e. "ll".
25475
ff04ec24 254762006-04-20 Hollis Blanchard <hollis@penguinppc.org>
25477
25478 * Makefile.in (LDFLAGS): Add variable.
25479 (LD): Remove variable.
25480 * configure.ac: Add -m32 to LDFLAGS.
25481 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
25482 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
25483 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
25484 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
25485 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
25486 variables.
25487 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
25488 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
25489 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
25490
37e5e1a4 254912006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
25492
25493 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
25494 length for unknown glyph.
25495
c352d8dd 254962006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
25497
2eab1c0d 25498 Add support for pre-loaded modules into the EFI port.
f19dbdb7 25499
2eab1c0d 25500 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
25501 completely. Accept one more argument DIR. The caller has changed.
25502
25503 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
25504
25505 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
25506 (grub_efi_loaded_image_guid): New variable.
25507 (grub_efi_get_loaded_image): New function.
25508 (grub_arch_modules_addr): Likewise.
25509
25510 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
25511 prototype.
25512
25513 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
25514 (struct grub_efi_loaded_image): New structure.
25515 (grub_efi_loaded_image_t): New type.
25516
255172006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25518
c352d8dd 25519 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
25520 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
25521 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
25522
6d01d6b4 255232006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
25524
25525 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
25526
976a4ea0 255272006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
25528
25529 * DISTLIST: Added include/grub/efi/console.h,
25530 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
25531 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
25532
25533 * include/grub/efi/console.h: New file.
25534 * include/grub/efi/time.h: Likewise.
25535 * include/grub/i386/efi/kernel.h: Likewise.
25536 * kern/efi/init.c: Likewise.
25537 * kern/efi/mm.c: Likewise.
25538 * term/efi/console.c: Likewise.
f19dbdb7 25539
976a4ea0 25540 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
25541 (grub_stop): Removed.
25542 (grub_get_rtc): Likewise.
25543 (grub_machine_init): Simply call grub_efi_init.
25544 (grub_machine_fini): Call grub_efi_fini.
25545
25546 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
25547 (grub_efi_output_string): Removed.
25548 (grub_efi_stall): New function.
25549 (grub_stop): Likewise.
25550 (grub_get_rtc): Likewise.
25551
25552 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
25553 (grub_efi_stall): New prototype.
25554 (grub_efi_allocate_pages): Likewise.
25555 (grub_efi_free_pages): Likewise.
25556 (grub_efi_get_memory_map): Likewise.
25557 (grub_efi_mm_init): Likewise.
25558 (grub_efi_mm_fini): Likewise.
25559 (grub_efi_init): Likewise.
25560 (grub_efi_fini): Likewise.
25561
25562 * include/grub/i386/efi/time.h: Do not include
25563 grub/symbol.h. Include grub/efi/time.h.
25564 (GRUB_TICKS_PER_SECOND): Removed.
25565 (grub_get_rtc): Likewise.
25566
25567 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
25568 Added padding. The EFI spec is buggy.
25569 (GRUB_EFI_BLACK): New macro.
25570 (GRUB_EFI_BLUE): Likewise.
25571 (GRUB_EFI_GREEN): Likewise.
25572 (GRUB_EFI_CYAN): Likewise.
25573 (GRUB_EFI_RED): Likewise.
25574 (GRUB_EFI_MAGENTA): Likewise.
25575 (GRUB_EFI_BROWN): Likewise.
25576 (GRUB_EFI_LIGHTGRAY): Likewise.
25577 (GRUB_EFI_BRIGHT): Likewise.
25578 (GRUB_EFI_DARKGRAY): Likewise.
25579 (GRUB_EFI_LIGHTBLUE): Likewise.
25580 (GRUB_EFI_LIGHTGREEN): Likewise.
25581 (GRUB_EFI_LIGHTCYAN): Likewise.
25582 (GRUB_EFI_LIGHTRED): Likewise.
25583 (GRUB_EFI_LIGHTMAGENTA): Likewise.
25584 (GRUB_EFI_YELLOW): Likewise.
25585 (GRUB_EFI_WHITE): Likewise.
25586 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
25587 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
25588 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
25589 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
25590 (GRUB_EFI_BACKGROUND_RED): Likewise.
25591 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
25592 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
25593 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
25594 (GRUB_EFI_TEXT_ATTR): Likewise.
25595
25596 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
25597 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
25598 (kernel_mod_HEADERS): Added efi/time.h.
25599
83709125 256002006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
25601
25602 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
25603 include/grub/efi/api.h, include/grub/efi/console_control.h,
25604 include/grub/efi/efi.h, include/grub/efi/pe32.h,
25605 include/grub/i386/efi/time.h, kern/efi/efi.c,
25606 kern/i386/efi/init.c, kern/i386/efi/startup.S,
25607 and util/i386/efi/grub-mkimage.c.
25608
25609 * Makefile.in (RMKFILES): Added i386-efi.rmk.
25610
25611 * genmk.rb (PModule#rule): Do not export symbols if
25612 #{prefix}_EXPORTS is set to "no".
25613
25614 * conf/i386-efi.mk: New file.
25615 * conf/i386-efi.rmk: Likewise.
25616 * include/grub/efi/api.h: Likewise.
25617 * include/grub/efi/console_control.h: Likewise.
25618 * include/grub/efi/efi.h: Likewise.
25619 * include/grub/efi/pe32.h: Likewise.
25620 * include/grub/i386/efi/time.h: Likewise.
25621 * kern/efi/efi.c: Likewise.
25622 * kern/i386/efi/init.c: Likewise.
25623 * kern/i386/efi/startup.S: Likewise.
25624 * util/i386/efi/grub-mkimage.c: Likewise.
25625
256262006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 25627
25628 * include/grub/script.h: Include <grub/parser.h> and
25629 "grub_script.tab.h".
25630 (struct grub_lexer_param): New struct.
25631 (struct grub_parser_param): Likewise.
25632 (grub_script_create_arglist): Pass the state in an argument.
25633 (grub_script_add_arglist): Likewise.
25634 (grub_script_create_cmdline): Likewise.
25635 (grub_script_create_cmdblock): Likewise.
25636 (grub_script_create_cmdif): Likewise.
25637 (grub_script_create_cmdmenu): Likewise.
25638 (grub_script_add_cmd): Likewise.
25639 (grub_script_arg_add): Likewise.
25640 (grub_script_lexer_ref): Likewise.
25641 (grub_script_lexer_deref): Likewise.
25642 (grub_script_lexer_record_start): Likewise.
25643 (grub_script_lexer_record_stop): Likewise.
25644 (grub_script_mem_record): Likewise.
25645 (grub_script_mem_record_stop): Likewise.
25646 (grub_script_malloc): Likewise.
25647 (grub_script_yylex): Likewise.
25648 (grub_script_yyparse): Likewise.
25649 (grub_script_yyerror): Likewise.
25650 (grub_script_yylex): Likewise.
25651 (grub_script_lexer_init): Return the state.
25652
25653 * normal/lexer.c (grub_script_lexer_state): Removed variable.
25654 (grub_script_lexer_done): Likewise.
25655 (grub_script_lexer_getline): Likewise.
25656 (grub_script_lexer_refs): Likewise.
25657 (script): Likewise.
25658 (newscript): Likewise.
25659 (record): Likewise.
25660 (recording): Likewise.
25661 (recordpos): Likewise.
25662 (recordlen): Likewise.
25663 (grub_script_lexer_init): Return the state instead of setting
25664 global variables.
25665 (grub_script_lexer_ref): Use the newly added argument for state
25666 instead of globals.
25667 (grub_script_lexer_deref): Likewise.
25668 (grub_script_lexer_record_start): Likewise.
25669 (grub_script_lexer_record_stop): Likewise.
25670 (recordchar): Likewise.
25671 (nextchar): Likewise.
25672 (grub_script_yylex2): Likewise.
25673 (grub_script_yylex): Likewise.
25674 (grub_script_yyerror): Likewise.
25675
25676 * normal/parser.y (func_mem): Removed variable.
25677 (menu_entry): Likewise.
25678 (err): Likewise.
25679 (%lex-param): New parser option.
25680 (%parse-param): Likewise.
25681 (script): Always return the AST.
25682 (argument): Pass the state around.
25683 (arguments): Likewise.
25684 (grubcmd): Likewise.
25685 (commands): Likewise.
25686 (function): Likewise.
25687 (menuentry): Likewise.
25688 (if_statement): Likewise.
25689 (if): Likewise.
25690
25691 * normal/script.c (grub_script_memused): Removed variable.
25692 (grub_script_parsed): Likewise.
25693 (grub_script_malloc): Added a state argument. Use that instead of
25694 global variables.
25695 (grub_script_mem_record): Likewise.
25696 (grub_script_mem_record_stop): Likewise.
25697 (grub_script_arg_add): Likewise.
25698 (grub_script_add_arglist): Likewise.
25699 (grub_script_create_cmdline): Likewise.
25700 (grub_script_create_cmdif): Likewise.
25701 (grub_script_create_cmdmenu): Likewise.
25702 (grub_script_add_cmd): Likewise.
25703 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 25704
e2a8c904 257052006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 25706
25707 * normal/command.c (grub_command_init): Remove the title command.
25708
25709 * normal/lexer.c (grub_script_yylex): Renamed from this...
25710 (grub_script_yylex2): ... to this.
25711 (grub_script_yylex): New function. Temporary
25712 introduced to filter some tokens.
25713 (grub_script_yyerror): Print a newline.
25714
25715 * normal/main.c (read_config_file): Output information about the
25716 lines that contain errors. Wait for a key after all lines have
25717 been processed. Don't return an empty menu.
25718
25719 * normal/parser.y (func_mem): Don't initialize.
25720 (menu_entry): Likewise.
25721 (err): New variable.
25722 (script): Don't return anything when an error was encountered.
25723 (ws, returns): Removed rules.
25724 (argument): Disabled concatenated variable support.
25725 (arguments): Remove explicit separators.
25726 (grubcmd): Likewise.
25727 (function): Likewise.
25728 (menuentry): Likewise.
25729 (if): Likewise.
25730 (commands): Likewise. Add error handling.
25731
25732 * normal/script.c (grub_script_create_cmdline): If
25733 `grub_script_parsed' is 0, assume the parser encountered an error.
25734
c9a86192 257352006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
25736
25737 * configure.ac: Add support for EFI. Fix the typo
25738 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
25739
70f3b243 257402006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
25741
25742 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
25743 foreign multibyte characters should be shown correctly.
25744
65f201ad 257452006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
25746
25747 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
25748 calculation.
25749 (read_config_file): Made it to close file before returning.
25750
b4b93674 257512006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
25752
25753 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
25754 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
25755 video/i386/pc/vbefill.c.
25756
25757 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
25758 video/i386/pc/vbefill.c.
25759
25760 * include/grub/video.h (grub_video_blit_format): New enum.
25761 (grub_video_mode_info): Added new member blit_format.
25762 (grub_video_get_blit_format): New function prototype.
25763
25764 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
25765 function prototype.
25766 (grub_video_vbe_map_rgb): Likewise.
25767 (grub_video_vbe_unmap_color): Likewise.
25768
25769 * include/grub/i386/pc/vbeblit.h: New file.
25770
25771 * include/grub/i386/pc/vbefill.h: New file.
25772
25773 * video/video.c (grub_video_get_blit_format): New function.
25774 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
25775 (grub_video_vbe_map_rgb): Likewise.
25776 (grub_video_vbe_unmap_color): Likewise.
25777
25778 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
25779 optimized fills.
25780 (grub_video_vbe_blit_render_target): Changed to use more optimized
25781 blits.
25782 (grub_video_vbe_setup): Added detection for optimized settings.
25783 (grub_video_vbe_create_render_target): Likewise.
25784
25785 * video/i386/pc/vbeblit.c: New file.
25786
25787 * video/i386/pc/vbefill.c: New file.
25788
c2379b9c 257892006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
25790
25791 * font/manager.c (grub_font_get_glyph): Removed font fixup from
25792 here...
25793
25794 * util/unifont2pff.rb: ... and moved it to here. Improved argument
25795 parsing to support both hex and dec ranges. If filename was missing
25796 show usage information.
25797
bd0d7896 257982006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
25799
25800 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
25801 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
25802
25803 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
25804 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
25805 (video_mod_SOURCES): Added.
25806 (video_mod_CFLAGS): Likewise.
25807 (video_mod_LDFLAGS): Likewise.
25808 (gfxterm_mod_SOURCES): Likewise.
25809 (gfxterm_mod_CFLAGS): Likewise.
25810 (gfxterm_mod_LDFLAGS): Likewise.
25811 (videotest_mod_SOURCES): Likewise.
25812 (videotest_mod_CFLAGS): Likewise.
25813 (videotest_mod_LDFLAGS): Likewise.
25814 (vesafb_mod_SOURCES): Removed.
25815 (vesafb_mod_CFLAGS): Likewise.
25816 (vesafb_mod_LDFLAGS): Likewise.
25817 (vga_mod_SOURCES): Likewise.
25818 (vga_mod_CFLAGS): Likewise.
25819 (vga_mod_LDFLAGS): Likewise.
25820
25821 * commands/videotest.c: New file.
25822
25823 * font/manager.c (fill_with_default_glyph): Modified to use
25824 grub_font_glyph.
25825 (grub_font_get_glyph): Likewise.
25826 (fontmanager): Renamed from this...
25827 (font_manager): ... to this.
25828
25829 * include/grub/font.h (grub_font_glyph): Added new structure.
25830 (grub_font_get_glyph): Modified to use grub_font_glyph.
25831
25832 * include/grub/misc.h (grub_abs): Added as inline function.
25833
25834 * include/grub/video.h: New file.
25835
25836 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
25837 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
25838 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
25839 (grub_vbe_get_controller_info): Renamed from this...
25840 (grub_vbe_bios_get_controller_info): ... to this.
25841 (grub_vbe_get_mode_info): Renamed from this...
25842 (grub_vbe_bios_get_mode_info): ... to this.
25843 (grub_vbe_set_mode): Renamed from this...
25844 (grub_vbe_bios_set_mode): ... to this.
25845 (grub_vbe_get_mode): Renamed from this...
25846 (grub_vbe_bios_get_mode): ... to this.
25847 (grub_vbe_set_memory_window): Renamed from this...
25848 (grub_vbe_bios_set_memory_window): ... to this.
25849 (grub_vbe_get_memory_window): Renamed from this...
25850 (grub_vbe_bios_get_memory_window): ... to this.
25851 (grub_vbe_set_scanline_length): Renamed from this...
25852 (grub_vbe_set_scanline_length): ... to this.
25853 (grub_vbe_get_scanline_length): Renamed from this...
25854 (grub_vbe_bios_get_scanline_length): ... to this.
25855 (grub_vbe_set_display_start): Renamed from this...
25856 (grub_vbe_bios_set_display_start): ... to this.
25857 (grub_vbe_get_display_start): Renamed from this...
25858 (grub_vbe_bios_get_display_start): ... to this.
25859 (grub_vbe_set_palette_data): Renamed from this...
25860 (grub_vbe_bios_set_palette_data): ... to this.
25861 (grub_vbe_set_pixel_rgb): Removed.
25862 (grub_vbe_set_pixel_index): Likewise.
25863
25864 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
25865 from this...
25866 (grub_vbe_bios_get_controller_info): ... to this.
25867 (grub_vbe_get_mode_info): Renamed from this...
25868 (grub_vbe_bios_get_mode_info): ... to this.
25869 (grub_vbe_set_mode): Renamed from this...
25870 (grub_vbe_bios_set_mode): ... to this.
25871 (grub_vbe_get_mode): Renamed from this...
25872 (grub_vbe_bios_get_mode): ... to this.
25873 (grub_vbe_set_memory_window): Renamed from this...
25874 (grub_vbe_bios_set_memory_window): ... to this.
25875 (grub_vbe_get_memory_window): Renamed from this...
25876 (grub_vbe_bios_get_memory_window): ... to this.
25877 (grub_vbe_set_scanline_length): Renamed from this...
25878 (grub_vbe_set_scanline_length): ... to this.
25879 (grub_vbe_get_scanline_length): Renamed from this...
25880 (grub_vbe_bios_get_scanline_length): ... to this.
25881 (grub_vbe_set_display_start): Renamed from this...
25882 (grub_vbe_bios_set_display_start): ... to this.
25883 (grub_vbe_get_display_start): Renamed from this...
25884 (grub_vbe_bios_get_display_start): ... to this.
25885 (grub_vbe_set_palette_data): Renamed from this...
25886 (grub_vbe_bios_set_palette_data): ... to this.
25887 (grub_vbe_bios_get_controller_info): Fixed problem with registers
25888 getting corrupted after calling it. Added more pushes and pops.
25889 (grub_vbe_bios_set_mode): Likewise.
25890 (grub_vbe_bios_get_mode): Likewise.
25891 (grub_vbe_bios_get_memory_window): Likewise.
25892 (grub_vbe_bios_set_scanline_length): Likewise.
25893 (grub_vbe_bios_get_scanline_length): Likewise.
25894 (grub_vbe_bios_get_display_start): Likewise.
25895 (grub_vbe_bios_set_palette_data): Likewise.
25896
25897 * normal/cmdline.c (cl_set_pos): Refresh the screen.
25898 (cl_insert): Likewise.
25899 (cl_delete): Likewise.
25900
25901 * term/gfxterm.c: New file.
25902
25903 * term/i386/pc/vesafb.c: Removed file.
25904
25905 * video/video.c: New file.
25906
25907 * video/i386/pc/vbe.c (real2pm): Added new function.
25908 (grub_video_vbe_draw_pixel): Likewise.
25909 (grub_video_vbe_get_video_ptr): Likewise.
25910 (grub_video_vbe_get_pixel): Likewise
25911 (grub_video_vbe_init): Likewise.
25912 (grub_video_vbe_fini): Likewise.
25913 (grub_video_vbe_setup): Likewise.
25914 (grub_video_vbe_get_info): Likewise.
25915 (grub_video_vbe_set_palette): Likewise.
25916 (grub_video_vbe_get_palette): Likewise.
25917 (grub_video_vbe_set_viewport): Likewise.
25918 (grub_video_vbe_get_viewport): Likewise.
25919 (grub_video_vbe_map_color): Likewise.
25920 (grub_video_vbe_map_rgb): Likewise.
25921 (grub_video_vbe_map_rgba): Likewise.
25922 (grub_video_vbe_unmap_color): Likewise.
25923 (grub_video_vbe_fill_rect): Likewise.
25924 (grub_video_vbe_blit_glyph): Likewise.
25925 (grub_video_vbe_blit_bitmap): Likewise.
25926 (grub_video_vbe_blit_render_target): Likewise.
25927 (grub_video_vbe_scroll): Likewise.
25928 (grub_video_vbe_swap_buffers): Likewise.
25929 (grub_video_vbe_create_render_target): Likewise.
25930 (grub_video_vbe_delete_render_target): Likewise.
25931 (grub_video_vbe_set_active_render_target): Likewise.
25932 (grub_vbe_set_pixel_rgb): Remove function.
25933 (grub_vbe_set_pixel_index): Likewise.
25934 (index_color_mode): Remove static variable.
25935 (active_mode): Likewise.
25936 (framebuffer): Likewise.
25937 (bytes_per_scan_line): Likewise.
25938 (grub_video_vbe_adapter): Added new static variable.
25939 (framebuffer): Likewise.
25940 (render_target): Likewise.
25941 (initial_mode): Likewise.
25942 (mode_in_use): Likewise.
25943 (mode_list): Likewise.
25944
5f97350b 259452006-03-10 Marco Gerards <marco@gnu.org>
25946
25947 * configure.ac (AC_INIT): Bumped to 1.93.
25948
25949 * DISTLIST: Added `include/grub/hfs.h'.
25950
a3c5c6f8 259512006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
25952
25953 * boot/i386/pc/boot.S (general_error): Before looping, try INT
25954 18H, which might help the BIOS falling back to next boot media.
25955
6de53d26 259562006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
25957
25958 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
25959 Poe Chen <poe.poechen@gmail.com>.
25960
77c4a393 259612006-01-17 Marco Gerards <marco@gnu.org>
25962
25963 * include/grub/normal.h: Include <grub/script.h>.
25964 (grub_command_list): Removed struct.
25965 (grub_command_list_t): Removed type.
25966 (grub_menu_entry): Remove members `num' and `command_list'. Add
25967 members `commands' and `sourcecode'.
25968 * include/grub/script.h: Add inclusion guards.
25969 (grub_script_cmd_menuentry): New struct.
25970 (grub_script_execute_menuentry): New prototype.
25971 (grub_script_lexer_record_start): Likewise.
25972 (grub_script_lexer_record_stop): Likewise.
25973 * normal/execute.c (grub_script_execute_menuentry): New function.
25974 * normal/lexer.c (record, recording, recordpos, recordlen): New
25975 variables.
25976 (grub_script_lexer_record_start): New function.
25977 (grub_script_lexer_record_stop): Likewise.
25978 (recordchar): Likewise.
25979 (nextchar): Likewise.
25980 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
25981 2048 as the buffer size. Add the tokens `menuentry' and `@'.
25982 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
25983 (current_menu): New variable.
25984 (free_menu): Mainly rewritten.
25985 (grub_normal_menu_addentry): New function.
25986 (read_config_file): Rewritten.
25987 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 25988 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 25989 the menu entry.
25990 (run): Mainly rewritten.
25991 * normal/parser.y (menu_entry): New variable.
25992 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
25993 (menuentry): New rule.
25994 (command): Add `menuentry'.
25995 (if_statement): Allow additional returns before `fi'.
25996 * normal/script.c (grub_script_create_cmdmenu): New function.
25997
144f1f98 259982006-01-03 Marco Gerards <marco@gnu.org>
25999
26000 * INSTALL: GNU Bison is required.
26001 * configure.ac: Rewritten the test to detect Bison.
26002 * Makefile.in (YACC): New variable. Reported by Xun Sun
26003 <xun.sun.cn@gmail.com>.
26004
af4b2d89 260052006-01-03 Marco Gerards <marco@gnu.org>
26006
26007 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
26008 the HFS+ filesystem to filesystem blocks.
26009 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
26010 GCC warning is silenced.
26011
15643b71 260122006-01-03 Marco Gerards <marco@gnu.org>
26013
26014 * partmap/apple.c (apple_partition_map_iterate): Convert the data
26015 read from disk from big endian to host byte order.
26016
00905879 260172006-01-03 Hollis Blanchard <hollis@penguinppc.org>
26018
26019 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
26020 documentation.
26021 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
26022 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
26023 embedded HFS+ filesystem.
26024 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
26025 (grub_hfs_sblock): Move from here...
26026 * include/grub/hfs.h: To here... New file.
26027 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
26028 documentation.
26029 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
26030 New macros.
26031 (grub_hfsplus_volheader): Change type of member `magic' to
26032 `grub_uint16_t'.
26033 (grub_hfsplus_data): Add new member `embedded_offset'.
26034 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
26035 returned block.
26036 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
26037 Calculate the offset.
26038
8899bc3e 260392005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26040
26041 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
26042 Removed.
26043 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
26044
ae8c0277 260452005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26046
26047 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
26048 ENV->NAME is NULL after allocating ENV->VALUE.
26049
07084456 260502005-12-25 Marco Gerards <marco@gnu.org>
26051
26052 * kern/env.c (grub_env_set): Rewritten the error handling code.
26053
4750f5f1 260542005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26055
26056 * geninit.sh: Made more robust, and more portable.
26057
50214199 260582005-12-25 Marco Gerards <marco@gnu.org>
26059
26060 Add support for Apple HFS+ filesystems.
f19dbdb7 26061
50214199 26062 * fs/hfsplus.c: New file.
26063
26064 * DISTLIST: Added `fs/hfsplus.c'.
26065
26066 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
26067 (hfsplus_mod_SOURCES): New variable.
26068 (hfsplus_mod_CFLAGS): Likewise.
26069 (hfsplus_mod_LDFLAGS): Likewise.
26070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
26071 (grub_setup_SOURCES): Likewise.
26072 (grub_mkdevicemap_SOURCES): Likewise.
26073 (grub_emu_SOURCES): Likewise.
26074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26075
26076 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
26077
26078 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
26079
befaed6c 260802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26081
26082 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
26083 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
26084 include/grub/parser.h, include/grub/script.h, kern/parser.c,
26085 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
26086 normal/lexer.c, normal/parser.y, normal/script.c, and
26087 partmap/gpt.c.
26088 Removed kern/sparc64/cache.c.
26089
26090 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
26091 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
26092 grub_emu_init.c.
26093
26094 * configure.ac (AC_INIT): Bumped to 1.92.
26095
6a124103 260962005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
26097
26098 * kern/err.c (grub_error_push): Added new function to support error
26099 stacks.
26100 (grub_error_pop): Likewise.
26101 (grub_error_stack_items): New local variable to support error stacks.
26102 (grub_error_stack_pos): Likewise.
26103 (grub_error_stack_assert): Likewise.
26104 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
26105 stack depth.
26106 (grub_print_error): Added support to print errors from error stack.
26107
26108 * include/grub/err.h (grub_error_push): Added function prototype.
26109 (grub_error_pop): Likewise.
26110
be973c1b 261112005-12-09 Hollis Blanchard <hollis@penguinppc.org>
26112
26113 * configure.ac: Accept `powerpc64' as host_cpu.
26114 (amd64): Rename to `biarch32'.
26115
26116 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
26117 non-cacheline-aligned addresses.
26118
26119 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
26120 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
26121 if `size' is non-zero.
26122
b04216ab 261232005-12-03 Marco Gerards <mgerards@xs4all.nl>
26124
26125 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
26126 and `cd' to make sure the filename is not prefixed with a
26127 directory name.
26128 (pkgdata_MODULES): Add `gpt.mod'.
26129 (gpt_mod_SOURCES): New variable.
26130 (gpt_mod_CFLAGS): Likewise.
26131 (gpt_mod_LDFLAGS): Likewise.
26132
26133 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
26134
26135 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
26136 New macro.
26137
26138 * partmap/gpt.c: New file.
26139
26140 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
26141 GPT partition map is detected.
26142
41730ed9 261432005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
26144
26145 * commands/i386/pc/play.c: New file.
26146 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
26147 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
26148 macros.
f19dbdb7 26149
95dc3643 261502005-11-27 Marco Gerards <mgerards@xs4all.nl>
26151
26152 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
26153 ((unused))' to silence gcc warning.
26154
1569ec51 261552005-11-26 Hollis Blanchard <hollis@penguinppc.org>
26156
26157 * configure.ac: Correct `AC_PROG_YACC' test.
26158
9abde152 261592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26160
26161 * util/powerpc/ieee1275/grub-install.in: Run the mount point
26162 check before installing files.
26163
44b83271 261642005-11-22 Mike Small <smallm@panix.com>
26165
26166 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
26167 number regex so multidigit numbers are recognized correctly.
26168
261692005-11-22 Mike Small <smallm@panix.com>
26170
26171 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
26172 debugging message before attempting to claim memory.
26173 (grub_rescue_cmd_initrd): Add a claim debugging message and try
26174 multiple addresses in case of failure.
26175
9c12956b 261762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26177
26178 * term/tparm.c (get_space): Remove empty `if' statement.
26179
26180 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
26181
26182 * kern/parser.c (check_varstate): Rename `state' to 's'.
26183
aeaf81d9 261842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26185
26186 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
26187 variable definitions to the beginning of each function. Sort stack
26188 variables by size.
26189 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
26190 `buf' argument to `char *'.
26191
79bbb63f 261922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26193
26194 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
26195 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 26196 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 26197 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26198 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26199 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26200 configfile.mod, search.mod, gzio.mod and test.mod.
26201 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26202 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26203 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26204 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26205 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26206 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26207 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
26208 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
26209 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
26210 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
26211 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26212 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26213 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
26214 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
26215 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
26216 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
26217 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26218 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
26219 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
26220 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
26221 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
26222 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
26223 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
26224
26225 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
26226 `grep --include'.
26227 (pkgdata_MODULES): Add test.mod.
26228
233b1628 262292005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26230
26231 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
26232 appending to variables with "+=".
26233 (PModule): Use full pathname to generate *.lst filenames.
26234
26235 * Makefile.in: Fixed list rules moved from genmk.rb.
26236 (.DELETE_ON_ERROR): New special target.
26237 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
26238
26239 * conf/i386-pc.rmk: Include conf/common.mk.
26240 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 26241 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 26242 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26243 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26244 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26245 configfile.mod, search.mod, gzio.mod and test.mod.
26246 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26247 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26248 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26249 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26250 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26251 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26252 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
26253 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
26254 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
26255 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
26256 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26257 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26258 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
26259 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
26260 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
26261 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
26262 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26263 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
26264 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
26265 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
26266 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
26267 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
26268 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
26269 here...
26270 * conf/common.rmk: ... to here. New file.
26271
26272 * conf/common.mk: New file.
26273
16f820c8 262742005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
26275
26276 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
26277 (grub_script.tab.c): ... here.
26278
26279 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
26280 (grub_script.tab.c): ... here.
26281
26282 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
26283 (grub_script.tab.c): ... here.
26284
26285 * normal/command.c (grub_command_find): Fixed a memory leak of
26286 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
26287
63ba1554 262882005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26289
26290 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
26291 "@" which marks the start of a comment on ARM.
26292 (VARIABLE): Likewise.
26293
7f67dc13 262942005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26295
79bbb63f 26296 Add support for Linux/ADFS partition tables.
7f67dc13 26297
26298 * partmap/acorn.c: New file.
26299
26300 * include/grub/acorn_filecore.h: Likewise.
26301
26302 * DISTLIST: Added `partmap/acorn.c' and
26303 `include/grub/acorn_filecore.h'.
f19dbdb7 26304
7f67dc13 26305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26306 `partmap/acorn.c'.
26307 (pkgdata_MODULES): Add `acorn.mod'.
26308 (acorn_mod_SOURCES): New variable.
26309 (acorn_mod_CFLAGS): Likewise.
26310
26311 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
26312 `partmap/acorn.c'.
26313 (pkgdata_MODULES): Add `acorn.mod'.
26314 (acorn_mod_SOURCES): New variable.
26315 (acorn_mod_CFLAGS): Likewise.
26316
26317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
26318 (pkgdata_MODULES): Add `acorn.mod'.
26319 (acorn_mod_SOURCES): New variable.
26320 (acorn_mod_CFLAGS): Likewise.
26321 (acorn_mod_LDFLAGS): Likewise.
26322
26323 * include/types.h (grub_disk_addr_t): New typedef.
26324
6d099807 263252005-11-13 Marco Gerards <mgerards@xs4all.nl>
26326
26327 * geninit.sh: New file.
26328
26329 * geninitheader.sh: Likewise.
26330
26331 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
26332 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
26333 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
26334 * commands/configfile.c (grub_configfile_init)
26335 (grub_configfile_fini): Likewise.
26336 * commands/default.c (grub_default_init, grub_default_fini):
26337 Likewise.
26338 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
26339 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
26340 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
26341 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
26342 Likewise.
26343 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
26344 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
26345 Likewise.
26346 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 26347 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 26348 Likewise.
26349 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
26350 Likewise.
fe6b695a 26351 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 26352 Likewise.
26353 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
26354 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
26355 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
26356 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
26357 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
26358 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
26359 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
26360 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
26361 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
26362 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
26363 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
26364 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
26365 * partmap/amiga.c (grub_amiga_partition_map_init)
26366 (grub_amiga_partition_map_fini): Likewise.
26367 * partmap/apple.c (grub_apple_partition_map_init)
26368 (grub_apple_partition_map_fini): Likewise.
26369 * partmap/pc.c (grub_pc_partition_map_init)
26370 (grub_pc_partition_map_fini): Likewise.
26371 * partmap/sun.c (grub_sun_partition_map_init,
26372 grub_sun_partition_map_fini): Likewise.
26373 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
26374 Likewise.
26375
26376 * util/grub-emu.c: Include <grub_modules_init.h>.
26377 (main): Don't initialize and de-initialize any modules directly,
26378 use `grub_init_all' and `grub_fini_all' instead.
26379
26380 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
26381 `grub_vesafb_mod_init'.
26382 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
26383 all users.
26384 * term/i386/pc/vga.c (grub_vga_init): Renamed to
26385 `grub_vga_mod_init'. Updated all users.
26386 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 26387
6d099807 26388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
26389 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
26390 rules.
26391
26392 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
26393 Generate a function to initialize the module in utilities.
26394 Updated all callers.
26395 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
26396 initialize the module in utilities. Updated all callers.
26397
9046bcf0 263982005-11-09 Hollis Blanchard <hollis@penguinppc.org>
26399
26400 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
26401 escape sequence and a literal ^L to clear the screen.
26402
26403 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
26404 when returning from Open Firmware.
26405
d13ea639 264062005-11-09 Hollis Blanchard <hollis@penguinppc.org>
26407
26408 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
26409 (grub_ofconsole_height): Likewise.
26410 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
26411 manually insert a '\n'.
26412 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
26413 `grub_ofconsole_height'. Return early if these are already set.
26414
a8fcf206 264152005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
26416
26417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
26418 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
26419 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
26420 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
26421 and `normal/script.c'.
26422 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
26423 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
26424 (test_mod_SOURCES): New variable.
26425 (test_mod_CFLAGS): Likewise.
26426 (test_mod_LDFLAGS): Likewise.
26427 (pkgdata_MODULES): Add `test.mod'.
26428 (grub_script.tab.c): New rule.
26429 (grub_script.tab.h): Likewise.
26430
b6b32745 264312005-11-07 Marco Gerards <mgerards@xs4all.nl>
26432
26433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26434 `commands/test.c', `normal/execute.c', `normal/lexer.c',
26435 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
26436 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
26437 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
26438 (test_mod_SOURCES): New variable.
26439 (test_mod_CFLAGS): Likewise.
26440 (pkgdata_MODULES): Add `test.mod'.
26441 (grub_script.tab.c): New rule.
26442 (grub_script.tab.h): Likewise.
26443
daac212a 264442005-11-06 Marco Gerards <mgerards@xs4all.nl>
26445
26446 Add initial scripting support.
26447
26448 * commands/test.c: New file.
26449 * include/grub/script.h: Likewise.
26450 * normal/execute.c: Likewise.
26451 * normal/function.c: Likewise.
26452 * normal/lexer.c: Likewise.
26453 * normal/parser.y: Likewise.
26454 * normal/script.c: Likewise.
26455
26456 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 26457
daac212a 26458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
26459 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
26460 `normal/function.c' and `normal/script.c'.
26461 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
26462 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 26463 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
26464 variables.
daac212a 26465 (pkgdata_MODULES): Add `test.mod'.
26466 (grub_script.tab.c): New rule.
26467 (grub_script.tab.h): Likewise.
26468
26469 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
26470
26471 * include/grub/normal.h (grub_test_init): New prototype.
26472 (grub_test_fini): Likewise.
f19dbdb7 26473
daac212a 26474 * normal/command.c: Include <grub/script.h>.
26475 (grub_command_execute): Rewritten.
f19dbdb7 26476
daac212a 26477 * util/grub-emu.c (main): Call `grub_test_init' and
26478 `grub_test_fini'.
26479
77500b2b 264802005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26481
26482 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
26483 to 0.
26484 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
26485 there are no pending characters.
26486
e45deb9e 264872005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26488
26489 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
26490 `grub_strndup' to drop device arguments. Replace unnecessary
26491 `grub_strndup' with `grub_strdup'.
26492
4ce32619 264932005-11-03 Hollis Blanchard <hollis@penguinppc.org>
26494
26495 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
26496 `debug' environment variable has been set.
26497
264982005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 26499
4ce32619 26500 * Makefile.in (install-local): Use $(DATA).
26501 (uninstall): Likewise.
26502 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
26503 (sbin_UTILITIES): ... to here.
26504 (sbin_SCRIPTS): New variable.
26505 (grub_install_SOURCES): New variable.
26506 * util/powerpc/ieee1275/grub-install.in: New file.
26507 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
26508 variable.
26509 (add_segments): Call `grub_util_get_path'.
26510
25fe6f03 265112005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26512
26513 From Timothy Baldwin:
26514 * commands/ls.c (grub_ls_list_files): Close FILE with
26515 grub_file_close.
26516 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
26517
04ccf3ec 265182005-10-24 Marco Gerards <mgerards@xs4all.nl>
26519
26520 * include/grub/parser.h: New file.
26521
26522 * kern/parser.c: Likewise.
26523
26524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
26525 (grub_setup_SOURCES): Likewise.
26526 (grub_probefs_SOURCES): Likewise.
26527 (grub_emu_SOURCES): Likewise.
26528 (kernel_img_HEADERS): Add `parser.h'.
26529
26530 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
26531 (grub_emu_SOURCES): Add `kern/parser.c'.
26532 (grubof_SOURCES): Likewise.
26533
26534 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
26535 (grubof_SOURCES): Add `kern/parser.c'.
26536
26537 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
26538
26539 * kern/misc.c (grub_split_cmdline): Removed function.
26540
26541 * kern/rescue.c: Include <grub/parser.h>.
26542 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
26543 of `grub_split_cmdline'.
26544
26545 * normal/command.c: Include <grub/parser.h>.
26546 (grub_command_execute): Use `grub_parser_split_cmdline' instead
26547 of `grub_split_cmdline'.
26548
26549 * normal/completion.c: Include <grub/parser.h>.
26550 (cmdline_state): New variable.
26551 (iterate_dir): End the filename with a quote depending on the
26552 command line state.
26553 (get_state): new function.
26554 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
26555 split the arguments and determine the current argument. When the
26556 argument string is not quoted, escape all spaces.
26557
6d8f4b0e 265582005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26559
26560 * normal/sparc64/setjmp.S: New file.
26561
15cf03ed 265622005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26563
26564 * include/grub/sparc64/libgcc.h: New file.
26565 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
26566 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
26567 normal/sparc64/setjmp.c.
26568
03e8661a 265692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
26570
26571 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
26572 * kern/sparc64/cache.S: New file.
26573 * kern/sparc64/cache.c: Removed.
26574 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
26575 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
26576 -mtune=ultrasparc.
26577 (COMMON_LDFLAGS): Add -melf64_sparc.
26578 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
26579 (grubof_SOURCES): Use cache.S instead of cache.c.
26580 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
26581 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
26582 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
26583 commented though.
26584 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
26585 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
26586 (linux_mod_CFLAGS): Commented out.
26587 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
26588 out because module isn't built.
26589 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
26590 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
26591 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
26592 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
26593 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
26594 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
26595 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
26596 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
26597 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
26598 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
26599 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26600 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26601 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
26602 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
26603
34eeec8a 266042005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
26605
26606 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
26607 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
26608 longer, because HFS should not be used on PC.
26609
708367a3 266102005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26611
26612 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
26613 consistently within the loop.
26614
6fa1251a 266152005-10-15 Marco Gerards <mgerards@xs4all.nl>
26616
26617 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
26618 directory can not be read.
26619
4801580b 266202005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26621
26622 * configure.ac (AC_INIT): Increase the version number to 1.91.
26623
26624 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
26625 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
26626 term/i386/pc/serial.c.
26627
219ad426 266282005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26629
26630 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
26631 file size must be permitted.
26632
26633 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
26634 between %ah and %al.
26635
688e5699 266362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26637
26638 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
26639 grub_uint64_t.
26640 Call the hook with a NUL-terminated filename.
26641 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
26642 grub_cpu_to_be32.
26643
26644 * kern/term.c (cursor_state): New variable.
26645 (grub_term_set_current): Reset the cursor state on a new
26646 terminal.
26647 (grub_setcursor): Rewritten to use CURSOR_STATE.
26648 (grub_getcursor): New function.
26649
26650 * include/grub/term.h (grub_getcursor): New prototype.
26651
26652 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
26653 integers on ARM. Reported by Timothy Baldwin
26654 <T.E.Baldwin99@members.leeds.ac.uk>.
26655
bb34586c 266562005-10-11 Marco Gerards <mgerards@xs4all.nl>
26657
26658 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
26659 allocated.
26660 (grub_sfs_dir): Likewise.
26661
9a909877 266622005-10-09 Marco Gerards <mgerards@xs4all.nl>
26663
26664 Add support for the SFS filesystem.
26665
26666 * fs/sfs.c: New file.
26667
26668 * DISTLIST: Added `fs/sfs.c'.
26669
26670 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
26671 (grub_probefs_SOURCES): Likewise.
26672 (grub_emu_SOURCES): Likewise.
26673 (pkgdata_MODULES): Add `sfs.mod'.
26674 (sfs_mod_SOURCES): New variable.
26675 (sfs_mod_CFLAGS): Likewise.
26676 (sfs_mod_LDFLAGS): Likewise.
26677
26678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
26679 (pkgdata_MODULES): Add `sfs.mod'.
26680 (sfs_mod_SOURCES): New variable.
26681 (sfs_mod_CFLAGS): Likewise.
26682
26683 * util/grub-emu.c (main): Call `grub_sfs_init' and
26684 `grub_sfs_fini'.
26685
26686 * include/grub/fs.h (grub_sfs_init): New prototype.
26687 (grub_sfs_fini): Likewise.
26688
57bdbde3 266892005-10-07 Marco Gerards <mgerards@xs4all.nl>
26690
26691 Add support for the AFFS filesystem.
26692
26693 * fs/affs.c: New file.
26694
26695 * DISTLIST: Added `fs/affs.c'.
26696
26697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
26698 (grub_probefs_SOURCES): Likewise.
26699 (grub_emu_SOURCES): Likewise.
26700 (pkgdata_MODULES): Add `affs.mod'.
26701 (affs_mod_SOURCES): New variable.
26702 (affs_mod_CFLAGS): Likewise.
26703 (affs_mod_LDFLAGS): Likewise.
26704
26705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
26706 (pkgdata_MODULES): Add `affs.mod'.
26707 (affs_mod_SOURCES): New variable.
26708 (affs_mod_CFLAGS): Likewise.
26709
26710 * util/grub-emu.c (main): Call `grub_affs_init' and
26711 `grub_affs_fini'.
26712
26713 * include/grub/fs.h (grub_affs_init): New prototype.
26714 (grub_affs_fini): Likewise.
26715
047b67e0 267162005-10-01 Marco Gerards <mgerards@xs4all.nl>
26717
26718 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
26719
59b8208a 267202005-10-01 Marco Gerards <mgerards@xs4all.nl>
26721
26722 * configure.ac: Accept `x86_64' as host_cpu. In that case add
26723 `-m32' to CFLAGS.
26724
26725 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
26726 linking.
f19dbdb7 26727
59b8208a 26728 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
26729 (COMMON_LDFLAGS): New variable.
26730 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
26731 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
26732 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
26733 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
26734 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
26735 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
26736 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
26737 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
26738 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
26739 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
26740 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
26741 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
26742 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
26743 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
26744 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
26745 variables.
26746 (normal_mod_ASFLAGS): Add `-m32'.
26747
26748 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
26749 (grub_host_size_t, grub_host_ssize_t): New types.
26750 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 26751 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 26752 `GRUB_HOST_SIZEOF_VOID_P'.
26753
26754 * include/grub/kernel.h (struct grub_module_header): Type of
26755 member offset changed to `grub_host_off_t'. Type of member size
26756 changed to `grub_host_size_t'.
26757 (struct grub_module_info): Type of member offset changed to
26758 `grub_host_off_t'. Type of member size changed to
26759 `grub_host_size_t'.
26760
b4093103 267612005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
26762
26763 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 26764
b4093103 26765 * kern/i386/pc/startup.S (multiboot_header): New label.
26766 (multiboot_entry): Likewise.
26767 (multiboot_trampoline): Likewise.
26768
26769 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26770 Increased to 0x4A0.
26771
26772 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
26773 put parentheses after a question mark.
26774 [!GRUB_UTIL] (my_mod): New variable.
26775
26776 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
26777
b2499b29 267782005-09-28 Marco Gerards <mgerards@xs4all.nl>
26779
26780 Adds support for the XFS filesystem. Btrees are not supported
26781 yet.
26782
26783 * fs/xfs.c: New file.
26784
26785 * DISTLIST: Added `fs/xfs.c'.
26786
26787 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
26788 (grub_probefs_SOURCES): Likewise.
26789 (grub_emu_SOURCES): Likewise.
26790 (pkgdata_MODULES): Add `xfs.mod'.
26791 (xfs_mod_SOURCES): New variable.
26792 (xfs_mod_CFLAGS): Likewise.
26793
26794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
26795 (pkgdata_MODULES): Add `xfs.mod'.
26796 (xfs_mod_SOURCES): New variable.
26797 (xfs_mod_CFLAGS): Likewise.
26798
26799 * util/grub-emu.c (main): Call `grub_xfs_init' and
26800 `grub_xfs_fini'.
26801
26802 * include/grub/fs.h (grub_xfs_init): New prototype.
26803 (grub_xfs_fini): Likewise.
26804
f19dbdb7 26805
83d37a62 268062005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
26807
26808 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
26809 color modes, allow greater than 16 colors to be configured as
26810 a default palette.
26811
47d2d65e 268122005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26813
26814 * normal/completion.c (complete_arguments): Add the qualifier
26815 const into OPTIONS.
26816
26817 From Omniflux <omniflux+lists@omniflux.com>:
26818 * include/grub/terminfo.h: New file.
26819 * include/grub/tparm.h: Likewise.
26820 * include/grub/i386/pc/serial.h: Likewise.
26821 * term/terminfo.c: Likewise.
26822 * term/tparm.c: Likewise.
26823 * term/i386/pc/serial.c: Likewise.
26824 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
26825 serial.mod.
26826 (terminfo_mod_SOURCES): New variable.
26827 (terminfo_mod_CFLAGS): Likewise.
26828 (serial_mod_SOURCES): Likewise.
26829 (serial_mod_CFLAGS): Likewise.
26830
48b671ff 268312005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
26832
26833 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
26834 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
26835 and kern/powerpc/ieee1275/cmain.c, respectively.
26836
26837 * boot/powerpc/ieee1275/crt0.S: Moved to ...
26838 * kern/powerpc/ieee1275/crt0.S: ... here.
26839
26840 * boot/powerpc/ieee1275/cmain.c: Moved to ...
26841 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 26842
48b671ff 26843 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
26844 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
26845 instead of boot/powerpc/ieee1275/crt0.S and
26846 boot/powerpc/ieee1275/cmain.c, respectively.
26847
26848 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
26849 sectors. It was not used anyway.
26850
09fc77a7 268512005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26852
26853 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
26854 `unused parameter' warning.
26855
003789c7 268562005-08-30 Hollis Blanchard <hollis@penguinppc.org>
26857
26858 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
26859 function.
26860 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
26861 getcharwidth.
26862
67f44c86 268632005-08-28 Marco Gerards <metgerards@student.han.nl>
26864
26865 * include/grub/normal.h (enum grub_completion_type): Added
26866 `GRUB_COMPLETION_TYPE_ARGUMENT'.
26867
26868 * normal/cmdline.c (print_completion): Handle
26869 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
26870 * normal/menu_entry.c (store_completion): Likewise.
26871
26872 * normal/completion.c (complete_arguments): New function.
26873 (grub_normal_do_completion): Call `complete_arguments' when the
26874 current words start with a dash.
26875
0b5abe02 268762005-08-27 Marco Gerards <metgerards@student.han.nl>
26877
26878 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
26879 `gzio.mod' instead of `io.mod').
26880
d9864ee1 268812005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
26882
26883 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
26884 (DISTDIRS): Added io and video.
26885 Rewrite the search routine to make an output consistently.
26886
26887 * DISTLIST: Added conf/sparc64-ieee1275.mk,
26888 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
26889 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
26890 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
26891 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
26892 util/powerpc/ieee1275/misc.c.
f19dbdb7 26893
d9864ee1 26894 * include/grub/gzio.h: New file.
26895 * io/gzio.c: Likewise.
f19dbdb7 26896
d9864ee1 26897 * kern/file.c (grub_file_close): Call grub_device_close only if
26898 FILE->DEVICE is not NULL.
26899
26900 * include/grub/mm.h [!NULL] (NULL): New macro.
26901
26902 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
26903
26904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
26905 (pkgdata_MODULES): Added gzio.mod.
26906 (gzio_mod_SOURCES): New variable.
26907 (gzio_mod_CFLAGS): Likewise.
26908
26909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
26910 (pkgdata_MODULES): Added gzio.mod.
26911 (gzio_mod_SOURCES): New variable.
26912 (gzio_mod_CFLAGS): Likewise.
26913
26914 * commands/cat.c: Include grub/gzio.h.
26915 (grub_cmd_cat): Use grub_gzfile_open instead of
26916 grub_file_open.
f19dbdb7 26917
d9864ee1 26918 * commands/cmp.c: Include grub/gzio.h.
26919 (grub_cmd_cmp): Use grub_gzfile_open instead of
26920 grub_file_open.
26921
26922 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
26923 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
26924 grub_file_open.
26925 (grub_rescue_cmd_module): Likewise.
26926
fa46f4b5 269272005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26928
26929 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
26930 kern/sparc64/ieee1275/init.c because it contains _start.
26931 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
26932
e9211b5d 269332005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
26934
26935 * configure.ac: Add support for sparc64 host with ieee1275
26936 firmware.
26937 * configure: Generated from configure.ac.
26938 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
26939 instead of int.
26940 (grub_ofdisk_read): Likewise.
26941 (grub_ofdisk_open): Use %p to print pointer values, and cast the
26942 pointers as (void *) to remove a warning.
26943 (grub_ofdisk_close): Likewise.
26944 (grub_ofdisk_read): Likewise.
26945 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
26946 returns, so make it return void to remove a warning.
26947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
26948 Corresponding prototype change.
26949 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
26950 values, and cast the pointers as (void *) to remove a warning.
26951 (grub_mm_dump): Likewise.
26952 * conf/sparc64-ieee1275.mk: New file.
26953 * conf/sparc64-ieee1275.rmk: Likewise.
26954 * include/grub/sparc64/setjmp.h: Likewise.
26955 * include/grub/sparc64/types.h: Likewise.
26956 * include/grub/sparc64/ieee1275/console.h: Likewise.
26957 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26958 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26959 * include/grub/sparc64/ieee1275/time.h: Likewise.
26960 * kern/sparc64/cache.c: Likewise.
26961 * kern/sparc64/dl.c: Likewise.
26962 * kern/sparc64/ieee1275/init.c: Likewise.
26963 * kern/sparc64/ieee1275/openfw.c: Likewise.
26964
385c6a92 269652005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26966
26967 * util/console.c (grub_ncurses_putchar): If C is greater than
26968 0x7f, set C to a question mark.
26969 (grub_ncurses_getcharwidth): New function.
26970 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
26971 getcharwidth.
26972
26973 * normal/menu.c (print_entry): Made aware of Unicode. First,
26974 convert TITLE to UCS-4, and predict the cursor position by
26975 grub_getcharwidth.
26976
26977 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
26978 const to SRC.
26979 * kern/misc.c (grub_utf16_to_utf8): Likewise.
26980
16ccb8b1 269812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26982
26983 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
26984 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26985 grub_strcat.
26986
26987 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
26988 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
26989 grub_strcpy and grub_strlen. Take it into account that a space
26990 character is inserted as a delimiter.
26991
6a85ce79 269922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
26993
26994 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 26995 invalid magic in the error.
6a85ce79 26996
26997 * commands/search.c: New file.
f19dbdb7 26998
6a85ce79 26999 * util/grub-emu.c (main): Call grub_search_init and
27000 grub_search_fini.
27001
27002 * kern/rescue.c (grub_rescue_print_disks): Removed.
27003 (grub_rescue_print_devices): New function.
27004 (grub_rescue_cmd_ls): Use grub_device_iterate with
27005 grub_rescue_print_devices instead of grub_disk_dev_iterate with
27006 grub_rescue_print_disks.
27007
27008 * kern/partition.c (grub_partition_iterate): Return the result of
27009 PARTMAP->ITERATE instead of GRUB_ERRNO.
27010
27011 * kern/device.c: Include grub/partition.h.
27012 (grub_device_iterate): New function.
27013
27014 * include/grub/partition.h (grub_partition_iterate): Return int
27015 instead of grub_err_t.
27016
27017 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
27018 prototype.
27019 [GRUB_UTIL] (grub_search_fini): Likewise.
27020
27021 * include/grub/device.h (grub_device_iterate): New prototype.
27022
27023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27024 commands/search.c.
27025 (pkgdata_MODULES): Added search.mod.
27026 (search_mod_SOURCES): New variable.
27027 (search_mod_CFLAGS): Likewise.
27028
27029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
27030 (pkgdata_MODULES): Added search.mod.
27031 (search_mod_SOURCES): New variable.
27032 (search_mod_CFLAGS): Likewise.
27033
27034 * commands/ls.c (grub_ls_list_disks): Renamed to ...
27035 (grub_ls_list_devices): ... this, and use grub_device_iterate.
27036 All callers changed.
27037
27038 * DISTLIST: Added commands/search.c.
27039
ef095434 270402005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27041
27042 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
27043 conversion.
27044 (grub_getcharwidth): New function.
27045
27046 * kern/misc.c (grub_utf8_to_ucs4): New function.
27047
27048 * include/grub/term.h (struct grub_term): Added a new member
27049 "getcharwidth".
27050 (grub_getcharwidth): New prototype.
27051
27052 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
27053
27054 * term/i386/pc/console.c (map_char): New function. Segregated from
27055 grub_console_putchar.
27056 (grub_console_putchar): Use map_char.
27057 (grub_console_getcharwidth): New function.
27058 (grub_console_term): Specified grub_console_getcharwidth as
27059 getcharwidth.
27060
27061 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
27062 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
27063
27064 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
27065 GRUB_ERRNO.
27066 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
27067 on grub_strtoul completely.
27068 (write_char): Declare local variables in the beginning of the
27069 function.
27070 (grub_vesafb_getcharwidth): New function.
27071 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
27072 getcharwidth.
27073
1f0a95e4 270742005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
27075
27076 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
27077 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
27078 commands/i386/pc/vbetest.c.
27079
27080 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
27081 call grub_vbe_get_controller_info again, because the returned
27082 information is volatile.
27083 (grub_vbe_set_video_mode): Mostly rewritten.
27084 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
27085 grub_vbe_status_t correctly.
27086 (grub_vbe_get_video_mode_info): Likewise.
27087 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
27088 several if statements.
27089
27090 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
27091 * commands/i386/pc/vbeinfo.c: ... this.
27092
27093 * commands/i386/pc/vbe_test.c: Renamed to ...
27094 * commands/i386/pc/vbetest.c: ... this.
27095
27096 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
27097 ...
27098 (grub_cmd_vbeinfo): ... this. Save video modes before
27099 iterating. Skip a video mode, if it is not available, not enough
27100 information is given or it is monochrome. Show the memory
27101 model. Leave the interpretation of MODEVAR to grub_strtoul
27102 completely.
27103 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
27104 (GRUB_MOD_FINI): Likewise.
27105
27106 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
27107 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
27108 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
27109 duplicated grub_env_get. Leave the interpretation of MODEVAR to
27110 grub_strtoul completely.
27111 (real2pm): Removed.
27112 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
27113 (GRUB_MOD_FINI): Likewise.
27114
27115 * normal/misc.c: Include grub/mm.h.
27116
27117 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
27118 vbe_list_modes with vbetest.mod and vbeinfo.mod.
27119 (vbe_list_modes_mod_SOURCES): Removed.
27120 (vbe_list_modes_mod_CFLAGS): Likewise.
27121 (vbe_test_mod_SOURCES): Likewise.
27122 (vbe_test_mod_CFLAGS): Likewise.
27123 (vbeinfo_mod_SOURCES): New variable.
27124 (vbeinfo_mod_CFLAGS): Likewise.
27125 (vbetest_mod_SOURCES): Likewise.
27126 (vbetest_mod_CFLAGS): Likewise.
27127
992ffbbe 271282005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
27129
27130 * normal/misc.c: New file.
27131
27132 * DISTLIST: Added normal/misc.c.
f19dbdb7 27133
992ffbbe 27134 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
27135 DISK to HOOK. Call HOOK with DISK.
27136 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27137 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27138 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27139
27140 * normal/menu_entry.c (struct screen): Added a new member
27141 "completion_shown".
27142 (completion_buffer): New global variable.
27143 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
27144 (store_completion): New function.
27145 (complete): Likewise.
27146 (clear_completions): Likewise.
27147 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
27148 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
27149 a tab, call complete.
27150
27151 * normal/completion.c (disk_dev): Removed.
27152 (print_simple_completion): Likewise.
27153 (print_partition_completion): Likewise.
27154 (print_func): New global variable.
27155 (add_completion): Do not take the arguments WHAT or PRINT any
27156 longer. Added a new argument TYPE. Instead of printing directly,
27157 call PRINT_FUNC if not NULL.
27158 All callers changed.
27159 (complete_device): Use a local variable DEV instead of
27160 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
27161 (grub_normal_do_completion): Take a new argument HOOK. Do not
27162 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
27163 empty string, return NULL instead.
27164 All callers changed.
27165
27166 * normal/cmdline.c (print_completion): New function.
27167
27168 * kern/partition.c (grub_partition_iterate): Add an argument DISK
27169 to HOOK.
27170 All callers changed.
27171
27172 * kern/disk.c (grub_print_partinfo): Removed.
27173
27174 * include/grub/partition.h (struct grub_partition_map): Add a new
27175 argument DISK into HOOK of ITERATE.
27176 (grub_partition_iterate): Add a new argument DISK to HOOK.
27177
27178 * include/grub/normal.h (enum grub_completion_type): New enum.
27179 (grub_completion_type_t): New type.
27180 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
27181 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
27182 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
27183 (GRUB_COMPLETION_TYPE_FILE): Likewise.
27184 (grub_normal_do_completion): Added a new argument HOOK.
27185 (grub_normal_print_device_info): New prototype.
27186
27187 * include/grub/disk.h (grub_print_partinfo): Removed.
27188
27189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
27190 (normal_mod_SOURCES): Likewise.
27191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27192 (normal_mod_SOURCES): Likewise.
27193
27194 * commands/ls.c (grub_ls_list_disks): Use
27195 grub_normal_print_device_info instead of grub_print_partinfo. Free
27196 PNAME.
27197 (grub_ls_list_files): Use grub_normal_print_device_info instead of
27198 duplicating the code.
27199
0bd41162 272002005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27201
27202 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 27203 follow GCS more precisely.
27204 * commands/i386/pc/vbe_test.c: Likewise.
27205 * include/grub/i386/pc/vbe.h: Likewise.
27206 * term/i386/pc/vesafb.c: Likewise.
27207 * video/i386/pc/vbe.c: Likewise.
0bd41162 27208
6323696a 272092005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27210
27211 * DISTLIST: Added term/i386/pc/vesafb.c
27212 DISTLIST: Added video/i386/pc/vbe.c
27213 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
27214 DISTLIST: Added commands/i386/pc/vbe_test.c.
27215 * commands/i386/pc/vbe_list_modes.c: New file.
27216 * commands/i386/pc/vbe_test.c: Likewise.
27217 * term/i386/pc/vesafb.c: Likewise.
27218 * video/i386/pc/vbe.c: Likewise.
27219 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
27220 (grub_vbe_probe) Added prototype.
27221 (grub_vbe_set_video_mode) Likewise.
27222 (grub_vbe_get_video_mode) Likewise.
27223 (grub_vbe_get_video_mode_info) Likewise.
27224 (grub_vbe_set_pixel_rgb) Likewise.
27225 (grub_vbe_set_pixel_index) Likewise.
27226 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
27227 (pkgdata_MODULES): Added vesafb.mod.
27228 (pkgdata_MODULES): Added vbe_list_modes.mod.
27229 (pkgdata_MODULES): Added vbe_test.mod.
27230 (vbe_mod_SOURCES): Added.
27231 (vbe_mod_CFLAGS): Likewise.
27232 (vesafb_mod_SOURCES): Likewise.
27233 (vesafb_mod_CFLAGS): Likewise.
27234 (vbe_list_modes_mod_SOURCES): Likewise.
27235 (vbe_list_modes_mod_CFLAGS): Likewise.
27236 (vbe_test_mod_SOURCES): Likewise.
27237 (vbe_test_mod_CFLAGS): Likewise.
27238
0a74e62f 272392005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
27240
0a74e62f 27241 * normal/command.c (grub_command_execute): If INTERACTIVE is
27242 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
27243 CMDLINE. Disable the pager if INTERACTIVE is true.
27244 All callers are changed.
27245
27246 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
27247 before reading a config file.
27248 * normal/main.c (read_config_file): Even if a command is not
27249 found, register it if it is within an entry.
27250
27251 * util/grub-emu.c: Include sys/types.h and unistd.h.
27252 (options): Added --hold.
27253 (struct arguments): Added a new member "hold".
27254 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
27255 missing.
27256 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
27257 cleared by a debugger, if it is not zero.
27258
27259 * include/grub/normal.h (grub_command_execute): Add an argument
27260 INTERACTIVE.
27261
e51f85ae 272622005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
27263
27264 * DISTLIST: Added include/grub/i386/pc/vbe.h.
27265
e9c6f39b 272662005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
27267
27268 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
27269 program with another one, because the old one didn't detect a bug
27270 in gcc-3.4. Always use regparm 2, because the new test is still
27271 not enough for gcc-4.0. Someone must investigate a simple test
27272 case which detects a bug in gcc-4.0.
27273
8de3495c 272742005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
27275
27276 * DISTLIST: Added normal/completion.c.
27277
27278 * normal/completion.c: New file.
f19dbdb7 27279
8de3495c 27280 * term/i386/pc/console.c (grub_console_getwh): New function.
27281 (grub_console_term): Assign grub_console_getwh to getwh.
27282
27283 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
27284 function is defined in normal/completion.c as
27285 grub_normal_do_completion.
27286 (grub_cmdline_get): Use grub_normal_do_completion instead of
27287 grub_tab_complete.
27288
27289 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
27290 returns non-zero, otherwise return 0.
27291 (grub_partition_iterate): First, probe the partition map. Then,
27292 call ITERATE only for this partition map.
27293
27294 * kern/misc.c (grub_strncmp): Rewritten.
27295
27296 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
27297 returns non-zero. Otherwise return 0.
27298
27299 * include/grub/partition.h (grub_partition_map_iterate): Return
27300 int instead of void.
27301
27302 * include/grub/normal.h (grub_normal_do_completion): New prototype.
27303
27304 * include/grub/misc.h (grub_strncmp): Change the type of N to
27305 grub_size_t.
27306
27307 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
27308 of void.
27309
27310 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 27311 unsigned explicitly before comparing it with I.
8de3495c 27312
27313 * kern/main.c (grub_env_write_root): Add the attribute unused into
27314 VAR.
27315
27316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27317 normal/completion.c.
27318 (normal_mod_SOURCES): Likewise.
27319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27320 (normal_mod_SOURCES): Likewise.
27321
27322 * normal/command.c (grub_iterate_commands): If ITERATE returns
27323 non-zero, return one immediately.
27324
e85e144b 273252005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
27326
27327 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
27328 * kern/i386/pc/startup.S: Updated Global Descriptor table's
27329 descriptions.
27330 (grub_vbe_get_controller_info): New function.
27331 (grub_vbe_get_mode_info): Likewise.
27332 (grub_vbe_set_mode): Likewise.
27333 (grub_vbe_get_mode): Likewise.
27334 (grub_vbe_set_memory_window): Likewise.
27335 (grub_vbe_get_memory_window): Likewise.
27336 (grub_vbe_set_scanline_length): Likewise.
27337 (grub_vbe_get_scanline_length): Likewise.
27338 (grub_vbe_set_display_start): Likewise.
27339 (grub_vbe_get_display_start): Likewise.
27340 (grub_vbe_set_palette_data): Likewise.
27341 * include/grub/i386/pc/vbe.h: New file.
27342
c46153d2 273432005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27344
27345 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
27346 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
27347 * DISTLIST: Likewise.
27348 * kern/ieee1275/of.c: Moved to ...
27349 * kern/ieee1275/ieee1275.c: ... here.
27350
0cb90c45 273512005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27352
27353 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
27354 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
27355 Pass 0 as `end' parameter to grub_strtoul().
27356
a19fb360 273572005-08-08 Hollis Blanchard <hollis@penguinppc.org>
27358
27359 * include/grub/powerpc/ieee1275/console.h: Do not include
27360 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
27361 ifdef.
27362 (grub_console_cur_color): Remove i386-specific prototype.
27363 (grub_console_real_putchar): Likewise.
27364 (grub_console_checkkey): Likewise.
27365 (grub_console_getkey): Likewise.
27366 (grub_console_getxy): Likewise.
27367 (grub_console_gotoxy): Likewise.
27368 (grub_console_cls): Likewise.
27369 (grub_console_setcursor): Likewise.
27370 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
27371 Include <grub/machine/console.h>.
27372 * term/ieee1275/ofconsole.c: Likewise.
27373
4ac9bd04 273742005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
27375
27376 * Makefile.in (LIBLZO): New variable.
27377
27378 * configure.ac: Check for LZO version 2.
27379
27380 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
27381 lzo/lzo1x.h instead of lzo1x.h.
27382
27383 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
27384 of -llzo.
27385
27386 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
27387 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
27388
27389 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
27390 copying the data from PARTITION to P.
27391
f4917dfd 273922005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
27393
27394 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
27395 negative, unload the module.
27396
27397 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
27398 map is "pc_partition_map" but not "pc".
27399 (usage): Fix the description. The options are --boot-image and
27400 --core-image but not --boot-file or --core-file.
27401 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
27402 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
27403 DEFAULT_DIRECTORY.
27404
27405 * util/i386/pc/grub-install.in: Do not specify --boot-file or
27406 --core-file. Specify INSTALL_DEVICE as an argument.
27407
27408 * util/console.c: Include config.h.
27409 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
27410 [HAVE_NCURSES_H]: Include ncurses.h.
27411 [HAVE_CURSES_H]: Include curses.h.
27412 [!A_NORMAL] (A_NORMAL): Defined as zero.
27413 [!A_STANDOUT] (A_STANDOUT): Likewise.
27414
27415 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
27416 -lncurses.
27417 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
27418
27419 * configure.ac: Check for curses libraries and headers.
27420
27421 * Makefile.in (LIBCURSES): New variable.
27422
27423 * genmk.rb (Script::rule): Set the executable bits.
27424
27425 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
27426 name of the PC partition map is "pc_partition_map" but not "pc".
27427
0e143073 274282005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
27429
27430 * util/i386/pc/grub-install.in (grub_probefs): New variable.
27431 (modules): Likewise.
27432 (usage): Added descriptions for --modules and --grub-probefs.
27433 Handle --modules and --grub-probefs. Save the arguments in MODULES
27434 and GRUB_PROBEFS, respectively.
27435 Auto-detect a filesystem module against GRUBDIR. If the result is
27436 empty and modules are not specified explicitly, abort the
27437 installation. Add the result to MODULES.
27438
27439 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
27440 disk/powerpc/ieee1275/ofdisk.c,
27441 include/grub/powerpc/ieee1275/init.h and
27442 term/powerpc/ieee1275/ofconsole.c.
27443 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
27444 term/ieee1275/ofconsole.c.
27445
27446 * include/grub/powerpc/ieee1275/console.h: Resurrected.
27447
27448 * COPYING: Upgraded to the latest version. Only the address of the
27449 FSF office has changed.
f19dbdb7 27450
efd6e6d5 274512005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
27452
27453 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
27454 kern/ieee1275.c with kern/ieee1275/of.c.
27455
27456 * kern/ieee1275.c: Moved to ...
27457 * kern/ieee1275/of.c: ... here.
27458
8ceafda2 274592005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
27460
27461 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 27462 readability.
8ceafda2 27463
27464 * config.guess: Updated to the latest version from gnulib.
27465 * config.sub: Likewise.
27466 * install.sh: Likewise.
27467 * mkinstalldirs: Likewise.
27468
27469 * include/grub/console.h: Removed. This file is arch-specific. Do
27470 not put this in include/grub.
27471
27472 * include/grub/i386/pc/console.h: Resurrected.
27473
27474 * util/console.c: Include grub/machine/console.h instead of
27475 grub/console.h.
27476 * util/grub-emu.c: Likewise.
27477
267f6cd9 274782005-08-04 Marco Gerards <metgerards@student.han.nl>
27479
27480 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
27481 hardcoded value.
f19dbdb7 27482
267f6cd9 27483 From Vincent Pelletier <subdino2004@yahoo.fr>
27484 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
27485 Redefined to use grub_getwh.
27486 (grub_term): New member named getwh.
27487 (grub_getwh): New prototype.
27488 * kern/term.c (grub_getwh): New function.
27489 * term/i386/pc/console.c (grub_console_getwh): New function.
27490 (grub_console_term): New member `getwh'.
27491 * term/i386/pc/vga.c (grub_vga_getwh): New function.
27492 (grub_vga_term): New member `getwh'.
0b5abe02 27493 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 27494 grub_ssize_t.
27495 (grub_ofconsole_getw): New function.
27496 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
27497 (grub_ofconsole_term): New field named getwh and new initial
27498 value.
27499
3be7266d 275002005-08-03 Hollis Blanchard <hollis@penguinppc.org>
27501
27502 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
27503 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
27504 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
27505 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
27506 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
27507 of <grub/machine/ieee1275.h>.
27508 * commands/ieee1275/reboot.c: Likewise.
27509 * boot/powerpc/ieee1275/ieee1275.c: Move ...
27510 * kern/ieee1275.c: ... to here. All users updated. Change all
27511 parameter structs to use new type `grub_ieee1275_cell_t'.
27512 * term/powerpc/ieee1275/ofconsole.c: Move ...
27513 * term/ieee1275/ofconsole.c: ... to here. All users updated.
27514 * disk/powerpc/ieee1275/ofdisk.c: Move ...
27515 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
27516 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
27517 to return int.
27518 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
27519 Remove unused prototypes. All users updated.
27520 * include/grub/powerpc/ieee1275/console.h: Removed.
27521 * include/grub/powerpc/ieee1275/ieee1275.h: Define
27522 `grub_ieee1275_cell_t'.
27523 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
27524 Cast comparisons with -1 to the correct type.
27525 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
27526 type to match `grub_ieee1275_entry_fn'.
27527
8b5f3938 275282005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
27529
27530 * DISTLIST: Added util/i386/pc/grub-probefs.c.
27531
27532 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
27533 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
27534 partmap/sun.c.
27535 (grub_probefs_SOURCES): New variable.
27536
27537 * util/i386/pc/grub-probefs.c: New file.
27538
27539 * util/i386/pc/grub-setup.c (main): Call
27540 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
27541 grub_hfs_init and grub_jfs_init to initialize the system. Call
27542 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
27543 grub_pc_partition_map_fini to finish the system.
27544
ea409713 275452005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
27546
27547 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
27548 function.
27549 (grub_multiboot_load_elf32): Likewise.
27550 (grub_multiboot_is_elf64): Likewise.
27551 (grub_multiboot_load_elf64): Likewise.
27552 (grub_multiboot_load_elf): Likewise.
27553 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
27554 an ELF32 or ELF64 file.
27555 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
27556
27557 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
27558 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
27559 NULL before calling FS->LABEL.
27560 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
27561 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
27562 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
27563 before calling FS->LABEL.
27564
141a288b 275652005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
27566
27567 * util/i386/pc/grub-install.in (datadir): New variable.
27568 (libdir): Removed.
27569 (pkgdatadir): New variable.
27570 (pkglibdir): Removed.
27571
0d5f8a54 275722005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
27573
27574 * DISTLIST: Added util/i386/pc/grub-install.in.
27575
27576 * util/i386/pc/grub-install.in: New file.
27577
27578 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
27579 (grub_install_SOURCES): Likewise.
27580
27581 * genmk.rb: Added support for scripts.
27582 (Script): New class.
27583 (scripts): New variable.
27584
27585 * Makefile.in (install-local): Install sbin_SCRIPTS by
27586 INSTALL_SCRIPT.
27587 (uninstall): Remove sbin_SCRIPTS.
27588
27589 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
27590 device, try to get a GRUB device by
27591 grub_util_biosdisk_get_grub_dev.
27592 Free DEST_DEV.
27593
27594 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
27595 description for --device-map.
27596
5f968e1e 275972005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
27598
27599 Change the semantics of variable hooks. They now return strings
27600 instead of error values.
f19dbdb7 27601
5f968e1e 27602 * util/i386/pc/grub-setup.c: Include grub/env.h.
27603 (setup): Use grub_device_set_root instead of grub_env_set.
27604
27605 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
27606 grub_env_get instead of grub_device_set_root and
27607 grub_device_get_root, respectively.
27608
27609 * kern/main.c (grub_env_write_root): New function.
27610 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
27611 grub_env_set instead of grub_device_set_root.
27612
27613 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
27614 many variables.
27615 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
27616 rather than calling ENV->WRITE_HOOK afterwards.
27617 (grub_env_get): Return the result of ENV->READ_HOOK rather than
27618 passing a pointer of a pointer.
27619 (grub_register_variable_hook): Change the types of "read_hook" and
27620 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
27621 respectively.
27622 Allocate the default empty string on the heap, because this string
27623 may be freed later.
27624
27625 * kern/device.c: Include grub/env.h.
27626 (grub_device_set_root): Removed.
27627 (grub_device_get_root): Likewise.
27628 (grub_device_open): Use grub_env_get instead of
27629 grub_device_get_root.
27630
27631 * include/grub/env.h (grub_env_read_hook_t): New type.
27632 (grub_env_write_hook_t): Likewise.
27633 (grub_env_var): Change the types of "read_hook" and "write_hook"
27634 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
27635 (grub_register_variable_hook): Likewise.
27636
27637 * include/grub/device.h (grub_device_set_root): Removed.
27638 (grub_device_set_root): Likewise.
27639
27640 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
27641 make sure that DIRNAME terminates with '/', so that
27642 grub_fat_find_dir will fail if PATH is not a directory.
27643
27644 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
27645 from DIRNAME.
27646 Use the qualifier auto for print_files and print_files_long.
27647 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
27648 as a regular file.
27649 Put a newline only if there is no error.
27650 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
27651 used.
27652
896f0afd 276532005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
27654
27655 * kern/partition.c (grub_partition_probe): Initialize PART to
27656 NULL. Otherwise, when no partition map is registered, this returns
27657 a garbage.
27658
b28b81b2 276592005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
27660
27661 * partmap/apple.c (apple_partition_map_iterate): Check if POS
27662 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
27663 valid.
27664
5f3607e0 276652005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
27666
27667 * commands/ls.c (grub_ls_list_disks): Print the filesystem
27668 information on each device, if it does not have partitions. Print
27669 "Device" instead of "Disk", because this function is not specific
27670 to disk devices.
27671
27672 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
27673 static to ensure that it is put on the memory rather than a
27674 register.
27675
502c87e8 276762005-07-17 Yoshinori Okuji <okuji@enbug.org>
27677
27678 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
27679 (grub_cat_init): Likewise.
27680 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
27681 (options): Likewise.
27682 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27683 (grub_configfile_init): Likewise.
27684 * font/manager.c (GRUB_MOD_INIT): Likewise.
27685 * commands/help.c (GRUB_MOD_INIT): Likewise.
27686 (grub_help_init): Likewise.
27687 * normal/command.c (grub_command_init): Likewise.
27688 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
27689 * disk/loopback.c (grub_loop_init): Likewise.
27690 (GRUB_MOD_INIT): Likewise.
27691 * commands/ls.c (grub_ls_init): Likewise.
27692 (GRUB_MOD_INIT): Likewise.
27693 (options): Likewise.
27694 * commands/boot.c (grub_boot_init): Likewise.
27695 (GRUB_MOD_INIT): Likewise.
27696 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
27697 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
27698 (GRUB_MOD_INIT): Likewise.
27699 * commands/cmp.c (grub_cmp_init): Likewise.
27700 (GRUB_MOD_INIT): Likewise.
27701
27702 * normal/arg.c: Use <> instead of "" to include header files.
27703 (SHORT_ARG_HELP): New macro.
27704 (SHORT_ARG_USAGE): Likewise.
27705 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
27706 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
27707 descriptions.
27708 (find_short): Check if C is 'h' or 'u' explicitly.
27709 (grub_arg_show_help): Use space characters instead of tabs. Treat
27710 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
27711 are shown with --help and --usage only if they are not used for
27712 the command itself.
27713 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
27714 'h' and 'u'.
27715
27716 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
27717 const into "longarg". Change the type of "shortarg" to int.
27718
f806d18e 277192005-07-17 Yoshinori Okuji <okuji@enbug.org>
27720
27721 * boot/i386/pc/boot.S (boot_drive_check): New label.
27722
27723 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
27724 macro.
27725
27726 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
27727 which do not pass a boot drive correctly. Copied from GRUB Legacy.
27728
e293232b 277292005-07-17 Yoshinori Okuji <okuji@enbug.org>
27730
27731 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
27732 When turning off Gate A20, skip the check and return immediately,
27733 because this is not fatal usually.
27734
ebedfd00 277352005-07-17 Yoshinori Okuji <okuji@enbug.org>
27736
27737 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
27738 be 0x7C00 instead of 0x8000.
27739
27740 * boot/i386/pc/pxeboot.S: Rewritten.
27741
27742 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
27743 EXT_C.
27744 (gate_a20_check_state): Read a byte from 0x108000. Invert the
27745 result.
27746
654fc59f 277472005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
27748
27749 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
27750 robustness. This routine now supports a BIOS call and System
27751 Control Port A to modify the gate A20.
27752
27753 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27754 Increased to 0x440.
27755
09f9923f 277562005-07-12 Hollis Blanchard <hollis@penguinppc.org>
27757
27758 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
27759 device path and resulting ihandle.
27760 (grub_ofdisk_close): dprintf the ihandle being closed.
27761 (grub_ofdisk_read): dprintf function parameters.
27762 * kern/mm.c (grub_mm_init_region): Likewise.
27763 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
27764 (grub_linux_boot): dprintf the Linux entry point, initrd address and
27765 size, and boot arguments.
27766 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
27767 before loading into memory.
27768 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
27769 before loading into memory.
27770
7ef504d8 277712005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
27772
27773 * kern/mm.c: Added much documentation.
27774 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
27775 8, set to 5 instead of 8.
27776
e0f050c2 277772005-07-10 Yoshinori Okuji <okuji@enbug.org>
27778
27779 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
27780
27781 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
27782 (grub_mkdevicemap_SOURCES): New variable.
27783
27784 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
27785 lib/device.c of GRUB Legacy.
27786
7224189a 277872005-07-10 Yoshinori Okuji <okuji@enbug.org>
27788
27789 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
27790 instead of PATH is NULL.
27791
68c864eb 277922005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
27793
27794 * commands/cmp.c (BUFFER_SIZE): New macro.
27795 (grub_cmd_cmp): Close the right file at the right time. Compare
27796 only data just read. Don't report files of different size as
27797 identical. Dynamically allocate buffers. Move variable
27798 declarations at the beginning of function.
27799
e6f3e614 278002005-07-09 Yoshinori Okuji <okuji@enbug.org>
27801
27802 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
27803 reverse.
27804
f8f1559a 278052004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
27806
27807 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
27808 when backspace is pressed at beginning of line.
27809
39c9d41d 278102005-07-03 Yoshinori Okuji <okuji@enbug.org>
27811
27812 * DISTLIST: Added genfslist.sh.
27813
27814 * normal/main.c (fs_module_list): New variable.
27815 (autoload_fs_module): New function.
27816 (read_fs_list): Likewise.
27817 (grub_normal_execute): Call read_fs_list.
27818
27819 * kern/fs.c (grub_fs_autoload_hook): New variable.
27820 (grub_fs_probe): Added support for auto-loading.
27821
27822 * include/grub/normal.h (struct grub_fs_module_list): New struct.
27823 (grub_fs_module_list_t): New type.
27824
27825 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
27826 (grub_fs_autoload_hook): New prototype.
27827
27828 * genfslist.sh: New file.
f19dbdb7 27829
39c9d41d 27830 * genmk.rb: Added a rule to generate a filesystem list.
27831
121c1d83 278322005-06-30 Marco Gerards <metgerards@student.han.nl>
27833
27834 * configure.ac: Fix the test for cross-compiling.
27835
27836 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
27837 define GRUB_UTIL anymore.
27838
27839 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
27840 so this function works on other systems than just big endian.
27841 (load_modules): Likewise.
27842 (add_segments): Likewise.
27843
e75d76e1 278442005-06-23 Hollis Blanchard <hollis@penguinppc.org>
27845
27846 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
27847 contains `l' modifier, get a long from va_arg().
27848
50b5a0a7 278492005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
27850
27851 * kern/mm.c (grub_free): If the next free block which is being
27852 merged is the first free block, set the first block to the block
27853 being freed.
27854 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
27855
89371b20 278562005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27857
27858 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
27859 `grub_ieee1275_chosen'.
27860
168d6e58 278612005-05-08 Hollis Blanchard <hollis@penguinppc.org>
27862
27863 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
27864 (grub_ieee1275_chosen): New variable.
27865 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
27866 `chosen'.
27867 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
27868 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
27869 Rename first argument to `phandle' for consistency.
27870 (grub_ieee1275_get_property_length): Likewise.
27871 (grub_ieee1275_next_property): Likewise. Change type of first argument
27872 to grub_ieee1275_phandle_t.
27873 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
27874 Move export next to declaration.
27875 (grub_ieee1275_chosen): New variable.
27876 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
27877 Correct cosmetic typo.
27878 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
27879 `grub_ieee1275_chosen'.
27880 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
27881 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
27882 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
27883 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
27884 `grub_ieee1275_chosen'.
27885
ca5baa3f 278862005-05-10 Hollis Blanchard <hollis@penguinppc.org>
27887
27888 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
27889 /chosen/bootargs.
27890 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
27891 /chosen/bootargs as "variable=value" pairs.
27892
708b345f 278932005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
27894
27895 * include/grub/misc.h (grub_dprintf): New macro.
27896 (grub_real_dprintf): New prototype.
27897 (grub_strword): Likewise.
27898 (grub_iswordseparator): Likewise.
27899 * kern/misc.c (grub_real_dprintf): New function.
27900 (grub_strword): Likewise.
27901 (grub_iswordseparator): Likewise.
27902
f4c5e67c 279032005-04-30 Hollis Blanchard <hollis@penguinppc.org>
27904
27905 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
27906 (roundup): Remove macro.
27907 (grub_ieee1275_flags): Make static.
27908 (grub_ieee1275_realmode): Remove.
27909 (grub_ieee1275_test_flag): New function.
27910 (grub_ieee1275_set_flag): Likewise.
27911 (find_options): Rename to `grub_ieee1275_find_options'; update
27912 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
27913 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
27914 (cmain): New prototype.
27915 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
27916 `grub_ieee1275_flags' directly.
27917 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
27918 machine/biosdisk.h.
27919 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
27920 Don't include grub/machine/init.h.
27921 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
27922 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
27923 Remove prototype.
27924 (grub_ieee1275_realmode): Likewise.
27925 (grub_ieee1275_flag): New enum.
27926 (grub_ieee1275_test_flag): New prototype.
27927 (grub_ieee1275_set_flag): New prototype.
27928 * include/grub/powerpc/ieee1275/init.h: Remove file.
27929 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
27930 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
27931 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
27932 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
27933 comment.
27934 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
27935 `grub_ieee1275_test_flag'.
27936 (grub_ieee1275_encode_devname): Likewise.
27937
ed16607e 279382005-04-21 Hollis Blanchard <hollis@penguinppc.org>
27939
27940 * include/grub/powerpc/ieee1275/ieee1275.h
27941 (grub_ieee1275_encode_devname): New prototype.
27942 (grub_ieee1275_get_filename): Likewise.
27943 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
27944 function.
27945 (grub_set_prefix): Likewise.
27946 (grub_machine_init): Call grub_set_prefix.
27947 * kern/powerpc/ieee1275/openfw.c: Fix typos.
27948 (grub_parse_type): New enum.
27949 (grub_ieee1275_get_devargs): New function.
27950 (grub_ieee1275_get_devname): Likewise.
27951 (grub_ieee1275_parse_args): Likewise.
27952 (grub_ieee1275_get_filename): Likewise.
27953 (grub_ieee1275_encode_devname): Likewise.
27954
be369920 279552005-03-30 Marco Gerards <metgerards@student.han.nl>
27956
27957 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
27958 `grub_loader_unset'.
27959
a5ce3a4a 279602005-03-26 Hollis Blanchard <hollis@penguinppc.org>
27961
27962 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
27963 instead of grub_ieee1275_interpret.
27964 (grub_halt_init): New function.
27965 (grub_halt_fini): Likewise.
27966 (GRUB_MOD_INIT): Correct message grammar.
27967 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
27968 instead of grub_ieee1275_interpret.
27969 (grub_reboot_init): New function.
27970 (grub_reboot_fini): Likewise.
27971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
27972 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
27973 util/i386/pc/misc.c with commands/ieee1275/halt.c,
27974 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
27975 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
27976 function.
27977 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
27978 Add prototype.
27979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
27980 prototype.
27981 (grub_halt): Likewise.
27982 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
27983 (cmain): Remove __attribute__((unused)).
27984 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
27985 (grub_heap_len): Likewise.
27986 (grub_machine_fini): New function.
27987 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
27988 (grub_halt): Likewise.
27989 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
27990 function.
27991 * util/powerpc/ieee1275/misc.c: New file.
27992
0058f771 279932005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27994
27995 * DISTLIST: New file.
27996 * gendistlist.sh: Likewise.
f19dbdb7 27997
0058f771 27998 * Makefile.in (COMMON_DISTFILES): Removed.
27999 (BOOT_DISTFILES): Likewise.
28000 (CONF_DISTFILES): Likewise.
28001 (DISK_DISTFILES): Likewise.
28002 (FS_DISTFILES): Likewise.
28003 (INCLUDE_DISTFILES): Likewise.
28004 (KERN_DISTFILES): Likewise.
28005 (LOADER_DISTFILES): Likewise.
28006 (TERM_DISTFILES): Likewise.
28007 (UTIL_DISTFILES): Likewise.
28008 (DISTFILES): Likewise.
28009 (uninstall): Uninstall files in $(pkgdata_DATA).
28010 (DISTLIST): New target.
28011 (distdir): Use the contents of the file DISTLIST to get a list of
28012 distributed files.
28013
46b3b8a5 280142005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28015
28016 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
28017 descriptor. This is ported from GRUB Legacy.
28018
28019 * gencmdlist.sh: Added an extra semicolon to make it work with
28020 old sed versions. Reported by Robert Bihlmeyer
28021 <robbe@orcus.priv.at>.
28022
5822ff87 280232005-03-08 Yoshinori Okuji <okuji@enbug.org>
28024
28025 Automatic loading of commands is supported.
f19dbdb7 28026
5822ff87 28027 * normal/main.c (read_command_list): New function.
28028 (grub_normal_execute): Call read_command_list.
28029
28030 * normal/command.c (grub_register_command): Return zero or CMD.
28031 Allocate CMD->NAME from the heap.
28032 Initialize CMD->MODULE_NAME to zero.
28033 Find the same name as well. If the same command is found and it is
28034 a dummy command, overwrite members. If it is not a dummy command,
28035 return zero.
28036 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
28037 (grub_command_find): If a dummy command is found, load a module
28038 and retry to find a command only once.
28039
28040 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
28041 make sure that each command is loaded.
28042
28043 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
28044 macro.
28045 (struct grub_command): Remove const from the member `name'.
28046 Add a new member `module_name'.
28047 (grub_register_command): Return grub_command_t.
28048
28049 * commands/help.c (grub_cmd_help): Call grub_command_find to make
28050 sure that each command is loaded.
28051
28052 * genmk.rb (PModule::rule): Specify a module name without the
28053 suffix ".mod" to gencmdlist.sh.
28054
7b1f4b57 280552005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28056
28057 * gencmdlist.sh: New file.
f19dbdb7 28058
7b1f4b57 28059 * genmk.rb (PModule::rule): Generate a rule for a command list.
28060 Clean command.lst.
28061 Generate command.lst from $(COMMANDFILES).
28062
28063 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
28064 (DATA): Added $(pkgdata_DATA).
28065 (install-local): Install files in $(pkgdata_DATA).
28066
062aaf39 280672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28068
28069 * term/i386/pc/vga.c (debug_command): Removed.
28070 (GRUB_MOD_INIT): Do not register the command "debug".
28071
28072 From Hollis Blanchard:
28073 * commands/configfile.c: New file.
28074 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28075 commands/configfile.c.
28076 (pkgdata_MODULES): Added configfile.mod.
28077 (configfile_mod_SOURCES): New variable.
28078 (configfile_mod_CFLAGS): Likewise.
28079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28080 commands/configfile.c.
28081 (pkgdata_MODULES): Added configfile.mod.
28082 (configfile_mod_SOURCES): New variable.
28083 (configfile_mod_CFLAGS): Likewise.
28084 * util/grub-emu.c (main): Call grub_configfile_init and
28085 grub_configfile_fini.
28086 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
28087 prototype.
28088 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 28089
cee01aa6 280902005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28091
28092 * normal/arg.c (grub_arg_show_help): Do not show the bug report
28093 address.
28094
28095 * commands/help.c (grub_cmd_help): Do not print newlines after
28096 the last command in print_command_help.
28097
93f3a1d8 280982005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28099
28100 * commands/default.h: New file.
28101 * commands/timeout.h: Likewise.
28102 * normal/context.c: Likewise.
f19dbdb7 28103
93f3a1d8 28104 * util/misc.c: Do not include sys/times.h.
28105 Include sys/time.h and grub/machine/time.h.
28106 (grub_get_rtc): Rewritten with gettimeofday.
28107
28108 * util/grub-emu.c (main): Call grub_default_init and
28109 grub_timeout_init before grub_normal_init, and call
28110 grub_timeout_fini and grub_default_fini after grub_main.
28111
28112 * util/console.c (grub_ncurses_checkkey): Return the read
28113 character or -1.
28114
28115 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
28116 timeouts.
28117
28118 * normal/main.c (read_config_file): Push MENU. If this fails,
28119 print an error and wait for a user input.
28120 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
28121 If a menu is empty or an error occurs, pop MENU.
28122 (grub_normal_execute): Pop and free MENU after grub_menu_run
28123 returns.
28124
28125 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
28126
28127 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
28128 include time.h.
28129 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28130 without GRUB_UTIL.
28131 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
28132 time.h.
28133 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28134 without GRUB_UTIL.
28135
28136 * include/grub/normal.h (struct grub_menu_list): New struct.
28137 (grub_menu_list_t): New type.
28138 (struct grub_context): New struct.
28139 (grub_context_t): New type.
28140 (grub_register_command): Got rid of EXPORT_FUNC.
28141 (grub_unregister_command): Likewise.
28142 (grub_context_get): New prototype.
28143 (grub_context_get_current_menu): Likewise.
28144 (grub_context_push_menu): Likewise.
28145 (grub_context_pop_menu): Likewise.
28146 [GRUB_UTIL] (grub_default_init): Likewise.
28147 [GRUB_UTIL] (grub_default_fini): Likewise.
28148 [GRUB_UTIL] (grub_timeout_init): Likewise.
28149 [GRUB_UTIL] (grub_timeout_fini): Likewise.
28150
28151 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
28152 commands/timeout.c and normal/context.c.
28153 (pkgdata_MODULES): Added default.mod and timeout.mod.
28154 (normal_mod_SOURCES): Added normal/context.c.
28155 (default_mod_SOURCES): New variable.
28156 (default_mod_CFLAGS): Likewise.
28157 (timeout_mod_SOURCES): Likewise.
28158 (timeout_mod_CFLAGS): Likewise.
28159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
28160 conf/i386-pc.rmk.
28161 (pkgdata_MODULES): Added default.mod and timeout.mod.
28162 (normal_mod_SOURCES): Added normal/context.c.
28163 (default_mod_SOURCES): New variable.
28164 (default_mod_CFLAGS): Likewise.
28165 (timeout_mod_SOURCES): Likewise.
28166 (timeout_mod_CFLAGS): Likewise.
28167
28168 * Makefile.in (all-local): Added $(MKFILES).
28169
4ed2e1dd 281702005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
28171
28172 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
28173 (grub_emu_SOURCES): Likewise.
28174 (pkgdata_MODULES): Add `sun.mod'.
28175 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28177 `partmap/sun.c'.
28178 (pkgdata_MODULES): Add `sun.mod'.
28179 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28180 * include/grub/partition.h (grub_sun_partition_map_init): New
28181 prototype.
28182 (grub_sun_partition_map_fini): Likewise.
28183 * partmap/sun.c: New file.
28184 * util/grub-emu.c (main): Initialize and de-initialize the sun
28185 partitionmap support.
28186
4d4e372e 281872005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
28188
28189 This implements an Emacs-like menu entry editor.
f19dbdb7 28190
4d4e372e 28191 * normal/menu_entry.c: New file.
f19dbdb7 28192
4d4e372e 28193 * util/console.c (grub_ncurses_putchar): Translate some Unicode
28194 characters to ASCII.
28195 (saved_char): New variable.
28196 (grub_ncurses_checkkey): Rewritten completely.
28197 (grub_ncurses_getkey): Likewise.
28198 (grub_ncurses_init): Call raw instead of cbreak.
28199
28200 * normal/menu.c (print_entry): Do not put a space.
28201 (init_page): Renamed to ...
28202 (grub_menu_init_page): ... this. All callers changed.
28203 (edit_menu_entry): Removed.
28204 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
28205
28206 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
28207
28208 * kern/misc.c (grub_vprintf): Call grub_refresh.
28209
28210 * normal/menu.c (DISP_LEFT): Renamed to ...
28211 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
28212 * normal/menu.c (DISP_UP): Renamed to ...
28213 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
28214 * normal/menu.c (DISP_RIGHT): Renamed to ...
28215 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
28216 * normal/menu.c (DISP_DOWN): Renamed to ...
28217 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
28218 * normal/menu.c (DISP_HLINE): Renamed to ...
28219 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
28220 * normal/menu.c (DISP_VLINE): Renamed to ...
28221 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
28222 * normal/menu.c (DISP_UL): Renamed to ...
28223 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
28224 * normal/menu.c (DISP_UR): Renamed to ...
28225 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
28226 * normal/menu.c (DISP_LL): Renamed to ...
28227 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
28228 * normal/menu.c (DISP_LR): Renamed to ...
28229 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
28230 * normal/menu.c (TERM_WIDTH): Renamed to ...
28231 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
28232 * normal/menu.c (TERM_HEIGHT): Renamed to ...
28233 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
28234 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
28235 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
28236 * normal/menu.c (TERM_MARGIN): Renamed to ...
28237 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
28238 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
28239 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
28240 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
28241 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
28242 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
28243 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
28244 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
28245 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
28246 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
28247 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
28248 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
28249 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
28250 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
28251 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
28252 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
28253 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
28254 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
28255 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
28256 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
28257 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
28258 All callers changed.
28259
28260 * include/grub/normal.h: New prototype.
28261
28262 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28263 normal/menu_entry.c.
28264 (normal_mod_SOURCES): Likewise.
28265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28266 (normal_mod_SOURCES): Likewise.
28267
e6b92c8a 282682005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
28269
28270 * include/grub/normal.h (grub_halt_init): New prototype.
28271 (grub_halt_fini): Likewise.
28272 (grub_reboot_init): Likewise.
28273 (grub_reboot_fini): Likewise.
28274
28275 * util/grub-emu.c: Include signal.h.
28276 (main_env): New global variable.
28277 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
28278 catch C-c.
28279 (grub_machine_fini): New function.
28280 (main): Call grub_halt_init and grub_reboot_init before
28281 grub_main, and grub_reboot_fini and grub_halt_fini after it.
28282 Call setjmp with MAIN_ENV to go back afterwards.
28283 Call grub_machine_fini right before return.
28284
28285 * include/grub/util/misc.h: Include setjmp.h.
28286 (main_env): New prototype.
28287
28288 * include/grub/kernel.h (grub_machine_fini): New prototype.
28289 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
28290 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
28291
28292 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
28293 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
28294 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 28295
e6b92c8a 28296 * util/i386/pc/misc.c: New file.
f19dbdb7 28297
e6b92c8a 28298 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28299 util/i386/pc/misc.c, commands/i386/pc/halt.c and
28300 commands/i386/pc/reboot.c.
28301
c642636f 283022005-02-14 Guillem Jover <guillem@hadrons.org>
28303
28304 * include/grub/dl.h (grub_dl_check_header): New prototype.
28305 (grub_arch_dl_check_header): Change return type to grub_err_t,
28306 remove size parameter and export function. Update all callers.
28307 * kern/dl.c (grub_dl_check_header): New function.
28308 (grub_dl_load_core): Use `grub_dl_check_header' instead of
28309 `grub_arch_dl_check_header'. Check ELF type. Check if sections
28310 are inside the core.
28311 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
28312 independent ELF header checks.
28313 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
28314 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
28315 `grub_dl_check_header' instead of explicit checks. Check for the
28316 ELF type.
28317 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
28318 `grub_dl_check_header' instead of explicit checks. Remove arch
28319 specific ELF header checks.
28320
e6b92c8a 28321 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
28322 argument SIZE.
28323
5eabe94b 283242005-02-13 Hollis Blanchard <hollis@penguinppc.org>
28325
28326 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
28327 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
28328
1b14a681 283292005-02-12 Hollis Blanchard <hollis@penguinppc.org>
28330
28331 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 28332 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 28333 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 28334 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 28335 * partmap/amiga.c (amiga_partition_map_iterate): Return
28336 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
28337 * partmap/apple.c (apple_partition_map_iterate): Likewise.
28338
aca108aa 283392005-02-01 Guillem Jover <guillem@hadrons.org>
28340
28341 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
28342 help info.
28343
c9f9c556 283442005-01-31 Marco Gerards <metgerards@student.han.nl>
28345
28346 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
28347 Removed prototype.
28348 (grub_rescue_cmd_linux): New prototype.
28349 (grub_rescue_cmd_initrd): Likewise.
28350 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
28351 `bi_rec'.
28352 (grub_linux_release_mem): Release the memory for the initrd.
28353 (grub_load_linux): Renamed from this...
28354 (grub_rescue_cmd_linux): ...To this. Changed all callers.
28355 Changed `entry' not to be static. Loop over memory regions to
28356 find another one when the default fails.
28357 (grub_rescue_cmd_initrd): New function.
28358 (grub_linux_init): Remove function.
28359 (grub_linux_fini): Likewise.
28360 (GRUB_MOD_INIT): Register `initrd'.
28361 (GRUB_MOD_FINI): Unregister `initrd'.
28362 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
28363 Function removed.
28364 (grub_linux_normal_fini): Likewise.
28365 (GRUB_MOD_INIT): Register `initrd'.
28366 (GRUB_MOD_FINI): Unregister `initrd'.
28367
990cf3aa 283682005-01-31 Marco Gerards <metgerards@student.han.nl>
28369
28370 * commands/help.c: New file.
28371 * normal/arg.c (show_help): Renamed to...
28372 (grub_arg_show_help): ... this.
28373 * commands/i386/pc/halt.c: New file.
28374 * commands/i386/pc/reboot.c: Likewise.
28375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
28376 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
28377 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
28378 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
28379 variables.
28380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28381 `commands/help.c'.
28382 (pkgdata_MODULES): Add `help.mod'.
28383 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
28384 * grub/i386/pc/init.h (grub_reboot): New prototype.
28385 (grub_halt): Likewise.
28386 * include/grub/normal.h (grub_arg_show_help): New prototype.
28387 (grub_help_init): Likewise.
28388 (grub_help_fini): Likewise.
28389 * util/grub-emu.c (main): Initialize and deinitialize the help
28390 command.
28391
28392 * normal/cmdline.c (grub_cmdline_get): Doc fix.
28393
28394 * normal/command.c (grub_command_init): Fixed the description of
28395 the `set' and `unset' commands.
28396
283972005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 28398
28399 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
28400 function.
28401 * commands/ieee1275/halt.c: New file.
28402 * commands/ieee1275/reboot.c: Likewise.
28403 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
28404 `__attribute__ ((unused))'. Some GCS related fixed.
28405 (grub_suspend_init) [GRUB_UTIL]: Function removed.
28406 (grub_suspend_fini): Likewise.
28407 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
28408 and `halt.mod'.
28409 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
28410 (halt_mod_CFLAGS): New variables.
28411 * include/grub/powerpc/ieee1275/ieee1275.h
28412 (grub_ieee1275_interpret): New prototype.
28413
1ab09cc7 284142005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
28415
28416 * include/grub/misc.h (memmove): New prototype.
28417 (memcpy): Likewise.
28418
8b8cbdb2 284192005-01-22 Hollis Blanchard <hollis@penguinppc.org>
28420
28421 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
28422 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
28423
e3741a27 284242005-01-22 Marco Gerards <metgerards@student.han.nl>
28425
28426 * kern/misc.c (grub_strndup): Function rewritten.
28427
776bd780 284282005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
28429
28430 * normal/menu.c (TERM_WIDTH): Macro redefined.
28431 (TERM_TOP_BORDER_Y): Likewise.
28432 (draw_border): Replaced while-loop by a for-loop. Make the number
28433 of lines consistent with the number of lines displayed in
28434 print_entries. Added a margin below the rectangle.
28435 (print_entry): Make the entry fit in the rectangle.
28436 (print_entries): Display the scroll arrows next to the right
28437 border.
28438
78026bce 284392005-01-21 Marco Gerards <metgerards@student.han.nl>
28440
28441 * fs/minix.c (grub_minix_find_file): Reserve more space for
28442 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
28443 `grub_strncpy' to copy `path' into it.
28444
67bbaf0f 284452005-01-21 Marco Gerards <metgerards@student.han.nl>
28446
28447 Add the loopback device, a device via which files can be accessed
28448 as devices.
f19dbdb7 28449
67bbaf0f 28450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
28451 (pkgdata_MODULES): Add loopback.mod.
28452 (loopback_mod_SOURCES): New variable.
28453 (loopback_mod_CFLAGS): Likewise.
28454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28455 `disk/loopback.c'.
28456 (pkgdata_MODULES): Add loopback.mod.
28457 (loopback_mod_SOURCES): New variable.
28458 (loopback_mod_CFLAGS): Likewise.
28459 * disk/loopback.c: new file.
28460 * include/grub/normal.h (grub_loop_init): New prototype.
28461 (grub_loop_fini): New prototype.
28462 * util/grub-emu.c (main): Initialize and de-initialize loopback
28463 support.
28464 * include/grub/disk.h (grub_disk_dev_id): Add
28465 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
28466
6f1c18bd 284672005-01-20 Hollis Blanchard <hollis@penguinppc.org>
28468
28469 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
28470 function.
28471 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
28472 (suspend_mod_SOURCES): New variable.
28473 (suspend_mod_CFLAGS): Likewise.
28474 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
28475 New prototype.
28476 * commands/ieee1275/suspend.c: New file.
28477
b38551da 284782005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
28479
28480 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 28481 ((unused))' to `__attribute__ ((used))'.
b38551da 28482 (GRUB_MOD_FINI): Likewise.
28483 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
28484 * genmk.rb (PModule): Assign space to common symbols when linking
28485 modules.
28486
777aff39 284872005-01-20 Marco Gerards <metgerards@student.han.nl>
28488
28489 * include/grub/mm.h (grub_mm_init_region): Change the type of the
28490 `unsigned' arguments to `grub_size_t'.
28491 (grub_malloc): Likewise.
28492 (grub_realloc): Likewise.
28493 (grub_memalign): Likewise.
28494 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
28495 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
28496 * util/misc.c (grub_malloc): Likewise.
28497 (grub_realloc): Likewise.
28498 * kern/mm.c (get_header_from_pointer): Change the casts to
28499 `unsigned' into a cast to `grub_size_t'.
28500
28501 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
28502 point to `currnode' when `currnode' is changed.
28503
28504 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
28505 Schottelius <nico-linux@schottelius.org>.
28506
d0ff18e1 285072005-01-09 Hollis Blanchard <hollis@penguinppc.org>
28508
28509 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
28510 (note_path): Remove variable.
28511 (GRUB_IEEE1275_NOTE_NAME): New macro.
28512 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
28513 (grub_ieee1275_note_hdr): New structure.
28514 (grub_ieee1275_note_desc): Likewise.
28515 (grub_ieee1275_note): Likewise.
28516 (load_note): Remove `dir' argument. All callers updated. Remove
28517 `note_img' and `path'. Do not load a file from `note_path'.
28518 Initialize a struct grub_ieee1275_note and write that to `out'.
28519 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
28520
4ca7004c 285212005-01-05 Marco Gerards <metgerards@student.han.nl>
28522
28523 * util/misc.c (grub_util_read_image): Revert last change. It
28524 called `grub_util_read_at', which seeks from the beginning of the
28525 file.
28526
0b412211 285272005-01-04 Hollis Blanchard <hollis@penguinppc.org>
28528
28529 * TODO: Add note about endianness in grub-mkimage.
28530 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
28531 section.
28532 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
28533 (grub_mkimage_SOURCES): New target.
28534 * include/grub/kernel.h (grub_start_addr): Remove variable.
28535 (grub_end_addr): Likewise.
28536 (grub_total_module_size): Likewise.
28537 (grub_kernel_image_size): Likewise.
28538 (GRUB_MODULE_MAGIC): New constant.
28539 (grub_module_info): New structure.
28540 (grub_arch_modules_addr): New prototype.
28541 (grub_get_end_addr): Remove prototype.
28542 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
28543 * include/grub/powerpc/ieee1275/kernel.h: New file.
28544 * include/grub/util/misc.h (grub_util_get_fp_size): New
28545 prototype.
28546 (grub_util_read_at): Likewise.
28547 (grub_util_write_image_at): Likewise.
28548 * kern/main.c (grub_get_end_addr): Remove function.
28549 (grub_load_modules): Call grub_arch_modules_addr instead of using
28550 grub_end_addr. Look for a grub_module_info struct in memory. Use
28551 the grub_module_info fields instead of calling grub_get_end_addr
28552 as loop conditions. Move grub_add_unused_region code here.
28553 (grub_add_unused_region): Remove function.
28554 * kern/i386/pc/init.c: Include grub/cache.h.
28555 (grub_machine_init): Remove call to grub_get_end_addr. Remove
28556 one call to add_mem_region.
28557 (grub_arch_modules_addr): New function.
28558 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
28559 (grub_total_module_size): Likewise.
28560 Include grub/machine/kernel.h.
28561 (grub_arch_modules_addr): New function.
28562 * util/grub-emu.c (grub_end_addr): Remove variable.
28563 (grub_total_module_size): Likewise.
28564 (grub_arch_modules_addr): New function.
28565 * util/misc.c: Include unistd.h.
28566 (grub_util_get_fp_size): New function.
28567 (grub_util_read_at): Likewise.
28568 (grub_util_write_image_at): Likewise.
28569 (grub_util_read_image): Call grub_util_read_at.
28570 (grub_util_write_image): Call grub_util_write_image_at.
28571 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
28572 additional memory in kernel_img for a struct grub_module_info.
28573 Fill in that grub_module_info.
28574 * util/powerpc/ieee1275/grub-mkimage.c: New file.
28575
458786f8 285762005-01-03 Hollis Blanchard <hollis@penguinppc.org>
28577
28578 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
28579 New function.
28580 * include/grub/powerpc/ieee1275/ieee1275.h
28581 (grub_ieee1275_milliseconds): New prototype.
28582 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
28583 Change to 1000.
28584 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
28585 grub_ieee1275_milliseconds.
28586
ac507d1b 285872005-01-03 Hollis Blanchard <hollis@penguinppc.org>
28588
28589 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
28590 variable.
28591 (find_options): New function.
28592 (cmain): Call find_options.
28593 * include/grub/powerpc/ieee1275/ieee1275.h
28594 (grub_ieee1275_realmode): New extern variable.
28595 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
28596 grub_map if grub_ieee1275_realmode is false.
28597
6b8fd1c4 285982004-12-29 Marco Gerards <metgerards@student.han.nl>
28599
28600 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
28601 lines are inserted and make it work like readline. Reported by
28602 Vincent Pelletier <subdino2004@yahoo.fr>.
28603
8514a1e0 286042004-12-28 Marco Gerards <metgerards@student.han.nl>
28605
28606 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
28607
28608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
28609 `kern/powerpc/cache.S'.
28610
924b6140 286112004-12-27 Marco Gerards <metgerards@student.han.nl>
28612
28613 * genmk.rb: Handle the `Program' class in the main loop. Written
28614 by Johan Rydberg <jrydberg@gnu.org>.
28615 (Program): New class.
28616 (programs): New variable.
28617 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
28618 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
28619 instead of "grub/kernel.h". Include <grub/machine/init.h>.
28620 (help_arch): Function removed.
28621 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
28622 `powerpc/libgcc.h' and `loader.h'.
28623 (pkgdata_PROGRAMS): New variable.
28624 (sbin_UTILITIES): Variable removed.
28625 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
28626 (grubof_SOURCES): Variable re-defined so it only includes the
28627 core functionality.
28628 (grubof_CFLAGS): Remove `-DGRUBOF'.
28629 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
28630 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
28631 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
28632 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
28633 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
28634 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
28635 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
28636 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
28637 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
28638 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
28639 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
28640 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
28641 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
28642 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
28643 (pc_mod_CFLAGS): New variables.
28644 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
28645 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
28646 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
28647 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
28648 Moved from here...
28649 * include/grub/i386/pc/init.h (grub_os_area_addr)
28650 (rub_os_area_size): ... to here.
28651 * include/grub/powerpc/ieee1275/ieee1275.h
28652 (grub_ieee1275_entry_fn): Export symbol.
28653 * include/grub/powerpc/ieee1275/init.h: New file.
28654 * include/grub/powerpc/libgcc.h: Likewise.
28655 * include/grub/cache.h: Likewise.
28656 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
28657 <hollis@penguinppc.org>.
28658 * kern/dl.c: Include <grub/cache.h>.
28659 (grub_dl_flush_cache): New function.
28660 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
28661 for this module.
28662 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
28663 (grub_console_init): Removed prototypes.
28664 (grub_machine_init): Don't initialize the modules anymore.
28665 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
28666 static.
28667 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
28668 Macro undef removed.
28669 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
28670 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
28671 relocation `R_PPC_REL32'. Return an error when the relocation is
28672 unknown.
28673 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
28674 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
28675 * util/misc.c (grub_arch_sync_caches): Likewise.
28676
e4b47e0c 286772004-12-19 Marco Gerards <metgerards@student.han.nl>
28678
28679 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
28680 `symlist.c', add `grubof_symlist.c'.
28681 (symlist.c): Variable removed.
28682 (grubof_HEADERS): Variable added.
28683 (grubof_symlist.c): New target.
28684 (kernel_syms.lst): Use `grubof_HEADERS' instead of
28685 `kernel_img_HEADERS'.
28686 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
28687 * kern/powerpc/dl.c: New file.
28688 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
28689 Function removed.
28690 (grub_arch_dl_relocate_symbols): Likewise.
28691 (grub_register_exported_symbols): Likewise.
28692
4ceb3636 286932004-12-13 Marco Gerards <metgerards@student.han.nl>
28694
28695 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
28696 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
28697 to fail instead. Reported by Vincent Pelletier
28698 <subdino2004@yahoo.fr>.
28699
28700 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
28701 it is not allocated. Reported by Vincent Pelletier
28702 <subdino2004@yahoo.fr>.
28703
28704 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
28705 output so the output looks better.
f19dbdb7 28706
3f1578fe 287072004-12-04 Marco Gerards <metgerards@student.han.nl>
28708
28709 Modulize the partition map support and add support for the amiga
28710 partition map.
f19dbdb7 28711
3f1578fe 28712 * commands/ls.c: Include <grub/partition.h> instead of
28713 <grub/machine/partition.h>.
28714 * kern/disk.c: Likewise.
28715 * kern/rescue.c: Likewise.
28716 * loader/i386/pc/chainloader.c: Likewise.
28717 * normal/cmdline.c: Likewise.
28718 * kern/powerpc/ieee1275/init.c: Likewise.
28719 (grub_machine_init): Call `grub_pc_partition_map_init',
28720 `grub_amiga_partition_map_init' and
28721 `grub_apple_partition_map_init'.
28722 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
28723 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
28724 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
28725 `partition.h' and `pc_partition.h'.
28726 (grub_setup_SOURCES): Remove
28727 `disk/i386/pc/partition.c'. Add `kern/partition.c',
28728 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
28729 (grub_emu_SOURCES): Likewise.
28730 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
28731 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
28732 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
28733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28734 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
28735 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
28736 (grubof_SOURCES): Likewise.
28737 * disk/i386/pc/partition.c: File removed.
28738 * disk/powerpc/ieee1275/partition.c: Likewise.
28739 * include/grub/powerpc/ieee1275/partition.h: Likewise.
28740 * include/grub/i386/pc/partition.h: Likewise.
28741 * kern/partition.c: New file.
28742 * partmap/amiga.c: Likewise.
28743 * partmap/apple.c: Likewise.
28744 * partmap/pc.c: Likewise.
28745 * include/grub/partition.h: Likewise..
28746 * include/grub/pc_partition.h: Likewise.
28747 * util/grub-emu.c: Include <grub/partition.h> instead of
28748 <grub/machine/partition.h>.
28749 (main): Call `grub_pc_partition_map_init',
28750 `grub_amiga_partition_map_init' and
28751 `grub_apple_partition_map_init' and deinitialize afterwards.
28752 * util/i386/pc/biosdisk.c: Include `#include
28753 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
28754 `<grub/machine/partition.h>'.
28755 * util/i386/pc/grub-setup.c: Likewise.
28756 * util/i386/pc/biosdisk.c: Likewise.
28757 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
28758 partition information in case of a PC partition.
28759 * util/i386/pc/grub-setup.c: Include `#include
28760 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
28761 `<grub/machine/partition.h>'.
28762 (setup): Only access the PC specific partition information in case
28763 of a PC partition.
28764
0ef4ced9 287652004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 28766
0ef4ced9 28767 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
28768 (grub_longjmp): Likewise.
28769 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
28770 20.
28771 * normal/powerpc/setjmp.S: New file.
28772 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
28773 `normal/powerpc/setjmp.S'.
28774 (grubof_CFLAGS): Add `-DGRUBOF'.
28775 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
28776 [GRUB_UTIL && !GRUBOF].
f19dbdb7 28777
19950e29 287782004-11-16 Marco Gerards <metgerards@student.han.nl>
28779
28780 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
28781 property named `name'. Correctly handle the error returned by
28782 `grub_ieee1275_finddevice' if a device can not be opened.
28783
a2fea427 287842004-11-02 Hollis Blanchard <hollis@penguinppc.org>
28785
28786 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
28787 `actual' for negativity.
28788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
28789 kern/fshelp.c.
28790
41ea0ea3 287912004-11-01 Marco Gerards <metgerards@student.han.nl>
28792
28793 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
28794 (PAGE_OFFSET): New macro.
28795 (CRTC_ADDR_PORT): Likewise.
28796 (CRTC_DATA_PORT): Likewise.
28797 (START_ADDR_HIGH_REGISTER): Likewise.
28798 (START_ADDR_LOW_REGISTER): Likewise.
28799 (GRAPHICS_ADDR_PORT): Likewise.
28800 (GRAPHICS_DATA_PORT): Likewise.
28801 (READ_MAP_REGISTER): Likewise.
28802 (INPUT_STATUS1_REGISTER): Likewise.
28803 (INPUT_STATUS1_VERTR_BIT): Likewise.
28804 (page): New variable.
28805 (wait_vretrace): New function.
28806 (set_read_map): Likewise.
28807 (set_start_address): Likewise.
28808 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
28809 the right page.
28810 (check_vga_mem): Take the page into account.
28811 (write_char): Likewise.
28812 (write_cursor): Likewise.
28813 (scroll_up): Likewise. Copy the page to the page that is not
28814 shown and switch between both pages.
28815 (grub_vga_putchar): Fix off by one error.
28816 (grub_vga_cls): Wait for the vertical retrace. Take the page into
28817 account.
28818
ad0bd20b 288192004-11-01 Marco Gerards <metgerards@student.han.nl>
28820
28821 Add support for iso9660 (including rockridge).
f19dbdb7 28822
ad0bd20b 28823 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28824 (iso9660_mod_SOURCES): New variable.
28825 (iso9660_mod_CFLAGS): Likewise.
28826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
28827 * include/grub/fs.h (grub_iso9660_init): New prototype.
28828 * util/grub-emu.c (main): Call `grub_iso9660_init'.
28829 * fs/iso9660.c: New file.
28830
28831 * include/grub/misc.h (grub_strncat): New prototype.
28832 * kern/misc.c (grub_strncat): New function.
f19dbdb7 28833
ad0bd20b 28834 * fs/hfs.c (grub_hfs_mount): Translate the error
28835 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
28836 * fs/jfs.c (grub_jfs_mount): Likewise.
28837 * fs/ufs.c (grub_ufs_mount): Likewise.
28838
a5477a59 288392004-10-28 Hollis Blanchard <hollis@penguinppc.org>
28840
28841 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
28842 which initialized BAT registers.
28843 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
28844 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28845 Move from here...
28846 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
28847 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
28848 ... to here.
28849 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
28850 (grub_mapclaim): Likewise.
28851 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
28852 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
28853 hand.
28854
9304c1f8 288552004-10-19 Hollis Blanchard <hollis@penguinppc.org>
28856
28857 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
28858 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
28859 -ffreestanding and -msoft-float.
28860
86f4ae25 288612004-10-15 Hollis Blanchard <hollis@penguinppc.org>
28862
28863 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
28864 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
28865 set in grub_ieee1275_flags.
28866
38912228 288672004-10-14 Hollis Blanchard <hollis@penguinppc.org>
28868
28869 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
28870 prototype.
28871 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
28872 grub_console_init first.
28873 Change the memory range used for grub_ieee1275_claim and
28874 grub_mm_init_region.
28875 Print an error message if the claim fails.
28876 Include <grub/misc.h>.
28877
d1923dc8 288782004-10-13 Hollis Blanchard <hollis@penguinppc.org>
28879
28880 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
28881 Call grub_children_iterate for device nodes of type `scsi',
28882 `ide', or `ata'.
28883 (grub_ofdisk_open): Remove manual device alias resolution.
28884 Fix memory leak when device cannot be opened.
f19dbdb7 28885 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 28886 (grub_children_iterate): New prototype.
28887 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
28888 New function.
28889 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28890 Return -1 if args.size was -1.
28891
4512e4f3 288922004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28893
28894 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
28895 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
28896 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
28897 Open Firmware's memory for it; claim memory from _start to _end.
28898 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
28899 (_end): New extern.
28900 (_start): Zero BSS from __bss_start to _end.
28901 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28902 New extern.
28903 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
28904
4d61feb0 289052004-10-11 Hollis Blanchard <hollis@penguinppc.org>
28906
ad0bd20b 28907 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
28908 -1 if args.base was -1.
4d61feb0 28909
026fa2f9 289102004-10-08 Hollis Blanchard <hollis@penguinppc.org>
28911
28912 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
28913 escape sequence instead of a literal ^L. Also call
28914 grub_ofconsole_gotoxy.
28915
9f2220ef 289162004-10-03 Hollis Blanchard <hollis@penguinppc.org>
28917
28918 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
28919 void * arguments to grub_addr_t. All callers updated. Also make
28920 the `result' argument optional.
28921 (grub_ieee1275_release): change void * arguments to grub_addr_t.
28922 All callers updated.
28923
8a572cd7 289242004-09-22 Hollis Blanchard <hollis@penguinppc.org>
28925
28926 * commands/ls.c (grub_ls_list_files): Use the string following the
28927 initial ')', if present, as the filesystem path.
28928 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
28929
28930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
28931
18aa81f2 289322004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
28933
28934 Make the source code of the menu interface more readable.
f19dbdb7 28935
18aa81f2 28936 * normal/menu.c: Include grub/mm.h.
28937 (TERM_WIDTH): New macro.
28938 (TERM_HEIGHT): Likewise.
28939 (TERM_INFO_HEIGHT): Likewise.
28940 (TERM_MARGIN): Likewise.
28941 (TERM_SCROLL_WIDTH): Likewise.
28942 (TERM_TOP_BORDER_Y): Likewise.
28943 (TERM_LEFT_BORDER_X): Likewise.
28944 (TERM_BORDER_WIDTH): Likewise.
28945 (TERM_MESSAGE_HEIGHT): Likewise.
28946 (TERM_BORDER_HEIGHT): Likewise.
28947 (TERM_NUM_ENTRIES): Likewise.
28948 (TERM_FIRST_ENTRY_Y): Likewise.
28949 (TERM_ENTRY_WIDTH): Likewise.
28950 (TERM_CURSOR_X): Likewise.
28951 (draw_border): Use macros instead of magic numbers.
28952 (print_entry): Likewise.
28953 (print_entries): Likewise.
28954 (run_menu): Likewise. Also, handle the key 'e'.
28955 (run_menu_entry): Ignore empty command lines.
28956 (print_message): Added a new argument EDIT. If EDIT is true,
28957 print a different message.
28958 (init_page): Likewise.
28959 (edit_menu_entry): New function. Not implemented yet.
28960
b47efe30 289612004-09-17 Marco Gerards <metgerards@student.han.nl>
28962
28963 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
28964 can be loaded from normal mode.
f19dbdb7 28965
b47efe30 28966 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
28967 `multiboot.mod'.
28968 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
28969 (multiboot_mod_CFLAGS): New variables.
28970 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 28971 * loader/i386/pc/multiboot_normal.c: Likewise.
28972
b47efe30 28973 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
28974 attribute `unused'.
f19dbdb7 28975
b47efe30 28976 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
28977 `fdiro' to read the mode information from instead of `diro'.
28978
28979 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
28980 looking up a symlink.
28981
28982 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
28983 macro.
28984 * normal/command.c (grub_command_execute): Don't parse the
28985 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
28986 flags of the command.
28987
28988 * normal/menu.c (grub_menu_run): Fix typo.
28989
da75ac71 289902004-09-14 Hollis Blanchard <hollis@penguinppc.org>
28991
28992 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
28993
28994 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
28995 `y + 1' instead of `y - 1'.
28996
28997 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 28998
062b24c2 289992004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
29000
29001 From Hollis Blanchard <hollis@penguinppc.org>:
29002 * kern/misc.c (memmove): New alias for grub_memmove.
29003 (memcmp): New alias for grub_memcmp.
29004 (memset): New alias for grub_memset.
f19dbdb7 29005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 29006 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 29007 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 29008 (grub_ieee1275_get_property): Likewise.
f19dbdb7 29009
8ddad845 290102004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
29011
29012 Added normal mode command `chainloader' as module chain.mod, which
29013 depends on normal.mod and _chain.mod.
f19dbdb7 29014
8ddad845 29015 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
29016 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
29017 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
29018 Deleted prototype.
29019 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
29020 but arguments parsing moved to ...
29021 (grub_chainloader_cmd): ... here. New function.
29022 * include/grub/i386/pc/chainloader.h: New file.
29023 * loader/i386/pc/chainloader_normal.c: Likewise.
29024
2c1f4ce3 290252004-09-11 Marco Gerards <metgerards@student.han.nl>
29026
29027 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
29028 (grub_mkimage_LDFLAGS): Likewise.
29029 (grub_emu_SOURCES): Likewise.
29030 (kernel_img_HEADERS): Added fshelp.h.
29031 * fs/ext2.c: Include <grub/fshelp.h>.
29032 (FILETYPE_REG): New macro.
29033 (FILETYPE_INO_REG): Likewise.
29034 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
29035 Changed all users.
29036 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
29037 all users.
29038 (grub_fshelp_node): New struct.
29039 (grub_ext2_data): Added member `diropen'. Changed member `inode'
29040 to a pointer.
29041 (grub_ext2_get_file_block): Removed function.
29042 (grub_ext2_read_block): New function.
29043 (grub_ext2_read_file): Replaced parameter `data' by `node'.
29044 This function was written.
29045 (grub_ext2_mount): Read the root inode. Create a diropen struct.
29046 (grub_ext2_find_file): Removed function.
29047 (grub_ext2_read_symlink): New function.
29048 (grub_ext2_iterate_dir): Likewise.
29049 (grub_ext2_open): Rewritten.
29050 (grub_ext2_dir): Rewritten.
29051 * include/grub/fshelp.h: New file.
29052 * fs/fshelp.c: Likewise.
29053
3c52136a 290542004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
29055
29056 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
29057 (print_message): Add a missing newline.
29058 (run_menu): Added timeout support.
29059 (run_menu_entry): New local function.
29060 (grub_menu_run): Added support for booting.
29061
29062 * kern/loader.c (grub_loader_is_loaded): New function.
29063
29064 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
29065 (grub_get_rtc): Exported.
29066
29067 * include/grub/i386/pc/time.h: Include grub/symbol.h.
29068 (grub_get_rtc): Exported.
29069
29070 * include/grub/normal.h (struct grub_command_list): Remove
29071 constant from the member `command'.
29072
29073 * include/grub/loader.h (grub_loader_is_loaded): Declared.
29074
29075 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
29076
29077 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
29078
aa033560 290792004-08-28 Marco Gerards <metgerards@student.han.nl>
29080
29081 Add support for the JFS filesystem.
29082
29083 * fs/jfs.c: New file.
29084 * include/grub/fs.h (grub_jfs_init): New prototype.
29085 (grub_jfs_fini): New prototype.
29086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
29087 (grub_emu_SOURCES): Likewise.
29088 (pkgdata_MODULES): Add jfs.mod.
29089 (jfs_mod_SOURCES): New variable.
29090 (jfs_mod_CFLAGS): Likewise.
29091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
29092 (grubof_SOURCES): Likewise.
29093 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
29094
29095 * fs/fat.c (grub_fat_find_dir): Convert the filename little
29096 endian to the host endian.
29097 (grub_fat_utf16_to_utf8): Move function from there...
29098 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 29099 the endianness of the source string anymore.
aa033560 29100 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
29101
94bc45af 291022004-08-24 Marco Gerards <metgerards@student.han.nl>
29103
29104 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
29105 (grub_boot_fini) [GRUB_UTIL]: Likewise.
29106 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
29107 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 29108
94bc45af 29109 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
29110 (grub_hfs_iterate_dir): Make the function static. Add prototypes
29111 for `node_found' and `it_dir'.
29112 (grub_hfs_dir): Add prototype for `dir_hook'.
29113
29114 * fs/minix.c (grub_minix_get_file_block): Add prototype for
29115 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
29116 and `indir32' to silence a gcc warning.
29117
29118 * include/grub/fs.h (grub_hfs_init): New prototype.
29119 (grub_hfs_fini): Likewise.
f19dbdb7 29120
29121
97543f08 291222004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29123
29124 Each disk device has its own id now. This is useful to make use
29125 of multiple disk devices.
f19dbdb7 29126
97543f08 29127 * include/grub/disk.h (grub_disk_dev_id): New enum.
29128 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
29129 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
29130
29131 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
29132 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29133
29134 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
29135 GRUB_DISK_DEVICE_OFDISK_ID as an id.
29136
29137 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
29138 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29139
29140 * include/grub/disk.h (struct grub_disk_dev): Added a new member
29141 "id" which is used by the cache manager.
29142
29143 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
29144 of just "GRUB".
29145
64372eb4 291462004-08-18 Marco Gerards <metgerards@student.han.nl>
29147
29148 * fs/hfs.c: New file.
29149 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
29150 (grub_emu_SOURCES): Likewise.
29151 (pkgdata_MODULES): Add hfs.mod.
29152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
29153 (grubof_SOURCES): Likewise.
29154 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
29155
29156 * include/grub/misc.h (grub_strncasecmp): Add prototype.
29157 * kern/misc.c (grub_strncasecmp): Add function.
29158
cc61b58f 291592004-08-14 Marco Gerards <metgerards@student.han.nl>
29160
29161 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
29162 with parentheses.
29163
29164 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
29165 (grub_ext2_dir): In case the directory entry type is unknown, read
29166 it from the inode.
29167
0ef123f6 291682004-08-02 Peter Bruin <pjbruin@dds.nl>
29169
29170 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
29171 grub_load_linux instead of grub_rescue_cmd_linux as second
29172 argument of grub_rescue_register_command.
29173
29174 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
29175
a447c5df 291762004-07-27 Marco Gerards <metgerards@student.han.nl>
29177
29178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
29179 function.
29180 * commands/boot.c: Remove the check for `GRUB_UTIL'.
29181 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29182 `loader/powerpc/ieee1275/linux.c',
29183 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
29184 * include/grub/powerpc/ieee1275/ieee1275.h
29185 (grub_ieee1275_release): New prototype.
29186 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
29187 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
29188 normal, boot, linux and linux_normal.
29189 * loader/powerpc/ieee1275/linux.c: New file.
29190 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29191
5a9e3546 291922004-07-12 Marco Gerards <metgerards@student.han.nl>
29193
29194 * normal/arg.c (grub_arg_parse): Correct error handling after
29195 reallocating the argumentlist (check if `argl' is not null instead
29196 of checking if `args' is not null).
29197 * kern/mm.c (grub_realloc): Return the same pointer when using the
29198 same region, instead of returning the header address.
29199
e15199cb 292002004-07-11 Marco Gerards <metgerards@student.han.nl>
29201
29202 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
29203 one block instead of two when looking for the initial partition.
29204 (grub_partition_probe): Initialize the local variable `p' with 0.
29205 Use base 10 for the grub_strtoul call.
29206 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
29207 need for one local variable.
29208 (grub_strtoul): Don't add the new value to `num', instead of that
29209 just assign it.
29210
020616c2 292112004-07-11 Marco Gerards <metgerards@student.han.nl>
29212
29213 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
29214 (pxeboot_img_SOURCES): New variable.
29215 (pxeboot_img_ASFLAGS): Likewise.
29216 (pxeboot_img_LDFLAGS): Likewise.
29217 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
29218 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
29219 <lode_leroy@hotmail.com>.
29220
6c51eb64 292212004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29222
29223 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
29224 there was no input.
29225
cfb12aff 292262004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29227
29228 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
29229 the history buffer logic.
29230
6eabba74 292312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29232
29233 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
29234 (FILETYPE_INO_SYMLINK): New macros.
29235 (grub_ext2_find_file): Check if the node is a directory using the
29236 inode stat information instead of using the filetype in the
29237 dirent. Exclude the first character of an absolute symlink.
29238 (grub_ext2_dir): Mask out the filetype part of the mode member of
29239 the inode.
29240
66e19ef8 292412004-05-24 Marco Gerards <metgerards@student.han.nl>
29242
29243 Add support for UFS version 1 and 2. Add support for the minix
29244 filesystem version 1 and 2, both the variants with 14 and 30 long
29245 filenames.
f19dbdb7 29246
66e19ef8 29247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
29248 fs/minix.c.
29249 (grub_emu_SOURCES): Likewise.
29250 (pkgdata_MODULES): Add ufs.mod and minix.mod.
29251 (ufs_mod_SOURCES): New variable.
29252 (ufs_mod_CFLAGS): Likewise.
29253 (minix_mod_SOURCES): Likewise.
29254 (minix_mod_CFLAGS): Likewise.
29255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
29256 fs/minix.c.
29257 (grubof_SOURCES): Likewise.
29258 * fs/ufs.c: New file.
29259 * fs/minix.c: New file.
29260 * include/grub/fs.h (grub_ufs_init): New prototype.
29261 (grub_ufs_fini): Likewise.
29262 (grub_minix_init): Likewise.
29263 (grub_minix_fini): Likewise.
29264 * util/grub-emu.c (main): Initialize and deinitialize UFS and
29265 minix fs.
29266
cc2e748a 292672004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
29268
29269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
29270 commands/ls.c, commands/terminal.c, commands/boot.c,
29271 commands/cmp.c and commands/cat.c.
29272 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
29273
29274 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
29275 "env.h"
29276
4b13b216 292772004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29278
29279 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
29280 and grub_, respectively. Because the conversion is trivial and
29281 mechanical, I omit the details here. Please refer to the CVS
29282 if you need more information.
29283
6a142551 292842004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29285
29286 * include/pupa: Renamed to ...
29287 * include/grub: ... this.
29288 * util/i386/pc/pupa-mkimage.c: Renamed to ...
29289 * util/i386/pc/grub-mkimage.c: ... this.
29290 * util/i386/pc/pupa-setup.c: Renamed to ...
29291 * util/i386/pc/grub-setup.c: ... this.
29292 * util/pupa-emu.c: Renamed to ...
29293 * util/grub-emu.c: ... this.
29294
e56cdf21 292952004-03-29 Marco Gerards <metgerards@student.han.nl>
29296
29297 Add support for the newworld apple macintosh (PPC). This has been
29298 tested on the powerbook 2000 only. It only adds support for
29299 generic ieee1275 functions, console and disk support. This should
29300 be easy to port to other architectures with support for Open
29301 Firmware.
f19dbdb7 29302
e56cdf21 29303 * configure.ac: Accept the powerpc as host_cpu. In the case of
29304 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
29305 specific tests are only executed while building for the i386.
29306 Inverse test for crosscompile.
29307 * genmk.rb (Utility): Allow assembler files.
29308 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
29309 * conf/powerpc-ieee1275.rmk: New file.
29310 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
29311 * disk/powerpc/ieee1275/partition.c: Likewise.
29312 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
29313 * include/pupa/powerpc/ieee1275/console.h: Likewise.
29314 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
29315 * include/pupa/powerpc/ieee1275/time.h: Likewise.
29316 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
29317 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
29318 * include/pupa/powerpc/ieee1275/loader.h
29319 * include/pupa/powerpc/setjmp.h: Likewise.
29320 * include/pupa/powerpc/types.h: Likewise.
29321 * kern/powerpc/ieee1275/init.c: Likewise.
29322 * kern/powerpc/ieee1275/openfw.c: Likewise.
29323 * term/powerpc/ieee1275/ofconsole.c: Likewise.
29324
29325 These files were written by Johan Rydberg
29326 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 29327
e56cdf21 29328 * boot/powerpc/ieee1275/cmain.c: New file.
29329 * boot/powerpc/ieee1275/crt0.S: Likewise.
29330 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
29331 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
29332
8c8cc205 293332004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
29334
29335 * Makefile.in: Update copyright.
29336 * genmodsrc.sh: Likewise.
29337 * gensymlist.sh: Likewise.
29338 * term/i386/pc/vga.c: Indent correctly.
29339
29340 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
29341 bugreporting address.
29342 * util/i386/pc/pupa-setup.c (usage): Likewise,
29343 (main): Call pupa_ext2_init and pupa_ext2_fini.
29344
f19dbdb7 29345 * fs/fat.c (log2): Renamed to ...
8c8cc205 29346 (fat_log2): ... this.
29347 All callers changed.
29348 * kern/misc.c (memcpy): Alias to pupa_memmove.
29349 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
29350 lvalue cast.
29351 * util/console.c (pupa_ncurses_fini): Return 0.
29352
29353 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
29354 Move fail label here.
29355 [__GNU__]: Don't warn when using stat.
29356 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
29357 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
29358 long int. Use strtol instead of strtoul.
f19dbdb7 29359
db1771cf 293602004-03-14 Marco Gerards <metgerards@student.han.nl>
29361
29362 * commands/boot.c: New file.
29363 * commands/cat.c: Likewise.
29364 * commands/cmp.c: Likewise.
29365 * commands/ls.c: Likewise.
29366 * commands/terminal.c: Likewise.
29367 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
29368 (pupa_register_command): Changed interface to match the new
29369 argument parser.
29370 (pupa_command_execute): Changed (almost rewritten) so it uses
29371 pupa_split_command. Added support for setting variables using the
29372 syntax `foo=bar'.
29373 (rescue_command): Changed to work with the new argument parser.
29374 (terminal_command): Moved from here to commands/terminal.c.
29375 (set_command): New function.
29376 (unset_command): New function.
29377 (insmod_command): New function.
29378 (rmmod_command): New function.
29379 (lsmod_command): New function.
29380 (pupa_command_init): Don't initialize the command terminal
29381 anymore. Initialize the commands set, unset, insmod, rmmod and
29382 lsmod.
29383 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
29384 (kernel_img_HEADERS): Add arg.h and env.h.
29385 (pupa_mkimage_LDFLAGS): Add kern/env.c.
29386 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
29387 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
29388 normal/arg.c.
29389 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
29390 terminal.mod.
29391 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
29392 (boot_mod_SOURCES): New variable.
29393 (terminal_mod_SOURCES): Likewise.
29394 (ls_mod_SOURCES): Likewise.
29395 (cmp_mod_SOURCES): Likewise.
29396 (cat_mod_SOURCES): Likewise.
29397
29398 * normal/arg.c: New file.
29399 * kern/env.c: Likewise.
29400 * include/pupa/arg.h: Likewise.
29401 * include/pupa/env.h: Likewise.
29402 * font/manager.c (font_command): Changed to match argument parsing
29403 interface changes.
29404 (PUPA_MOD_INIT): Likewise.
29405 * hello/hello.c (pupa_cmd_hello): Likewise.
29406 (PUPA_MOD_INIT): Likewise.
29407 * include/pupa/disk.h: Include <pupa/device.h>.
29408 (pupa_print_partinfo): New prototype.
29409 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
29410 (pupa_dl_get_prefix): Likewise.
29411 * include/pupa/misc.h: Include <pupa/err.h>.
29412 (pupa_isgraph): New prototype.
29413 (pupa_isdigit): Likewise.
29414 (pupa_split_cmdline): Likewise.
29415 * include/pupa/normal.h: Include <pupa/arg.h>.
29416 (pupa_command): Changed the prototype of the member `func' to
29417 match the argument parsing interface. Added member `options'.
29418 (pupa_register_command): Updated to match function.
29419 (pupa_arg_parse): New prototype.
29420 (pupa_hello_init) [PUPA_UTIL]: New prototype.
29421 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
29422 (pupa_ls_init) [PUPA_UTIL]: Likewise.
29423 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
29424 (pupa_cat_init) [PUPA_UTIL]: Likewise.
29425 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
29426 (pupa_boot_init) [PUPA_UTIL]: Likewise.
29427 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
29428 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
29429 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
29430 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
29431 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
29432 * kern/disk.c: Include <pupa/file.h>.
29433 (pupa_print_partinfo): New function.
29434 * kern/dl.c: Include <pupa/env.h>.
29435 (pupa_dl_dir): Variable removed.
29436 (pupa_dl_load): Use the environment variable `prefix' instead of
29437 the variable pupa_dl_dir.
29438 (pupa_dl_set_prefix): Function removed.
29439 (pupa_dl_get_prefix): Likewise.
29440 * kern/i386/pc/init.c: Include <pupa/env.h>.
29441 (pupa_machine_init): Use the environment variable `prefix' instead of
29442 using pupa_dl_set_prefix to set the prefix.
29443 * kern/main.c: Include <pupa/env.h>.
29444 (pupa_set_root_dev): Use the environment variable `prefix' instead of
29445 using pupa_dl_get_prefix to get the prefix.
29446 * kern/misc.c: Include <pupa/env.h>.
29447 (pupa_isdigit): New function.
29448 (pupa_isgraph): Likewise.
29449 (pupa_ftoa): Likewise.
29450 (pupa_vsprintf): Added support for printing values of the type
29451 `double'. Make it possible to format variable output when using
29452 formatting like `%1.2%f'.
29453 (pupa_split_cmdline): New function.
29454 * kern/rescue.c: Include <pupa/env.h>.
29455 (next_word): Removed function.
29456 (pupa_rescue_cmd_prefix): Likewise.
29457 (pupa_rescue_cmd_set): New function.
29458 (pupa_rescue_cmd_unset): New function.
29459 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
29460 split the command line instead of splitting it here. Added
29461 support for setting variables using the syntax `foo=bar'. Don't
29462 initialize the prefix command anymore. Initialized the set and
29463 unset commands.
29464 * normal/cmdline.c: Include <pupa/env.h>.
29465 (pupa_tab_complete): Added prototypes for print_simple_completion,
29466 print_partition_completion, add_completion, iterate_commands,
29467 iterate_dev, iterate_part and iterate_dir. Moved code to print
29468 partition information from here to kern/disk.c.
fe6b695a 29469 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 29470 * normal/main.c: Include <pupa/env.h>.
29471 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
29472 instead of using pupa_dl_get_prefix to get the prefix.
29473 * term/i386/pc/vga.c: Include <pupa/arg.h>.
29474 (check_vga_mem): Cast pointers to `void *' to silence a gcc
29475 warning.
29476 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
29477 (pupa_vga_setcolor): Declare unused variables with `__attribute__
29478 ((unused))' to silence a gcc warning.
29479 (pupa_vga_setcolor): Likewise.
29480 (debug_command): Changed to match argument parsing
29481 interface changes.
29482 * util/pupa-emu.c: Include <pupa/env.h>.
29483 (options): Added 0's for unused fields to silence a gcc warning.
29484 (argp): Likewise.
29485 (main): Use the environment variable `prefix' instead of using
29486 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
29487 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
29488 and terminal.
29489
29490 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
29491 * util/misc.c: Include <malloc.h>.
29492 (pupa_malloc): Rewritten so errors are correctly reported.
29493 (pupa_realloc): Likewise.
29494 (pupa_memalign): Likewise.
29495 (pupa_mm_init_region): Declare unused variables with
29496 `__attribute__ ((unused))' to silence a gcc warning.
29497 * normal/i386/setjmp.S: Remove tab at the end of the file to
29498 silence a gcc warning.
29499 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
29500 variables with `__attribute__ ((unused))' to silence a gcc
29501 warning.
29502 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
29503 local variable i unsigned to silence a gcc warning.
29504
29505 * kern/term.c: Include <pupa/misc.h>.
29506 (pupa_more_lines): New variable.
29507 (pupa_more): Likewise.
29508 (pupa_putcode): When the pager is active pause at the end of every
29509 screen.
29510 (pupa_set_more): New function.
29511 * include/pupa/term.h (pupa_set_more): New prototype.
29512
29513
3b1139cb 295142004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
29515
29516 Now this project is GRUB 2 rather than PUPA. The location of
29517 the CVS repository was moved to GRUB's.
f19dbdb7 29518
3b1139cb 29519 * configure.ac: Use bug-grub as the reporting address.
29520 Use GRUB instead of PUPA.
29521 Change the version number to 1.90.
29522
8367695c 295232004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
29524
29525 * genkernsyms.sh: Updated copyright information.
29526 * genmk.rb: Likewise.
29527 * genmodsrc.sh: Likewise.
29528 * gensymlist.sh: Likewise.
29529 * boot/i386/pc/boot.S: Likewise.
29530 * boot/i386/pc/diskboot.S: Likewise.
29531 * disk/i386/pc/biosdisk.c: Likewise.
29532 * disk/i386/pc/partition.c: Likewise.
29533 * font/manager.c: Likewise.
29534 * fs/ext2.c: Likewise.
29535 * fs/fat.c: Likewise.
29536 * include/pupa/boot.h: Likewise.
29537 * include/pupa/device.h: Likewise.
29538 * include/pupa/disk.h: Likewise.
29539 * include/pupa/dl.h: Likewise.
29540 * include/pupa/elf.h: Likewise.
29541 * include/pupa/err.h: Likewise.
29542 * include/pupa/file.h: Likewise.
29543 * include/pupa/font.h: Likewise.
29544 * include/pupa/fs.h: Likewise.
29545 * include/pupa/kernel.h: Likewise.
29546 * include/pupa/loader.h: Likewise.
29547 * include/pupa/misc.h: Likewise.
29548 * include/pupa/mm.h: Likewise.
29549 * include/pupa/net.h: Likewise.
29550 * include/pupa/normal.h: Likewise.
29551 * include/pupa/rescue.h: Likewise.
29552 * include/pupa/setjmp.h: Likewise.
29553 * include/pupa/symbol.h: Likewise.
29554 * include/pupa/term.h: Likewise.
29555 * include/pupa/types.h: Likewise.
29556 * include/pupa/i386/setjmp.h: Likewise.
29557 * include/pupa/i386/types.h: Likewise.
29558 * include/pupa/i386/pc/biosdisk.h: Likewise.
29559 * include/pupa/i386/pc/boot.h: Likewise.
29560 * include/pupa/i386/pc/console.h: Likewise.
29561 * include/pupa/i386/pc/init.h: Likewise.
29562 * include/pupa/i386/pc/kernel.h: Likewise.
29563 * include/pupa/i386/pc/linux.h: Likewise.
29564 * include/pupa/i386/pc/loader.h: Likewise.
29565 * include/pupa/i386/pc/memory.h: Likewise.
29566 * include/pupa/i386/pc/multiboot.h: Likewise.
29567 * include/pupa/i386/pc/partition.h: Likewise.
29568 * include/pupa/i386/pc/time.h: Likewise.
29569 * include/pupa/i386/pc/vga.h: Likewise.
29570 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
29571 * include/pupa/util/getroot.h: Likewise.
29572 * include/pupa/util/misc.h: Likewise.
29573 * include/pupa/util/resolve.h: Likewise.
29574 * kern/device.c: Likewise.
29575 * kern/disk.c: Likewise.
29576 * kern/dl.c: Likewise.
29577 * kern/err.c: Likewise.
29578 * kern/file.c: Likewise.
29579 * kern/fs.c: Likewise.
29580 * kern/loader.c: Likewise.
29581 * kern/main.c: Likewise.
29582 * kern/misc.c: Likewise.
29583 * kern/mm.c: Likewise.
29584 * kern/rescue.c: Likewise.
29585 * kern/term.c: Likewise.
29586 * kern/i386/dl.c: Likewise.
29587 * kern/i386/pc/init.c: Likewise.
29588 * kern/i386/pc/lzo1x.S: Likewise.
29589 * kern/i386/pc/startup.S: Likewise.
29590 * loader/i386/pc/chainloader.c: Likewise.
29591 * loader/i386/pc/linux.c: Likewise.
29592 * loader/i386/pc/multiboot.c: Likewise.
29593 * normal/cmdline.c: Likewise.
29594 * normal/command.c: Likewise.
29595 * normal/main.c: Likewise.
29596 * normal/menu.c: Likewise.
29597 * normal/i386/setjmp.S: Likewise.
29598 * term/i386/pc/console.c: Likewise.
29599 * term/i386/pc/vga.c: Likewise.
29600 * util/console.c: Likewise.
29601 * util/genmoddep.c: Likewise.
29602 * util/misc.c: Likewise.
29603 * util/pupa-emu.c: Likewise.
29604 * util/resolve.c: Likewise.
29605 * util/unifont2pff.rb: Likewise.
29606 * util/i386/pc/biosdisk.c: Likewise.
29607 * util/i386/pc/getroot.c: Likewise.
29608 * util/i386/pc/pupa-mkimage.c: Likewise.
29609 * util/i386/pc/pupa-setup.c: Likewise.
29610
e6eced71 296112004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
29612
29613 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
29614 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
29615 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
29616 reading and reset it after reading.
29617 (pupa_ext2_close): Return PUPA_ERR_NONE.
29618
29619 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
29620 Correct value.
29621 (struct linux_kernel_header): Add kernel_version and
29622 initrd_addr_max.
29623 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
29624 pupa_file_read succeeds.
29625 (pupa_rescue_cmd_initrd): Implement.
29626
5aded270 296272003-12-03 Marco Gerards <metgerards@student.han.nl>
29628
29629 * fs/ext2.c (pupa_ext2_label): New function.
29630 (pupa_ext2_fs): Added label.
29631 * fs/fat.c (pupa_fat_label): New function.
29632 (pupa_fat_fs): Added label.
29633 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
29634
29635 * kern/misc.c (pupa_strndup): New function.
29636 * include/pupa/misc.h (pupa_strndup): New prototype.
29637
29638 * include/pupa/normal.h: Include <pupa/err.h>.
29639 (pupa_set_history): New prototype.
29640 (pupa_iterate_commands): New prototype.
29641 * normal/cmdline.c: Include <pupa/machine/partition.h>,
29642 <pupa/disk.h>, <pupa/file.h>.
29643 (hist_size): New variable.
29644 (hist_lines): Likewise.
29645 (hist_end): Likewise.
29646 (hist_used): Likewise.
29647 (pupa_set_history): New function.
29648 (pupa_history_get): Likewise.
29649 (pupa_history_add): Likewise.
29650 (pupa_history_replace): Likewise.
29651 (pupa_tab_complete): Likewise.
29652 (pupa_cmdline_run): Added tab completion and history buffer. Tab
29653 completion shows partitionnames while completing partitions, this
29654 feature was suggested by Jeff Bailey.
29655 * normal/command.c (pupa_iterate_commands): New function.
29656 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
29657 (pupa_normal_init): Initialize history buffer.
29658 (PUPA_MOD_INIT): Likewise.
29659 (pupa_normal_fini): Free the history buffer.
29660 (PUPA_MOD_FINI): Likewise.
29661
29662 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
29663 key.
29664
29665 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
29666 * configure.ac [i386]: Check for regparam bug.
29667 (NESTED_FUNC_ATTR) [! i386]: Defined.
29668
1f7315a3 296692003-11-17 Marco Gerards <metgerards@student.han.nl>
29670
29671 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
29672 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
29673 (pupa_emu_SOURCES): New variable.
29674 (pupa_emu_LDFLAGS): Likewise.
29675 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
29676 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
29677 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
29678 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
29679 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
29680 (pupa_jmp_buf): New typedef.
29681 (pupa_setjmp) [PUPA_UTIL]: New macro.
29682 (pupa_longjmp) [PUPA_UTIL]: Likewise.
29683 * include/pupa/term.h (struct pupa_term): New member `refresh'.
29684 (pupa_refresh): New prototype.
29685 * include/pupa/util/getroot.h: New file.
29686 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
29687 it.
29688 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
29689 (pupa_rescue_cmd_cat): Likewise.
29690 (pupa_rescue_cmd_ls): Likewise.
29691 (pupa_rescue_cmd_testload): Likewise.
29692 (pupa_rescue_cmd_lsmod): Likewise.
29693 * normal/cmdline.c (pupa_cmdline_get): Likewise.
29694 * normal/menu.c (run_menu): Likewise.
29695 * kern/term.c (pupa_cls): Likewise.
29696 (pupa_refresh): New function.
29697 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
29698 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
29699 * util/console.c: New file.
f19dbdb7 29700
1f7315a3 29701 * util/i386/pc/getroot.c: New file.
29702 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
29703 (pupa_putchar): New function.
29704 (pupa_refresh): Likewise.
29705 (xgetcwd): Function moved to ...
29706 (strip_extra_slashes): Likewise.
29707 (get_prefix): Likewise.
f19dbdb7 29708 * util/i386/pc/getroot.c: ... here.
1f7315a3 29709 (find_root_device): Function moved and renamed to...
29710 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
29711 Changed all callers.
29712 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
29713 and renamed to...
29714 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
29715 Changed all callers.
29716 * util/misc.c (pupa_memalign): New function.
29717 (pupa_mm_init_region): Likewise.
29718 (pupa_register_exported_symbols): Likewise.
29719 (pupa_putchar): Function removed.
29720 * util/pupa-emu.c: New file.
29721
9a5c1ade 297222003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
29723
29724 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
29725 (_multiboot_mod_SOURCES): New variable.
29726 (_multiboot_mod_CFLAGS): Likewise.
29727 * loader/i386/pc/multiboot.c: New file.
29728 * include/pupa/i386/pc/multiboot.h: Likewise.
29729 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
29730 (pupa_multiboot_real_boot): New function.
29731 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
29732 (pupa_multiboot_real_boot): New prototype.
29733 (pupa_rescue_cmd_multiboot): Likewise
29734 (pupa_rescue_cmd_module): Likewise.
29735
29736 * kern/loader.c (pupa_loader_set): Continue when
29737 pupa_loader_unload_func() fails.
29738 (pupa_loader_unset): New function.
29739 * include/pupa/loader.h (pupa_loader_unset): New prototype.
29740
29741 * kern/misc.c (pupa_stpcpy): New function.
29742 * include/pupa/misc.h (pupa_stpcpy): New prototype.
29743
8e72a9c0 297442003-11-12 Marco Gerards <metgerards@student.han.nl>
29745
29746 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
29747 for available extensions.
29748
29749 * include/pupa/i386/pc/time.h: New file.
29750 * kern/disk.c: Include <pupa/machine/time.h>.
29751 (PUPA_CACHE_TIMEOUT): New macro.
29752 (pupa_last_time): New variable.
29753 (pupa_disk_open): Flush the cache when there was a timeout.
29754 (pupa_disk_close): Reset the timer.
29755 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
29756 pupa_currticks.
29757 * util/misc.c: Include <sys/times.h>
29758 (pupa_get_rtc): New function.
29759
c4adbd32 297602003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
29761
29762 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
29763 as blocks.
29764 (pupa_ext2_get_file_block): Use blocks member.
29765
29766 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
29767 first block. Return -1 instead of pupa_errno on error.
29768
bfd30f06 297692003-10-27 Marco Gerards <metgerards@student.han.nl>
29770
29771 * README: In the pupa-mkimage example use _chain instead of chain
29772 and ext2 instead of fat.
29773 * TODO: Replace ext2fs with jfs as an example. Add an item for
29774 adding journal playback for ext2fs.
29775 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
29776 (pkgdata_MODULES): Added ext2.mod.
29777 (ext2_mod_SOURCES): New variable.
29778 (ext2_mod_CFLAGS): Likewise.
29779 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
29780 * include/pupa/misc.h (pupa_strncpy): New prototype.
29781 (pupa_strcat): Likewise.
29782 (pupa_strncmp): Likewise.
29783 * kern/misc.c (pupa_strcat): Enable function.
29784 (pupa_strncpy): New function.
29785 (pupa_strncmp): Likewise.
29786 * fs/ext2.c: New file.
f19dbdb7 29787
bfd30f06 29788 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
29789 when the read failed before retrying.
29790 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
29791 (_FILE_OFFSET_BITS): Likewise.
29792 * configure.ac: Added AC_SYS_LARGEFILE.
29793
98d15063 297942003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29795
29796 * genmk.rb (PModule#rule): Make sure to get only symbol names
29797 from the output of nm.
59cad637 29798 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 29799
18d9c7cd 298002003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
29801
29802 I forgot to check in these changes for a long time. This adds
29803 incomplete support for VGA console, and this is still very
29804 buggy. Also, a lot of consideration is required for I18N,
29805 UNICODE, and VGA font issues. Therefore, assume that this is
29806 such that "better than nothing".
f19dbdb7 29807
18d9c7cd 29808 * font/manager.c: New file.
29809 * include/pupa/font.h: Likewise.
29810 * include/pupa/i386/pc/vga.h: Likewise.
29811 * term/i386/pc/vga.c: Likewise.
29812 * util/unifont2pff.rb: Likewise.
29813
29814 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
29815 (pkgdata_MODULES): Added vga.mod and font.mod.
29816 (vga_mod_SOURCES): New variables.
29817 (vga_mod_CFLAGS): Likewise.
29818 (font_mod_SOURCES): Likewise.
29819 (font_mod_CFLAGS): Likewise.
29820
29821 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
29822
29823 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 29824 (struct pupa_term): Added init and fini.
18d9c7cd 29825 Changed the argument of putchar to pupa_uint32_t.
29826
29827 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
29828 (pupa_console_real_putchar): New prototype.
29829 (pupa_console_putchar): Removed.
29830 (pupa_console_checkkey): Exported.
29831 (pupa_console_getkey): Likewise.
29832
29833 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
29834 characters.
29835
29836 * kern/term.c (pupa_term_set_current): Rewritten.
29837 (pupa_putchar): Likewise.
29838 (pupa_putcode): New function.
29839
29840 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
29841 (pupa_console_real_putchar): ... this.
29842 (pupa_vga_set_mode): New function.
29843 (pupa_vga_get_font): Likewise.
29844
29845 * normal/command.c: Include pupa/term.h.
29846 (terminal_command): New function.
29847 (pupa_command_init): Register the command "terminal".
29848
29849 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
29850 (DISP_UP): Likewise.
29851 (DISP_RIGHT): Likewise.
29852 (DISP_DOWN): Likewise.
29853 (DISP_HLINE): Likewise.
29854 (DISP_VLINE): Likewise.
29855 (DISP_UL): Likewise.
29856 (DISP_UR): Likewise.
29857 (DISP_LL): Likewise.
29858 (DISP_LR): Likewise.
29859
29860 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 29861
977329f5 298622003-02-08 NIIBE Yutaka <gniibe@m17n.org>
29863
29864 * util/resolve.c (pupa_util_resolve_dependencies): BUG
29865 FIX. Reverse the path_list.
29866
29867 * include/pupa/normal.h: Export pupa_register_command and
29868 pupa_unregister_command.
29869
29870 * hello/hello.c (pupa_cmd_hello): New module.
29871 * conf/i386-pc.rmk: Added hello.mod.
29872
1f5ab428 298732003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
29874
29875 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 29876
1f5ab428 29877 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
29878 (compress_kernel): New variable.
29879 (generate_image): Heavily modified to support compressing a
29880 large part of the core image.
29881
29882 * util/misc.c (pupa_util_read_image): Fix a file descriptor
29883 leak.
29884 (pupa_util_load_image): New function.
29885
29886 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
29887 (pupa_compressed_size): New variable.
29888 (codestart): Enable Gate A20 here.
29889 Decompress the compressed part of the core image.
29890 Rearrange the code to put functions and variables which are
29891 required for initialization in the non-compressed part.
29892 Include lzo1x.S.
29893
29894 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
29895 here.
29896
29897 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
29898
f19dbdb7 29899 * include/pupa/i386/pc/kernel.h
1f5ab428 29900 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
29901 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
29902 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
29903 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
29904 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
29905
29906 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
29907
29908 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
29909 (Utility#rule): Likewise.
29910
29911 * configure.ac: Check if LZO is available.
29912
ce5bf700 299132003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
29914
29915 * include/pupa/normal.h: New file.
29916 * include/pupa/setjmp.h: Likewise.
29917 * include/pupa/i386/setjmp.h: Likewise.
29918 * normal/cmdline.c: Likewise.
29919 * normal/command.c: Likewise.
29920 * normal/main.c: Likewise.
29921 * normal/menu.c: Likewise.
29922 * normal/i386/setjmp.S: Likewise.
f19dbdb7 29923
ce5bf700 29924 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
29925 (pupa_rescue_cmd_initrd): Likewise.
29926
29927 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
29928 Likewise.
29929
29930 * kern/i386/pc/startup.S (translation_table): New variable.
29931 (translate_keycode): New function.
29932 (pupa_console_getkey): Call translate_keycode.
29933
29934 * kern/rescue.c (attempt_normal_mode): New function.
29935 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
29936 it failed, print a message.
29937
29938 * kern/mm.c (pupa_real_malloc): Print more information when a
29939 free magic is broken.
29940 (pupa_free): If the first free header is not free actually, set
29941 it to P.
29942
29943 * kern/main.c (pupa_load_normal_mode): Just load the module
29944 "normal".
29945 (pupa_main): Don't print the message
29946 "Entering into rescue mode..." here.
29947
29948 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
29949 Declared.
29950 (pupa_rescue_cmd_initrd): Likewise.
29951 (pupa_rescue_cmd_initrd): Likewise.
29952
29953 * include/pupa/symbol.h (FUNCTION): Specify the type.
29954 (VARIABLE): Likewise.
29955
29956 * include/pupa/err.h (pupa_err_t): Added
29957 PUPA_ERR_UNKNOWN_COMMAND.
29958
29959 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
29960 (pupa_dl_get_prefix): Likewise.
29961
29962 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
29963 Added _chain.mod and _linux.mod instead of chain.mod and
29964 linux.mod.
29965 (chain_mod_SOURCES): Renamed to ...
29966 (_chain_mod_SOURCES): ... this.
29967 (chain_mod_CFLAGS): Renamed to ...
29968 (_chain_mod_CFLAGS): ... this.
29969 (linux_mod_SOURCES): Renamed to ...
29970 (_linux_mod_SOURCES): ... this.
29971 (linux_mod_CFLAGS): Renamed to ...
29972 (_linux_mod_CFLAGS): ... this.
29973 (normal_mod_SOURCES): New variable.
29974 (normal_mod_CFLAGS): Likewise.
29975 (normal_mod_ASFLAGS): Likewise.
29976
299772003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
29978
29979 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
29980 possible.
29981
fe6b695a 29982 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 29983 recursively.
29984 (pupa_dl_unref): Unrefer depending modules recursively.
29985 Don't call pupa_dl_unload implicitly, because PUPA can crash if
29986 a module is unloaded before one depending on that module is
29987 unloaded.
29988 (pupa_dl_unload): Unload depending modules explicitly,
29989 if possible.
29990
c04da074 299912003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
29992
29993 * include/pupa/i386/pc/linux.h: New file.
29994 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 29995
c04da074 29996 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
29997 Removed.
29998 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
29999 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
30000 of PUPA_CHAINLOADER_BOOT_SECTOR.
30001
30002 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
30003 (pupa_linux_prot_size): New variable.
30004 (pupa_linux_tmp_addr): Likewise.
30005 (pupa_linux_real_addr): Likewise.
30006 (pupa_linux_boot_zimage): New function.
30007 (pupa_linux_boot_bzimage): Likewise.
30008
30009 * kern/i386/pc/init.c (struct mem_region): New structure.
30010 (MAX_REGIONS): New macro.
30011 (mem_regions): New variable.
30012 (num_regions): Likewise.
30013 (pupa_os_area_addr): Likewise.
30014 (pupa_os_area_size): Likewise.
30015 (pupa_lower_mem): Likewise.
30016 (pupa_upper_mem): Likewise.
30017 (add_mem_region): New function.
30018 (compact_mem_regions): Likewise.
30019 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
30020 the size of the conventional memory and that of so-called upper
30021 memory (before the first memory hole).
30022 Instead of adding each found region to free memory, use
30023 add_mem_region and add them after removing overlaps.
30024 Also, add only 1/4 of the upper memory to free memory. The rest
30025 is used for loading OS images. Maybe this is ad hoc, but this
30026 makes it much easier to relocate OS images when booting.
30027
30028 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
30029 (pupa_enter_rescue_mode): Don't register initrd and module.
30030
30031 * kern/mm.c: Include pupa/dl.h.
30032
30033 * kern/main.c: Include pupa/file.h and pupa/device.h.
30034
30035 * kern/loader.c (pupa_loader_load_module_func): Removed.
30036 (pupa_loader_load_module): Likewise.
30037
30038 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
30039 ``.o''.
30040
30041 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
30042 (pupa_linux_tmp_addr): Likewise.
30043 (pupa_linux_real_addr): Likewise.
30044 (pupa_linux_boot_zimage): Likewise.
30045 (pupa_linux_boot_bzimage): Likewise.
30046
30047 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
30048 (pupa_upper_mem): Likewise.
30049 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
30050 module is too dangerous.
30051
30052 * include/pupa/loader.h (pupa_os_area_addr): Declared.
30053 (pupa_os_area_size): Likewise.
30054 (pupa_loader_set): Remove the first argument. Loader doesn't
30055 manage modules or initrd any longer.
30056 (pupa_loader_load_module): Removed.
30057
30058 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
30059 (linux_mod_SOURCES): New variable.
30060 (linux_mod_CFLAGS): Likewise.
30061
a13f9237 300622003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
30063
30064 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
30065 the length of a blocklist correctly.
30066
30067 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
30068 Use ioctl only if the OS file is a block device.
30069 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
30070 not very useful for normal files.
30071
30072 * kern/main.c (pupa_set_root_dev): New function.
30073 (pupa_load_normal_mode): Likewise.
30074 (pupa_main): Call those above.
30075
30076 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
30077 pupa_uint16_t.
30078
30079 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
30080
a5ffe966 300812003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30082
30083 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
30084 (setup): Configure the installed partition information and the
30085 dl prefix.
30086
30087 * loader/i386/pc/chainloader.c (my_mod): New variable.
30088 (pupa_chainloader_unload): New function.
30089 (pupa_rescue_cmd_chainloader): Refer itself.
30090 (PUPA_MOD_INIT): Save its own module in MY_MOD.
30091
30092 * kern/i386/pc/startup.S (install_partition): Removed.
30093 (version_string): Likewise.
30094 (config_file): Likewise.
30095 (pupa_install_dos_part): New variable.
30096 (pupa_install_bsd_part): Likewise.
30097 (pupa_prefix): Likewise.
30098 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
30099
30100 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
30101 and pupa/misc.h.
30102 (make_install_device): New function.
30103 (pupa_machine_init): Set the dl prefix.
30104
30105 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
30106 (buf): Renamed to ...
30107 (linebuf): ... this.
30108 (pupa_rescue_cmd_prefix): New function.
30109 (pupa_rescue_cmd_insmod): Likewise.
30110 (pupa_rescue_cmd_rmmod): Likewise.
30111 (pupa_rescue_cmd_lsmod): Likewise.
30112 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
30113 rmmod and lsmod.
30114
30115 * kern/mm.c (pupa_memalign): If failed even after invalidating
30116 disk caches, unload unneeded modules and retry.
30117
30118 * kern/misc.c (pupa_memmove): New function.
30119 (pupa_memcpy): Removed.
30120 (pupa_strcpy): New function.
30121 (pupa_itoa): Made static.
30122
30123 * kern/dl.c (pupa_dl_iterate): New function.
30124 (pupa_dl_ref): Likewise.
30125 (pupa_dl_unref): Likewise.
30126 (pupa_dl_unload): Return if succeeded or not.
30127 (pupa_dl_unload_unneeded): New function.
30128 (pupa_dl_unload_all): Likewise.
30129 (pupa_dl_init): Renamed to ...
30130 (pupa_dl_set_prefix): ... this.
30131 (pupa_dl_get_prefix): New function.
30132
30133 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
30134 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
30135 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30136 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30137 (pupa_install_dos_part): Declared.
30138 (pupa_install_bsd_part): Likewise.
30139 (pupa_prefix): Likewise.
30140 (pupa_boot_drive): Likewise.
30141
30142 * include/pupa/types.h: Fix a typo.
30143
30144 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
30145 pupa_memmove.
30146 (pupa_memmove): Declared.
30147 (pupa_strcpy): Likewise.
30148
30149 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
30150 pupa_mod_init takes one argument, its own module.
30151 (pupa_dl_unload_unneeded): Declared.
30152 (pupa_dl_unload_all): Likewise.
30153 (pupa_dl_ref): Likewise.
30154 (pupa_dl_unref): Likewise.
30155 (pupa_dl_iterate): Likewise.
30156 (pupa_dl_init): Renamed to ...
30157 (pupa_dl_set_prefix): ... this.
30158 (pupa_dl_get_prefix): Declared.
30159
30160 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 30161 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 30162 unloaded.
30163 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
30164 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
30165
30166 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
30167 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
30168
012d7999 301692003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30170
30171 * util/i386/pc/pupa-setup.c (setup): Define the internal
30172 function find_first_partition_start at the top level, because GCC
30173 3.0.x cannot compile internal functions in deeper scopes
30174 correctly.
30175 (find_root_device): Use lstat instead of stat.
30176 Don't follow symbolic links.
30177 Fix the path-constructing code.
30178
30179 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
30180 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
30181 by a BLKGETSIZE ioctl first, because block devices don't fill
30182 the member st_mode of the structure stat on Linux.
30183 [__linux__] (linux_find_partition): Use a temporary buffer
30184 REAL_DEV for the working space. Copy it to DEV before returning.
30185 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
30186 buffer cache consistent.
30187 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
30188 strncmp. The previous value was merely wrong.
30189 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
30190
30191 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
30192 FAT size is 12. The previous value was merely wrong.
30193
30194 * kern/main.c (pupa_main): Don't split the starting message from
30195 newlines.
30196
30197 * kern/term.c (pupa_putchar): Put CR after LF instead of before
30198 LF, because BIOS goes crazy about character attributes in this
30199 case.
30200
1cc73a62 302012003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30202
30203 * include/i386/pc/util/biosdisk.h: New file.
30204 * util/i386/pc/biosdisk.c: Likewise.
30205 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 30206
1cc73a62 30207 * Makefile.in (INCLUDE_DISTFILES): Added
30208 include/pupa/i386/pc/util/biosdisk.h.
30209 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
30210 directory util/i386/pc.
30211 (install-local): Added a rule for sbin_UTILITIES.
30212 (uninstall): Likewise.
30213
30214 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
30215
30216 * util/misc.c (xrealloc): New function.
30217 (pupa_malloc): Likewise.
30218 (pupa_free): Likewise.
30219 (pupa_realloc): Likewise.
30220 (pupa_stop): Likewise.
30221 (pupa_putchar): Likewise.
30222
30223 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
30224
30225 * include/pupa/util/misc.h (xrealloc): Declared.
30226
30227 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
30228 macro.
30229 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
30230 (PUPA_BOOT_MACHINE_BPB_END): ... this.
30231
30232 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
30233 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30234
30235 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
30236 way should be implemented.
30237 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30238
30239 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
30240 the size of NAME for safety.
30241 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
30242 0x88.
30243
30244 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
30245 (pupa_setup_SOURCES): Likewise.
30246
30247 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
30248
08b70fe8 302492002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
30250
30251 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
30252 bunch of pushl's from pusha, because this destroys the return
30253 value.
30254
62ddcc8f 302552002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
30256
30257 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
30258 This means that any missing prototypes could be fatal. Also, you
30259 must take care when writing assembly code. See the comments at
30260 the beginning of startup.S, for more details.
f19dbdb7 30261
62ddcc8f 30262 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
30263 compilation mechanism.
30264 (pupa_chainloader_real_boot): Likewise.
30265 (pupa_biosdisk_rw_int13_extensions): Likewise.
30266 (pupa_biosdisk_rw_standard): Likewise.
30267 (pupa_biosdisk_check_int13_extensions): Likewise.
30268 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
30269 (pupa_biosdisk_get_diskinfo_standard): Likewise.
30270 (pupa_get_memsize): Likewise.
30271 (pupa_get_mmap_entry): Likewise.
30272 (pupa_console_putchar): Likewise.
30273 (pupa_console_setcursor): Likewise.
30274 (pupa_getrtsecs): Use pushl instead of push.
30275
30276 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
30277 memory instead of the stack for a mmap entry, because some
30278 BIOSes may ignore the maximum size and overflow.
30279
30280 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
30281
30282 * genmk.rb (PModule#rule): Compile automatically generated
30283 sources with module-specific CFLAGS as well as other sources.
30284
9962ed99 302852002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30286
30287 * configure.ac: Check ld.
30288 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
30289 respectively, before checking endianness and sizes.
30290
30291 * Makefile.in (LD): New variable.
f19dbdb7 30292
abdfc3c5 302932002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30294
30295 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
30296
6a161fa9 302972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
30298
30299 * Changelog: New file.
30300